FI-WARE Architecture

From FI-WARE Forge Wiki

Jump to: navigation, search

Following is a description of the Reference Architecture linked to the different chapters of FI-WARE. A description of FI-WARE Generic Enablers (GEs) being supported in each chapter is provided, including the high-level description of the APIs that each FI-WARE Generic Enabler (GE) exposes to application developers or it uses to connect to another FI-WARE GEs.

The Reference Architecture associated to each FI-WARE chapter can be instantiated into a concrete architecture by means of selecting and integrating products implementing the corresponding FI-WARE GEs (i.e., products which are compliant with the corresponding FI-WARE GE Open Specifications). However, the description of the Reference Architecture associated to a chapter does not depend on how FI-WARE GEs in that chapter can be implemented. Any implementation of a FI-WARE GE (also referred as FI-WARE GEi) will be, by nature, replaceable.

Application developers reading contents of this document will understand how applications are programmed using APIs exposed by FI-WARE GEs (i.e., what is the programming model). They will learn what are the names, basic description of arguments, behavior and responses of the main operations in those APIs. On the other hand, FI-WARE Instance Providers will learn how FI-WARE GEs can be connected to build FI-WARE Instances.

Complementing description of the FI-WARE Reference Architecture you can visit the Summary of FI-WARE Open Specifications to learn the rest of details about FI-WARE GE Open Specifications, particularly detailed API Open Specifications. Note that FI-WARE GE Open Specifications will be public and royalty-free.

Developer Community and Tools (DCT) wants to offer a comprehensive environment enabling the FI-PPP program developers (and others) to use in the more efficient, easy and effective way the FI-WARE outcomes (i.e. GE Implementations and FI-WARE Instances) and exploiting collaboration means to benefit the support of the community. For more details visit the following link.


FI-WARE Architecture Overview

The following diagram depicts the schema behind the FI-WARE platform the major components (the so called Generic Enablers, or GEs) and the roles interacting with the system. Find below a short introduction to the major building blocks of the FI-WARE, the FI-WARE chapters and their major components.

Figure: Schematic depiction of FI-WARE platform with all major chapters. Klick to enlarge.
Developer Community and Tools Architecture

The primary goal of the Developer Community and Tools (DCT) is to offer a multi-functional development environment - FI-CoDE - enabling the development and management of the Future Internet Applications (FIApp) built to address the needs of the Future Internet and based on the adoption and integration of the Generic Enablers Implementations.

Applications/Services Ecosystem and Delivery Framework

The Generic Enablers (GE) for the Apps Chapter together build an ecosystem of applications and services that is sustainable and fosters innovation as well as cross-fertilization. In particular the Apps Generic Enablers supports managing services in a business framework across the whole service life cycle from creation and composition of services to monetization and revenue sharing.

A couple of basic GEs are important to realize the vision of such a service business framework which enables new business models in an agile and flexible way. Amoung them: a store, a marketplace, a revenue sharing engine, a set of service composition enablers and a mediator.

The Business Framework is heavily relying on USDL as common uniform description format for services which does not only focus on technical aspects of service, but also on business aspects as well as functional and non-functional service attributes.

Data/Context Management

The Data/Context Management FI-WARE chapter aims at providing outperforming and platform-like GEs that will ease development and provision of innovative Applications that require gathering, publication, processing and exploitation of information and data streams in real-time and at massive scale. Combined with GEs coming from the Apps Chapters, Application Providers will be able to build innovative business models based on exploitation of massive data provided by end users.

FI-WARE Data/Context Management GEs allow to gather information from context and other sources (Context Broker), mediate metadata among GEs and applications (Metadata pre-processor) query stored information through an homogeneous layer (Query Broker), , annotate existing information (Semantic Annotation), store and manage semantic information (Semantic Application Support), generate new knowledge from big data stores using a Map & Reduce paradigm (Big Data analysis) and react to different types of scenarios (Complex Event Processing). It also provides GEs for media management, as easy creation of advanced video applications (Stream Oriented GE) and specifically, video analysis in the compressed domain (CDVA).

Interface to Networks and Devices (I2ND)

FI-WARE will build the relevant Generic Enablers for Internet of Things Service Enablement, in order for things to become citizens of the Internet –available, searchable, accessible, and usable – and for FI services to create value from real-world interaction enabled by the ubiquity of heterogeneous and resource-constrained devices.

I2ND defines an enabler space for providing Generic Enablers (GEs) to run an open and standardized network infrastructure. The infrastructure will have to deal with highly sophisticated terminals, as well as with highly sophisticated proxies, on one side, and with the network operator infrastructure on the other side. This latter will be implemented by physical network nodes, which typically are under direct control of an operator, or the node functionality will be visualized – in this case the I2ND functionality can be accessed by further potential providers, like virtual operators.

