Cloras architecture incorporates a structural design consisting of different components, arranged in hierarchical layers to satisfy users' integration needs. It is designed and developed with units such as APIs, Flows, schedulers and other elements that communicate with each other to establish and synchronize data between different systems. The Cloras architecture facilitates scalability as "n" number of systems can be connected to the underlying framework.
The various Cloras components can be categorized into four layers - Presentation Layer, Business Layer, Domain Layer, and Database Layer.
Users are directly involved with the Presentation layer. It is the topmost layer in the four-layer stack and does not hold any business logic. This layer basically contains HTML templates, CSS and JS files. Dynamic calls can also be made from the browser or via AJAX calls.
The Presentation Layer acts as an interface between the users and the product itself. Users can initiate any action from this layer, which then flows into further layers and gets accomplished completely.
The Presentation layer communicates with the Processor and the listener of the Business layer to implement the respective business logic. Service Consumers can communicate with the business layer only if it is authorized. Cloras supports authentication mechanisms like JSON Web Tokens(JWT, RFC 7519) and Basic Authentication (RFC 7617) to authenticate service consumers.
This layer holds the whole application's business logic for synchronizing data between systems. The Processor uses different modules (Flows, API & System Builder) to implement the connection between systems. This layer communicates with the Domain layer for database related activities.
This layer also contains the Listener which actively listens for dynamic calls from different systems. Also, Processor directly communicates with Auto Pilot Scheduler to schedule and run the synchronization at configured intervals.
This layer establishes communication with different systems (such as ERP, CRM, eCommerce, etc.) based on the Flows configured to the pipe. The authentication mechanism varies from system to system like OAuth1(RFC 5849), OAuth2(RFC 6749), Basic Authentication(RFC 7617), Bearer Token(RFC 6750), NTLM Authentication and so on.
Domain layer is made up of ORM (Schema Models), Serializers and De-serializers. This acts as an intermediate layer between the Business layer and Database layer since the former layer should not directly communicate with the Database layer.
Schema Models helps in validating, formatting and customizing the data.
Database layer is the underlying layer which holds the application data.