mNo edit summary
mNo edit summary
Line 5: Line 5:
The essential services that every distributed system should include are:
The essential services that every distributed system should include are:


* '''Federation:''' supported by [[amidas|Amidas framework]], which provides the infrastructure and tools necessary for implementing robust federation services, including user registration, authentication, and authorization processes.
* '''Federation:''' supported by [[amidas|Amidas framework]], this service provides the infrastructure and tools necessary for implementing robust federation services, including user registration, authentication, and authorization processes.
*'''Analytics:''' supported by [[sumus|Sumus framework]], which is specifically designed to handle the complexities of business intelligence services.
*'''Analytics:''' supported by [[sumus|Sumus framework]], this service is specifically designed to handle the complexities of business intelligence services.
*'''Taskhub:''' supported by the [[monet| Monet framework]], which addresses the need for handling manual tasks within automated workflows.
*'''Taskhub:''' supported by the [[monet| Monet framework]], this service addresses the need for handling manual tasks within automated workflows.
*'''Business Units:''' supported by [[magritte|Magritte framework]] which is oriented the development of business models using the [[proteo|Proteo DSL]. Magritte facilitates the automatic generation of code based on these models, ensuring that the business logic is accurately implemented and maintained.
*'''Business Units:''' supported by [[magritte|Magritte framework], several services represent the business logic.
*'''Datahub:''' supported by [[ness|Ness framework], this service is a central component that acts as the backbone for data management within the distributed system. The Datahub is supported by a [https://en.wikipedia.org/wiki/Message_broker message broker] that manages events, efficiently handling the ingestion, processing, and routing of events across the system. Additionally, it incorporates a [https://en.wikipedia.org/wiki/Data_lake datalake] where these events are stored. This datalake serves as a repository for structured and unstructured data




Line 24: Line 25:
Intino provides a suite of specialized DSLs designed to streamline different facets of its technology framework, enhancing both development and operational efficiency.  
Intino provides a suite of specialized DSLs designed to streamline different facets of its technology framework, enhancing both development and operational efficiency.  


* '''[[proteo|Proteo]]''' is used for defining the business model, providing clear specifications of data structures and relationships critical for consistent application across platforms.  
* '''[[ness|Ness DSL]]''' Ness focuses on creating the structure for the datalake, which is crucial for supporting big data analytics and real-time data processing. It also defines the taxonomy of events within the system, ensuring that events are categorized and managed effectively for easy retrieval and analysis.
* '''[[konos|Konos]]''' facilitates the integration of business logic with external services by defining layers that handle interactions, such as APIs, user interfaces, and business processes. For the deployment and management of software artifacts,  
* '''[[proteo|Proteo DSL]]''' is used for defining the business model, providing clear specifications of data structures and relationships critical for consistent application across platforms.  
* '''[[legio|Legio]]''' orchestrates the project model, handling dependencies and configurations akin to a project object model.
* '''[[konos|Konos DSL]]''' facilitates the integration of business logic with external services by defining layers that handle interactions, such as APIs, user interfaces, and business processes. For the deployment and management of software artifacts,  
* '''[[ness|Ness]]''' Ness focuses on creating the structure for the datalake, which is crucial for supporting big data analytics and real-time data processing. It also defines the taxonomy of events within the system, ensuring that events are categorized and managed effectively for easy retrieval and analysis.
* '''[[legio|Legio DSL]]''' orchestrates the project model, handling dependencies and configurations akin to a project object model.

Revision as of 08:07, 14 May 2024

The ultimate goal of Intino is to develop a distributed system following big data architecture principles. Every distributed system should begin with a clear definition of the system and its structure. By doing it, organizations can lay the groundwork for a successful distributed system. This approach ensures that all subsequent development aligns with the desired architecture, leading to a cohesive and maintainable solution.

Intino's approach to developing distributed systems is grounded in the principles of service-oriented architecture (SOA), where the system is structured as a collection of services that communicate through well-defined interfaces. These services are designed to be loosely coupled yet functionally cohesive, allowing for greater flexibility and scalability. In line with this architectural strategy, Intino provides a series of frameworks that serve as foundational tools for extending functionality across its distributed system architecture. These frameworks are inherently extensible, offering a base structure and a suite of functionalities that specific modules or business units can customize and build upon according to their unique requirements. This approach not only facilitates the modular development of services but also enhances the ability of the system to integrate and adapt to changing business needs, thereby embodying the core characteristics of SOA.

The essential services that every distributed system should include are:

  • Federation: supported by Amidas framework, this service provides the infrastructure and tools necessary for implementing robust federation services, including user registration, authentication, and authorization processes.
  • Analytics: supported by Sumus framework, this service is specifically designed to handle the complexities of business intelligence services.
  • Taskhub: supported by the Monet framework, this service addresses the need for handling manual tasks within automated workflows.
  • Business Units: supported by [[magritte|Magritte framework], several services represent the business logic.
  • Datahub: supported by [[ness|Ness framework], this service is a central component that acts as the backbone for data management within the distributed system. The Datahub is supported by a message broker that manages events, efficiently handling the ingestion, processing, and routing of events across the system. Additionally, it incorporates a datalake where these events are stored. This datalake serves as a repository for structured and unstructured data


Architecture.
Architecture.


Frameworks

A framework in the context of software development is a comprehensive toolset that offers a structured way to build and manage applications. Unlike standalone libraries, frameworks dictate the architecture of your application. This inversion of control, where the framework calls your code rather than your code calling the framework, simplifies the development of complex functionalities and ensures consistency across different parts of the application.

Intino provides a series of frameworks that serve as foundational tools for extending functionality across its distributed system architecture. These frameworks are designed to be extensible, meaning they provide a base structure and set of functionalities that services can customize and build upon according to their unique requirements.

DSLs

A significant aspect of Intino's vision is its reliance on Domain-Specific Languages (DSLs). A DSL is a programming language tailored to a specific application domain. Unlike general-purpose programming languages, which are designed to be versatile and applicable to various tasks, DSLs focus on solving particular problems or tasks.

Intino provides a suite of specialized DSLs designed to streamline different facets of its technology framework, enhancing both development and operational efficiency.

  • Ness DSL Ness focuses on creating the structure for the datalake, which is crucial for supporting big data analytics and real-time data processing. It also defines the taxonomy of events within the system, ensuring that events are categorized and managed effectively for easy retrieval and analysis.
  • Proteo DSL is used for defining the business model, providing clear specifications of data structures and relationships critical for consistent application across platforms.
  • Konos DSL facilitates the integration of business logic with external services by defining layers that handle interactions, such as APIs, user interfaces, and business processes. For the deployment and management of software artifacts,
  • Legio DSL orchestrates the project model, handling dependencies and configurations akin to a project object model.