The I2ND architecture covers the following Generic Enablers (GEs): CDI (Connected Device Interface) towards the Connected Devices, CE (Cloud Edge) towards the Cloud Proxies, NETIC (NETwork Information and Control) towards Open Networks and S3C (Service Capability, Connectivity and Control) towards Underlying Networks.

Internet of Things (IoT) Services Enablement

The deployment of the architecture of the IoT Service Enablement chapter is typically distributed across a large number of Devices, several Gateways and the Backend.

A device is a hardware entity, component or system that either measures properties of a thing/group of things or influences the properties of a thing/group of things or both measures/influences. Sensors and actuators are devices.

IoT Resources are computational elements (software) that provide the technical means to perform sensing and/or actuation on the device. The resource is usually hosted on the device.

IoT GEs have been spread in two different domains: Gateway and Backend. While IoT Gateway GEs provide inter-networking and protocol conversion functionalities between devices and the IoT Backend GEs, the IoT Backend GEs provide management functionalities for the devices and IoT domain-specific support for the applications.

Cloud Hosting

The Cloud Chapter offers Generic Enablers (GEs) that comprise the foundation for designing a modern cloud hosting infrastructure that can be used to develop, deploy and manage Future Internet applications and services. Provided hosting capabilities are of several kinds and at several levels of resource abstraction -- aiming at the needs of different applications hosted on the cloud.

The IaaS Data Center Resource Management (DCRM) GE is offering provisioning and life cycle management of virtualized resources (compute, storage, network) associated with virtual machines. The Object Storage GE offers provisioning and life cycle management of object-based storage containers and elements. The Job Scheduler GE offers the application to submit and manage computational jobs in a unified and scalable manner. The Edgelet Management GE offers the capability to host lightweight application components, called edgelets. Moreover, the IaaS Service Management (SM) GE provides the means to host complex applications. Lastly, the PaaS Management GE uses the above capabilities to offer provisioning and management of complete PaaS environments, leveraging also the Software Deployment and Configuration (SDC) GE which offers a flexible framework for installation and customization of software products (via Chef recipes) within individual virtual machines.

Security

The Future Internet services will always be exposed to different types of threats that can lead to severe misuse and damage. Creating secured and trusted services without sacrificing much of the desired functionality, usability, performance and cost efficiency is a great challenge, especially in a dynamic environment where new threats and attack methods emerge on a daily basis.

The overall ambition of the Security Architecture of FI-WARE is to demonstrate that the Vision of an Internet that is "secure by design" is becoming reality. Based on achievements to date and/or to come in the short-term (both from a technological but also a standardization perspective) we will show that "secure by design" is possible.

Security, Privacy and Trust in FI-WARE is mainly focusing on delivering tools and techniques to have the above-mentioned security needs properly met. Furthermore a decision making support and the automation of countermeasures allow alleviating the workload of users and administrators while raising their security awareness.

The high-level Reference Architecture is formed by four main blocks of GEs: Security monitoring, Generic Security Services like Identity Management, Access Control, Privacy, Data Handling; Context-Based Security and Compliance and optional Generic Security Services: DB Anonymizer, Secure Storage Service, Malware Detection Service, Android Flow Monitoring and Content-based Security.

Advanced Middleware and Web-based User Interface

The Generic Enablers (GEs) from the Advanced Middleware and Web-based User Interface (MiWi) chapter cover a novel middleware for highly efficient and secure communication between distributed applications and well as a set of GEs that provide an advanced user experience using HTML-5 and a Web-based UI approach.

The Advanced Middleware is backward compatible with traditional Web services (e.g. REST) but offers advanced features and performance and dynamically adapts to the communication partners and its environment. It offers "Security by Design" through a declarative API, where the application defines the security requirements and policies that are then automatically enforced by the middleware.

The objective of the Advanced Web-based UI GE is to significantly improve the user experience for the Future Internet by adding new user input and interaction capabilities, such as interactive 3D graphics, immersive interaction with the real and virtual world via Augmented Reality, virtualizing the display and driving them over the network, and many more.

Developer Community and Tools Architecture

The primary goal of the Developer Community and Tools (DCT) is to offer a multi-functional development environment - FI-CoDE - enabling the development and management of the Future Internet Applications (FIApp) built to address the needs of the Future Internet and based on the adoption and integration of the Generic Enablers Implementations.

FI-WARE Roles

