INTER-FW global architecture

The following picture depicts the overall architectural approach in INTER-FW. As mentioned in the introduction, this guide is exclusively focused in the Configuration and Management Framework and cross-layers components as other modules of INTER-FW are documented in different parts of these docs.

inter-fw overall architecture

Review the architecture diagram, adjust more to the final delivery

In the figure, three main blocks concernign INTER-FW can be differentiated:

  • Extension Framework (also referenced in the docuementation as software development framework): It is a compilation of documentation (for instance, these docs), pre-defined examples to implement or expand INTER-IoT features, IDE integrated templates and archtypes and an annotation framework developed to ensure the discovery of classes and resources discovery in runtime in modules as INTER-MW.
  • INTER-API and API management: These modules are devoted to the global multi-layer API for building interoperable IoT scenarios and services. The INTER-API module exposes this API in a uniform,understandable and easy to use way while the API Manager is focused in automation and control of connections between the API and applications that use it, ensuring consistency between multiple API implementations and versions, traffic monitoring from individual applications, wrapping of the API into security procedures and policies (in connection with the identity server, and sandbox environment for developers. Coupled with good API documentation, it enables potential customers to try the API out.
  • INTER-FW Foundation: This is the set of modules that implement the basic features of the framework, such as
    • Access to layer APIs: control and call layer internal APIs when needed
    • User management: user account management, including user details and credentials.
    • Authentication: single sign-on managemement, OAUTH token generation and administration.
    • Authorization: XACML based permission policies administration.
    • Layer deployment and configuration: management of new artifacts in each layer, including configuration (through API calls or through config files administration, depending on the layer implementation).
    • Layer management: administration of single or multiple instances of the layers working together.