Design components

Organizations

Organization is a unit responsible for building particular software systems. Organization has a list of software systems and settings that are kept throughout the systems. One of the major settings is definition of the platform. Platform can be a service, software or hardware system (MS SQL Server, Hadoop, AWS, Redshift, etc.) Organization is a root object for all other objects inside it. Only people registered as team members of the organization have access to any Organization properties. Team members can be ‘defined’ and ‘invited’ to join the organization.

Systems

System specifies a set of applications maintained together as one unit. System’s applications are deployed and then evolve as one logical unit. The system architect defines each System and its applications. System has a set of configuration settings which can be used by all the applications specified to be a part of this system. The system architect has the capability to govern a team of developers who work on system components, and define a topology of platforms required for the system to execute, as well as deployment environments.

Applications

Application represents a service or component with a well-defined functionality. Application maintains datasets and provides interfaces to gain access to data or the functionality implemented by Application. Application architects and developers can specify a complete set of metadata for the data used by the application and interfaces. Application contains built-in documentation which defines the design and architecture of an application’s components.

Developers of the particular Application can publish data and interfaces available for external applications. In order to provide access to data used by the application and functionality of the application, the developer or architect must create a “publication object,” which specifies what part of data or interfaces can be accessible by external applications.

In order to gain access to the published data or interfaces, an application must create subscription to the publication object. Approved subscription in fact establishes a ‘contract’ for accessing of the published data.

Publications

Publication defines the datasets and interfaces accessible from other applications. The layout and set of exposed fields needs to be specified for the dataset to be published. The set of accessible functions needs to be specified for interfaces publications. A contract needs to be defined for every published layout in order to specify the way data can be accessed as well as all the settings required for contract execution. Publication is a versioned object.

Subscriptions

Subscription is required to enable each application to access the data published by another application. Subscription defines what datasets, layouts, fields and functions will be used. Each Subscription must be approved by the architect of the published application. Subscription can be created for the latest version of publication only.

Collaboration

The collaboration environment provides powerful issues management (issues prioritization, severity levels, logs and tracking), approvals workflow and team messaging. The messaging environment includes reviews of the objects (datasets, publications, etc.) and comments.

JSON documents

JSON documents transform metadata into an organic part of the applications source code.


All the DifHub features and the collaboration environment are easily accessible using the front page control panel

You can register and start using DifHub immediately

Try it now