The FI-WARE project intends to support the development of innovation-driven value chains around Applications and Services. These value chains are materialized by a number of actors playing various roles supported by FI-WARE technologies. The following table describes the different roles envisioned for the FI-WARE-enabled value chains.

While there are clear boundaries among the following roles, a company/organization may take one or more of the roles defined. Indeed, we foreseen it will be very common that some companies/organizations play one of these roles as its core role but will try to gain differentiation in the market or try to capture additional revenue streams by playing any of the other complementary roles.

Role Description
Application Developer Future Internet Application Developers are encouraged to develop smart applications targeting either mass markets or individual enterprises and organizations (which in turn may have a limited number of users or, again, the mass market as end users). These Applications should offer flexible means for deployment, provisioning and runtime operation “on the Cloud”.

Future Internet Applications are intended to be meaningful and stand-alone, implementing a number of functions they export “as a Service” to End Users through a number of User Interfaces but also to third Applications in some cases, through well-defined Service APIs (Application Programming Interfaces). They typically rely on functions provided by a number of Enablers, which can be specific to the Application Domain or Generic (meaning they are general purpose).

Enabler Developer Enabler Developers are encouraged to develop software components or more complex systems that can be instantiated to provide functions easing the development, provisioning and/or runtime operation of Future Internet Applications.

Enablers are intended to be universal, that is, they refer to multiple Applications that rely on the functions they implement. Those functions are exported “as a Service” to third Applications through well-defined Service APIs and also to Admin and End Users in some cases, through a number of User Interfaces. Enabler Developers may integrate several lower-level Enablers to realize new and more powerful Enablers.. Note that Applications and Enablers resemble each other in their architecture since both implement functions that they export as services. The central differentiator between them is the primary users to be addressed (End Users in the case of Applications, other Applications in the case of Enablers). Note, however, that some products may qualify equally as Applications or Enablers.

(Application / Enabler) Service Provider & value added service providers Service Providers are in charge of deploying, provisioning and operating either Applications or Enablers.

Stakeholders playing the Application/Enabler Developer role may also play this role. However, this is not always the case (e.g., a Public Administrator may be playing the Service Provider role with respect to applications developed by third parties that the city offers to its citizens).

Application and Service Providers mainly participate in an ecosystem enabled with FI-WARE technology through provisioning, consuming or discovering of services in relation to their business. A service provider is in general active in one business domain where his main business model is residing, but potentially is enable to be active in other business domains, enabled through FI-WARE technology. As a sub-role the value-added service provider will be enabled to build innovative services and apps on top of the offerings other providers within and crossing the ecosystem.

(Application / Enabler) Service Hosting Provider Service Hosting Providers provide and operate the hosting infrastructure on top of which Applications or Enablers are deployed. They entwine themselves with the Service Providers to reduce the costs for service provision.

Service Hosting Providers may provide Cloud Services for hosting Applications and Enablers. Note that, in that case, they can indeed be considered a concrete case of Enabler Service Provider (here, the Enabler is the Cloud providing hosting services) so they may be also referred as “Cloud Hosting Provider”. In many cases, an entity playing the Enabler Service Provider role also hosts the Enablers it provides, therefore also playing the Enabler Service Hosting Provider role. However, note that this is not strictly required (one may think about a Enabler Service Provider that provides a number of enablers, all of them being deployed on Amazon hosting services).

(Application / Enabler) Service Aggregators Service Aggregators select Services from a broad variety of Service Providers and compose them to build new service offerings that address the specific requirements of niche End Users.

(Application / Enabler) Service Brokers bring together a multitude of Services from diverse Providers and publish them on marketplaces where end users can compare them, matching their requirements with capabilities of published Services - they should exploit economies of scale and protect investments in the long run. Finally, the ability to combine applications from different sources necessitates innovative revenue sharing models across partners and potentially also customers (e.g. crowd-sourcing) which have to be adapted dynamically as market conditions change.

FI-WARE Instance Providers An instance provider operates and provides one particular FI-WARE instance to a given ecosystem or business domain or to a use case project. He assembles a given set of Generic Enablers and defines a scenario and usage domain for the particular FI-WARE Instance. Finally he provisions information about how to use the instance, defines his terms and conditions and enables others to work and collaborate on top of the given FI-WARE instance.

Note that not all the FI-WARE GEs have to be integrated in a given FI-WARE Instance. As an example, a FI-WARE Instance may only incorporate GEs from the Cloud and Data/Context Management Chapter.

Roles in relation to the FI-WARE Open Innovation Lab There are a number of upcoming roles, which will play a leading role in the “FI-WARE Open Innovation Lab”, yet to be defined.
Personal tools
Create a book