foundation

PURPOSE

Presentation of the Foundation production project line dedicated to build and deliver CYBNITY specification and implementation components versions.

Feature specifications API versions (e.g interface versions) are delivered according to requirements and specification identified by MVF project line’s prototyping results.

Feature implementations versions are designed and delivered as official Foundation Core implementation software.

Sources Structure

Implementation components projects are structured and built according to standards:

The implementation projects are supported by an Official TechStack version defining the authorized technologies used by any the software sub-project.

COCKPIT-FOUNDATION COMPONENTS

The source codes managed in this area of Foundation project are about the capabilities provided to the users (e.g web ui services provided to user’s web browser) via the user interface layer.

The implementation source codes realizes interactive functions provided by UI Modules (UI layer providing functional or technical capabilities) to deliver User eXperiences (UX) to the solution final users of CYBNITY solutions.

Some shared deployable modules (e. endpoints) are also implemented at the UI layer level:

image

image

APPLICATION COMPONENTS

The source codes managed in this independent projects are dedicated to each CYBNITY applicative domain. Each application module dedicated repository manages its source codes structure via repositories with prefix “domain-“:

Each application domain distributed into the Application Layer aggregates deployable implementation components:

image

FEATURE COMPONENTS

The features implementation modules providing services which can be embedded by an application domain and/or can be exposed as reusable/common/shared function at one or several layers of the CYBNITY software.

The implementation source codes mainly are Java libraries which can be reused.

For example, a common feature library can be embedded into an application domain or can be independently deployed as a micro-service serving several application domain (e.g as a cluster of a specific technical feature instances).

Several categories of features are implemented through Java libraries regarding:

Domain Layer

Each application domain can more or less separate its features in micro-services as deployable Feature Modules to manage the processing parallelization via Real-Time Stream Computation Units. image

image

Runtime Model of Feature Components

The scalability required by a specific feature component is supported by the implementation of a runtime model that include the deployment of a set of micro-service instances regarding it. image

INFRASTRUCTURE COMPONENTS

The source code managed in this area are about the infrastructure components supporting the features and applications modules. For example, the implementation source code of an adapter client to a monitoring server (e.g proprietary solution integrated with CYBNITY over a connection adapter and/or via a protocol compatibility implementation) is provided as an infrastructure module.

Mainly, the Infrastructure Modules are provided as Java libraries of adaptation client implementations modules.

Several categories of infrastructure technologies are managed in terms of implementation codes:

Any implementation component can be categorized as a Technical Service (implementation code executing a behavior, or implementation of a system client as adapter implementation module) or as a Integration API (when exposing a CYBNITY API exposed to other systems as an input/output point via a standardized protocol).

Shared Infrastructure Services

For example, the infrastructure implementation modules allow to manage the dependency with common systems reused (e.g based on open source and/or proprietary partners software instances) into a CYBNITY solution architecture deployment. image

Common Transversal Components

Example of common event-based principles using a common infrastructure library regarding generic event. image

DEPLOYABLE & RUNNABLE MODULES

Several types of applicative or infrastructure modules are developed and containerized as executable systems which can be deployed and operated on standalone (e.g OS on laptop, virtualized hardware) or on cloudified hardware platforms (e.g Kubernetes, OVH Cloud hosting, public cloud).

See for more detail in systems architecture documentation about the implementation modules and packaged systems constituting the CYBNITY software suite.