43
Future Internet Enabled Agricultural Applications Technical Documentation

Technical Documentation - fractals-fp7.com · FRACTALS Technical Documentation Page 4 of 43 Introduction This document represents summary of previously prepared documents and articles

  • Upload
    vananh

  • View
    223

  • Download
    1

Embed Size (px)

Citation preview

     

     

      

   

Future Internet Enabled Agricultural Applications     

Technical Documentation   

   

              FRACTALS Technical Documentation 

 Page 2 of 43 

Table of Contents  

INTRODUCTION ......................................................................................................................................... 4 

 

SECTION 1: FIWARE ................................................................................................................................. 5 

1.  QUICK FIWARE TOUR ....................................................................................................................... 5 

1.1  FIWARE in 3 steps ................................................................................................................................. 5 

1.2  Background Information ....................................................................................................................... 6 

2.  OVERALL FIWARE VISION ................................................................................................................. 7 

2.1  Background and Motivations ................................................................................................................ 7 

2.2  Vision and Goals ................................................................................................................................... 8 

2.3  FIWARE Generic Enabler Open Specifications, Compliant Platform Products, Instances ...................... 10 

2.4  The FIWARE Testbed and FI‐Lab .......................................................................................................... 12 

2.5  FIWARE in the context of the European Future Internet Public Private Partnership (FI‐PPP) Program . 12 

2.6  Business Ecosystem ............................................................................................................................ 13 

2.7  Terms and definitions ......................................................................................................................... 15 

3.  FIWARE ARCHITECTURE ...................................................................................................................17 

3.1  FIWARE Architecture .......................................................................................................................... 17 

3.2  FIWARE Architecture Overview .......................................................................................................... 17 

3.3  FIWARE Roles ..................................................................................................................................... 21 

4.  SUMMARY OF FIWARE OPEN SPECIFICATIONS .......................................................................................23 

4.1  Overview ............................................................................................................................................ 23 

4.2  About This Document ......................................................................................................................... 23 

4.3  Intended Audience ............................................................................................................................. 23 

4.4  FIWARE Open Specifications ............................................................................................................... 23 

4.5  Cloud Hosting Chapter ........................................................................................................................ 23 

4.6  Data/Context Management Chapter................................................................................................... 24 

4.7  Internet of Things (IoT) Services Enablement Chapter ......................................................................... 24 

4.8  Applications/Services Ecosystem and Delivery Framework Chapter .................................................... 24 

4.9  Security Chapter ................................................................................................................................. 25 

4.10  Advanced Middleware and Web User Interfaces Chapter ................................................................... 25 

5.  FIWARE TECHNICAL ROADMAP .........................................................................................................26 

6.  FIWARE AGILE DEVELOPMENT METHODOLOGY .....................................................................................27 

6.1  Prologue ............................................................................................................................................. 27 

6.2  About Epics, Features, User Stories and Work Items ........................................................................... 27 

6.3  Creating the first version of the FIWARE backlogs ............................................................................... 30 

6.4  Management of the FIWARE Backlog .................................................................................................. 30 

6.5  Requesting the addition of new entries to the FIWARE Backlog .......................................................... 31 

7.  FIWARE FREQUENTLY ASKED QUESTIONS (FAQ) ...................................................................................32 

7.1  About the FIWARE Programme ........................................................................................................... 32 

7.2  About the FIWARE platform ............................................................................................................... 33 

7.3  About the FIWARE Lab........................................................................................................................ 38 

7.4  About the FIWARE Ops suite of tools .................................................................................................. 39 

              FRACTALS Technical Documentation 

 Page 3 of 43 

7.5  About the FIWARE Accelerator Programme ........................................................................................ 39 

7.6  About the FIWARE mundus programme ............................................................................................. 39 

 

SECTION 2: FISPACE ..................................................................................................................................40 

8.  FISPACE PLATFORM ..........................................................................................................................40 

8.1  Basic principles of the FIspace platform .............................................................................................. 40 

8.2  FIspace modules ................................................................................................................................. 41 

8.3  FIspace documentation ...................................................................................................................... 42 

8.3.1 App Developer ............................................................................................................................. 42 8.3.2 Business Architect .......................................................................................................................... 42 8.3.3 End User .................................................................................................................................... 42 8.4  FIspace Roadmap ............................................................................................................................... 42 

8.5  Perspectives of using FIWARE in agriculture based on FIspace ............................................................ 42   

   

              FRACTALS Technical Documentation 

 Page 4 of 43 

Introduction   This document represents summary of previously prepared documents and articles about FIWARE and FIspace. It is divided in two section, dedicated to each of them.  All presented documents and information regarding FIWARE can be found online on https://forge.fi‐ware.org/plugins/mediawiki/wiki/fiware/index.php/Welcome_to_the_FI‐WARE_Wiki   All presented documents and information regarding FIspace can be found on project’s web site www.fispace.eu.   The purpose of this document is to give an overview related to FIWARE and FIspace, how applicants should connect, including concrete examples, how to make the most of their usage.    

              FRACTALS Technical Documentation 

 Page 5 of 43 

Section 1: FIWARE  

1. Quick FIWARE tour  

1.1 FIWARE in 3 steps  Step 1: Basic Vision and Mission layed out  First of all, we  recommend  that you start  reading  the Overall FIWARE Vision since  it will  introduce  some basic concepts  to you  that are general  to FIWARE and will be  constantly  referred  in many other places. Some basic concepts  such  as  Generic  Enabler  (GE),  FIWARE  Generic  Enabler  implementation,  FIWARE  Generic  Enabler Implementation  Instance, FIWARE  Instance, FIWARE Testbed or FIWARE Open  Innovation Lab are defined with precision there.   Step 2: The Technical Chapters  After this very first step, we recommend that you take a first overview of each of the Technical Chapters defined in FIWARE. You may visit  the Overview  sections  linked  to each of  the FIWARE Technical Chapters  in  the FIWARE Product Vision for this purpose: 

FIWARE Data/Context Management   Internet of Things (IoT) Services Enablement   Applications/Services Ecosystem and Delivery Framework   Security   Cloud Hosting   Interface to Networks and Devices (I2ND)  

  Step 3: How it is all implemented  Touching some ground, therefore going from the very abstract definition to the concrete implementation of the main concepts introduced in the Overall FIWARE Vision, could probably a good idea as a next step. Therefore, we recommend that you take a look at the FIWARE Catalogue where you will find a comprehensive description of the implementations of the FIWARE GEs that have been delivered as part of the First Release of FIWARE for each of the its  Technical  Chapters.  Note  that  you  may  also  find  information  there  about  instances  of  FIWARE  GE implementations available on the FIWARE Testbed (usage of the FIWARE Testbed is currently limited to UC projects in the first phase of the FI‐PPP, but will be opened to other parties as part of the FIWARE Open Innovation Lab build after completion of the second FIWARE Release): 

Catalogue of Generic Enabler Implementations in the Data/Context Management Chapter   Catalogue of Generic Enabler Implementations in the IoT Services Enablement Chapter   Catalogue  of  Generic  Enabler  Implementations  in  the  Applications/Services  Ecosystem  and  Delivery 

Framework Chapter   Catalogue of Generic Enabler Implementations in the Security Chapter   Catalogue of Generic Enabler Implementations in the Cloud Hosting Chapter   Catalogue of Generic Enabler Implementations in the Interfaces to Network and Devices (I2ND) Chapter  

  

 

 

              FRACTALS Technical Documentation 

 Page 6 of 43 

1.2 Background Information  Timing and Project Planning Information  FIWARE is being materialized using an Agile approach and you may be interested to learn how we are applying Agile concepts in FIWARE but, if you are familiar with Agile, probably it is enough for you to know that: 

There is a Product Backlog defined per GE with Themes, Epics, Features and User‐stories (you can explore defined Epics/Features at the Materializing the FIWARE Vision section of this wiki); 

Development within FIWARE is organized through: o subsequent Sprints, one month long each, o Minor Releases, covering three consecutive Sprints, o Major Releases, covering 4 minor Releases, o Adopting a Single “clock”,  i.e., a common convention  for Releases and Sprints numbering, with 

mapping to calendar dates.   Frequent updates of the FIWARE Testbed are planned after the First Release: 

Decided per FIWARE GE, after completion of a Sprint or Minor Release, 

Guaranteed for all FIWARE GEs, after completion of a Major Release.   You can review the FIWARE Technical Roadmap to learn what is being planned for each of the three first Major Releases of FIWARE.     

   

              FRACTALS Technical Documentation 

 Page 7 of 43 

2. Overall FIWARE Vision  

2.1 Background and Motivations  Changing ICT Landscapes and Trends  Over the last couple of years, a number of technology trends are recognized as significant new directions in the ICT landscape, which will  usher  in  the  era  of  the  Future  Internet  in  Europe.  A  first major  trend  is  the  on‐going industrialization of IT  in the form of cloud computing and open service delivery platforms. The on‐demand, pay‐per‐use  nature  of  these  provisioning models  is  expected  to  fundamentally  change  how  IT  infrastructures  are provisioned, essentially enabling them to be delivered as a service. Secondly, new wireless networking technologies such  as  LTE  (4G)  and  the deployment of  Fibre  to  The Home  (FTTH) will offer  increased network  capacity  and bandwidth to customers, thereby paving the way for new (real‐time) applications in mobile data networks as well as for stationary scenarios. Furthermore, the virtualization of classical carrier networks is also on‐going and starting to find new areas of application. Thirdly, the Internet of Things is safely taking hold, with the vision of ubiquitously connecting  intelligent  devices  and  sensors  and  offering  new  possibilities  for  contextual  and  environmental information sensing, processing and analysis, thereby opening the door to new automation and control applications and services  in various sectors. Lastly, the maturing  Internet of Services  is accelerating the creation of complex value  networks  of  service  providers,  consumers,  and  intermediaries  bringing  businesses  and  end  customers innovative applications better tailored to their needs. These networks increasingly span various different players that historically have worked largely separated from each other thereby leading to more agile and dynamic business relationships and environments never seen before.   The Market Stakeholder Perspectives  Brought together, the above trends are the core drivers towards the emergence of a new era in the evolution of the  Internet, which we may  refer  to  as  Future  Internet.  It will  carry  the  potential  for  realizing  new  business opportunities for established and emerging application and service providers in areas such as telecommunications, healthcare, media and e‐government. This Future Internet will address some key demands and expectations from the various market stakeholders which cannot yet be satisfactorily met. Thus, regarding Application and Service consumers: 

End customers want to gain access and easily consume applications that can effectively assist them in daily life situations. Some of the underlying problems  involved are the management of the ever‐growing data and information (e.g. from their sensor‐enabled environments) and the seamless access anywhere, anytime and from any device. They also ask for improved means for communication and collaboration within their social networks, families, neighborhoods in real‐time and while being mobile, meeting security and privacy requirements. Overall, these capabilities would transform communities, homes and cities  into safer and better places to live and leverage the Internet as an additional societal utility. 

Enterprises and organizations on the other hand, wish to get closer to their customers in order to deliver an even more compelling user experience and better service. For this reason, they would  like to exploit contextual user data which may lead to a more personalized interaction experience and service offering, and would  like to realize a stronger participation of users  in all phases of product and service  lifecycles, thereby bringing the lessons of the Web 2.0 phenomena into the services space. In order to develop and operate their services, new methods, technologies and tools are needed to speed up the time to market, to establish value added services which may be better configured in partnership with others and to simplify access to relevant resources and capabilities, e.g., from the Internet of Things. Additional requirements on business services  include reduced complexity of  ICT provisioning, scaling, global availability and meeting security requirements from customers and legal authorities. An appropriate Future Internet platform would greatly contribute to meeting these demands from business customers.  

 

              FRACTALS Technical Documentation 

 Page 8 of 43 

Application/service developers and providers, on the other hand, are challenged to build smart applications that cover  the  above mentioned  needs  from  consumers.  From  a  development  perspective,  such  applications  and services should be built on top of powerful but easy to use APIs, be standards based and offer flexible deployment and  provisioning  means  (e.g.,  many  devices,  multi‐tenant  architectures,  global  scalability,  and  on‐demand provisioning)  and management  frameworks  (e.g.  in  the  Internet  of  Things).  Additionally,  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.   Towards Strengthening Innovation‐enabling Capabilities  The previous observations independently hold across vertical sectors such as health, transportation and logistics, energy and urban management. However, in practice, many solutions in those areas are today realized as custom made applications which are developed multiple  times  for particular purposes with proprietary  interfaces. This severely hinders the growth of economies of scale for application and service developers, and limits the size of the addressable markets  and  ICT  investments  that  can  be made  towards  new  products  and  services  in  vertical applications sectors. As most revenues in the ICT sector in 2020 will be generated by products and services which have not yet been developed, it is now commonly agreed by public and private thought leaders that investments into the innovation‐enabling capabilities are crucial for success in the global market competition.   Economical, Societal, and Political Benefits brought by a FI Core Platform  From an economic perspective it can be observed that many companies in the traditional ICT sector face difficulties concerning  the  transformation  of  their  own  business models  into  new  areas,  tackling  commoditization  and marginalization  threats.  To  address  this difficulty,  a  framework  is needed where new business models  can be explored and validated effectively. Such a framework could help to cultivate an ecosystem comprised of agile and innovative service providers, which in turn consume services provided by the traditional ICT players.  Considering the societal dimension, the availability of a platform whereby stake holders across different sectors (e.g., healthcare,  logistics, energy management, sustainability,  transport etc.) can cooperate will accelerate  the development of new innovative services for the European society within and across various sectors. Vertical and horizontal  innovations  in  these  areas will  contribute  to  solving major  societal  challenges  (e.g., Grand  Societal Challenges identified by the EU Commission and EU Member States).  Lastly,  on  the  political  dimension,  legal  and  legislative  barriers  presently  hinder  the  efficient  cross‐border establishment of new innovative solutions due to complex or incompatible ICT policies in different countries and regions. The  identification of  legal and  regulative aspects  that could be potential barriers  for  innovation  in  the Future Internet should thereby be investigated and appropriate mitigation actions should be identified and brought to the attention of policy makers. A FI Core Platform may serve the purpose of revealing such barriers.   

2.2 Vision and Goals  The high‐level goal of the FIWARE project is to build the Core Platform of the Future Internet. This Core Platform, also  referred  to  as  the  “FIWARE  Platform”  or  simply  “FIWARE”  throughout  the  rest  of  this  document,  will dramatically  increase  the  global  competitiveness  of  the  European  ICT  economy  by  introducing  an  innovative infrastructure for cost‐effective creation and delivery of versatile digital services, providing high QoS and security guarantees. As such,  it will provide a powerful foundation  for the Future  Internet, stimulating and cultivating a sustainable ecosystem for (a) innovative service providers delivering new applications and solutions meeting the requirements of established and emerging Usage Areas; and (b) end users and consumers actively participating in content and service consumption and creation. Building this ecosystem will strongly influence the deployment of 

              FRACTALS Technical Documentation 

 Page 9 of 43 

new wireless and wired infrastructures and will promote innovative business models and their acceptance by final users.  FIWARE  will  be  open,  based  upon  elements  (hereunder  called  Generic  Enablers)  which  offer  reusable  and commonly shared functions serving a multiplicity of Usage Areas across various sectors. Altogether, such a platform will  address  the  challenges described  in  the previous  section. Note  that not all  functions  that are  common  to applications in a given Usage Area may lead to the identification of Generic Enablers (GEs). It is the ability to serve a multiplicity of Usage Areas that distinguishes Generic Enablers from what would be labelled as Domain‐specific Common Enablers (or “Specific Enablers” for short), which are enablers that are common to multiple applications but all of them specific to a very limited set of Usage Areas. While not all elements that are suitable to be considered as Generic Enablers will be developed in the FIWARE project (this would be a goal that the FIWARE project alone, simply cannot afford), the intention is that all elements developed within FIWARE can widely be accepted as Generic Enablers, per definition above.  Key goals of the FIWARE project are the identification and specification of GEs, together with the development and demonstration of  reference  implementations of  identified GEs. Any  implementation of a GE comprises a set of components and will offer capabilities and functionalities which can be flexibly customized, used and combined for many  different Usage Areas,  enabling  the  development of  advanced  and  innovative  Internet  applications  and services. The FIWARE Architecture comprises the specification of GEs, relations among them and properties of both.  The Core Platform to be provided by the FIWARE project  is based on GEs  linked to the  following main FIWARE Technical Chapters: 

Cloud Hosting – the fundamental layer which provides the computation, storage and network resources, upon which services are provisioned and managed.  

Data/Context Management  –  the  facilities  for  effective  accessing,  processing,  and  analyzing massive volume of data, transforming them into valuable knowledge available to applications.  

Applications/Services Ecosystem and Delivery Framework – the infrastructure to create, publish, manage and consume FI services across their life cycle, addressing all technical and business aspects.  

Internet of Things (IoT) Services Enablement – the bridge whereby FI services interface and leverage the ubiquity of heterogeneous, resource‐constrained devices in the Internet of Things.  

Interface  to  Networks  and  Devices  (I2ND)  –  open  interfaces  to  networks  and  devices,  providing  the connectivity needs of services delivered across the platform.  

Security – the mechanisms which ensure that the delivery and usage of services is trustworthy and meets security and privacy requirements.  

 In order to illustrate the concept of GE, let’s analyze some of the GEs that have been initially identified as linked to one of the defined Architecture Chapters in FIWARE, e.g., the chapter linked to Data/Context Management Services. This chapter may comprise some sort of GE that allows compilation and storage of massive data from disparate sources. Note that this GE may  in turn be based on a number of GEs, each specialized  in gathering data from a specific source (e.g., data from connected “things”, data obtained from user devices, data provided by the user, data exported by applications, etc.), The Context/Data Management Service may also comprise a number of GEs dealing with processing of stored data, enabling generation/inference of new valuable data that applications may be interested to consume. It may finally comprise a GE which supports a well‐defined API enabling Future Internet Applications to subscribe to data they are interested in, making them capable of receiving this data in real time.  To a  large degree,  the  functionalities of  the Generic Enablers will be driven by  requirements  from Application/ Service developers. Therefore, FIWARE will establish tools and processes that will help to closely collaborate with concrete  Use  Case  projects  dealing  with  development  of  concrete  Application/Services.  Discussions  about requirements will  require  continuous  interaction between  the  FIWARE project  and partner Use Case projects. However,  FIWARE  development  needs  to  be  driven  by  requirements  extrapolated  for  any  future Application/ Service. Requirements  that go beyond  those of  concrete Use Case projects will be brought by partners of  the FIWARE consortia (based on input of their respective Businesses Units). A FIWARE product backlog will be generated from both sources and will be continuously updated, driving development of FIWARE following Agile principles. 

              FRACTALS Technical Documentation 

 Page 10 of 43 

The FIWARE project will introduce a generic and extendible ICT platform for Future Internet services. The platform – also referred to as the “Future Internet Core Platform” or “FIWARE” – aims to meet the demands of key market stakeholders across many different sectors, strengthen the innovation‐enabling capabilities in Europe and overall ensure the long‐term success of European companies in a highly dynamic market environment. 

 The set of strategic goals of the FIWARE project are as follows:  

To  specify, design, and develop a Core Platform  (hereunder  referred  to as  “FIWARE”)  to be a generic, flexible, trustworthy and scalable foundation, supporting the missions listed previously.  

Design  extension mechanisms  so  as  to  enable  to  support  for  yet  unforeseen  Usage  Areas  not  being addressed  initially. This requires a suitable extrapolation of current technology and business trends and their translation into the specific design and implementation principles of FIWARE.  

To liaise between the project and relevant standardization bodies in order to: a) keep the project up‐to‐date  with  respect  to  the  discussions  in  the  standardization  bodies;  b)  support  the  submission  of contributions  from  the  project  in  a  coordinated  way.  The  aim  is  to  ensure  active  contribution  of specifications leading to open standardized interfaces.  

To  implement and  validate  the  FIWARE approach  in  trials  together with Use Case projects  in order  to develop confidence for large scale investments in solutions for smart future infrastructures on national and European level.  

To enable established players (telecoms, etc.) and emerging players in the services and application domains to  tap  into new business models by providing components,  services, and platforms  for  these emerging players to innovate.  

To  support  the  development  of  a  new  ecosystem  including  agile  and  innovative  Applications/Service providers consuming components and services from FIWARE thereby building new business models based on FIWARE and associated Usage Areas.  

To stimulate early market take‐up by promoting project results.    

2.3 FIWARE Generic Enabler Open Specifications, Compliant Platform Products, Instances  Specifications of APIs  (Application Programming  Interfaces)  and  Interoperable Protocols  supported by  FIWARE Generic  Enablers  (GE) will  be  public  and  Royalty‐free. GE Open  Specifications will  contain  all  the  information required in order to build compliant products which can work as alternative implementations of GEs developed in FIWARE. GE Open Specifications will typically include, but not necessarily will be limited to, information such as:  

Description of the scope, behavior and intended use of the GE.  Terminology, definitions and abbreviations to clarify the meanings of the specification.   Signature  and behavior of operations  linked  to APIs  (Application Programming  Interfaces)  that  the GE 

should export. Signature may be specified in a particular language binding or through a RESTful interface.   Description of protocols that support interoperability with other GE or third party products.  

 The FIWARE consortium intends to deliver a reference implementation for each of the Generic Enablers defined in the  FIWARE Architecture.  Some  components of  these  reference  implementations may  be  closed  source while others may be open source. The concrete open source license selected by the owning partners who work together in  the  implementation  of  a  given  component will  be  agreed  by  them,  taking  into  account  the  Access  Rights obligations and avoiding any impact on other Project partners they don't desire.   Note that not all components in a compliant implementation of a GE need to interoperate with components linked to  implementations  of  another  GE,  nor  provide  APIs  (Application  Programming  Interfaces)  to  Application Developers.  While  implementations  of  Generic  Enablers  developed  in  compliance  with  FIWARE  GE  Open Specifications should be replaceable, components linked to a particular implementation of a Generic Enabler may not.   

              FRACTALS Technical Documentation 

 Page 11 of 43 

The FIWARE project will draw upon the wealth of results already achieved through earlier research projects, not only within the EU FP7 but also at national‐ or corporate‐funded levels, aiming to leverage them further through a systematic  integration with a  complete  system perspective.  In  the FIWARE project,  there  is an equal  focus on advancing  technologies  linked  to  Generic  Enablers  as  well  as  integrating  them  in  order  to meet  the  actual requirements of all stakeholders. R&D activities in FIWARE will comprise:  

Evolving components contributed by partners or available on the market in order to:  o incorporate new features not covered by these components but required to implement GEs in the 

context of the Future Internet, o allow GEs implemented through these components to be integrated (pluggable) with other GEs in 

the FIWARE Architecture,   Creating new components that may cover gaps in the FIWARE Architecture. 

 Products implementing FIWARE GEs can be picked and plugged together with complementary products in order to build FIWARE Instances, operated by so called FIWARE Instance Providers. Complementary products allow FIWARE Instance Providers to differentiate their offerings and  implement their desired business models. For example, a company playing  the  FIWARE  Instance Provider  role may decide  to develop and/or  integrate  their own  set of monitoring/management tools, because this will allow it to benefit from a better integration with the tools already used by  the company  for  the monitoring/managing of other services,  therefore making operations much more efficient.  FIWARE  Instance  Providers would  also  typically  develop  their own  solutions  for monetization of  the services delivered through the FIWARE  Instance  they operate. This solution will typically  imply  integration with proprietary  Billing  or  Advertising  Support  Systems.  In  this  respect,  GEs  defined  in  FIWARE  will  not  impose restrictions on the particular business model a FIWARE Instance Provider intends to implement.   Note that the open nature of GE specifications will allow to replace a GE  implementation developed  in FIWARE within a particular FIWARE Instance.   FIWARE GEs are further classified into core FIWARE GEs and optional FIWARE GEs. Core FIWARE GEs are required to be deployed in every FIWARE Instance.   

 FIWARE Instances 

  

              FRACTALS Technical Documentation 

 Page 12 of 43 

2.4 The FIWARE Testbed and FI‐Lab  The FIWARE project will generate a FIWARE Instance, hereunder referred to as FIWARE Testbed, which will allow partner Use Case projects (including a number of Use Case projects that are part of the European FI PPP initiative) to  run  and  test  Future  Internet Applications based on  FIWARE Generic Enablers. This  FIWARE Testbed will be available shortly after delivery of the first FIWARE major release. FIWARE Instances linked to trials or commercial services (exploitation phase) are, in turn, referred to as “FIWARE Instances in production”.   The FIWARE Testbed is aimed to be complete, in the sense that it will comprise reference implementations of all Generic Enablers defined in the FIWARE Architecture. The test bed will not necessarily be centralized, but will be under central control and be accessible from a dedicated website. The FIWARE partners will provide support to Use Case projects for the deployment of applications (e.g., the conceptual prototypes) on top of the FIWARE testbed. Tests run by  the partner Use Case projects, coordinated with tests defined by  the FIWARE project, will help to validate  Generic  Enabler  Open  Specifications,  the  reference  implementations  of  FIWARE  Generic  Enablers developed within the FIWARE project, as well as the conceptual prototypes developed by Use Case projects.   In order to pave the way for a successful exploitation and sustainability, the FIWARE project will work on setting up an Open Innovation Lab (FI‐Lab) similar to the FIWARE testbed after the second release of FIWARE. This FI‐Lab will support  community  involvement  beyond  the  initial  partner Use  Case  projects,  offering  a  space where  future innovations on top of the generic enablers provided by FIWARE can be nurtured. The availability of FI‐Lab per se does not guarantee innovation as such, therefore FI‐Lab will comprise all what is needed to stimulate awareness among target application providers and users so that they feel attracted to participate and build a community. It will also bring tools helping members of the community to share their experiences, needs, etc.    

2.5 FIWARE  in  the  context  of  the  European  Future  Internet  Public  Private  Partnership  (FI‐PPP) Program 

 The FIWARE project will design, develop and implement the so‐called Core Platform within the European Future Internet Public Private Partnership (FI‐PPP) Program defined under the ICT FP7 Work Programme. More information about the Future Internet PPP initiative can be found at:  

http://www.fi‐ppp.eu   http://ec.europa.eu/information_society/activities/foi/lead/fippp/index_en.htm  

 The following figure illustrates the basic FI‐PPP approach, where several partner Use Case projects (eight in Phase 1 of the program) will cooperate with the FIWARE project to provide requirements about Generic Enablers which are distinguished  from Domain‐specific Common Enablers  (see previous  sections). The  identified  requirements from the eight Use Case projects provide part of the requirements, which FIWARE has to fulfil. Other requirements come  from other partner Use Case projects  that may arise during  lifetime of  the FIWARE project or  from  the Business Units of the partners in the FIWARE Consortia.  

              FRACTALS Technical Documentation 

 Page 13 of 43 

 FI‐PPP Program 

 A first release of the reference implementation of GEs in FIWARE will be provided before the end of phase 1 in the context of the European Future Internet Public Private Partnership (FI‐PPP) programme and can be integrated to setup FIWARE Instances serving Usage Trial projects in phase 2 of that programme.   

2.6 Business Ecosystem  The following table describe the different roles in the overall value chain envisioned around FIWARE:  

Role   Description 

FIWARE GE Provider  Any  implementer  of  a  FIWARE  GE.  The  open  and  royalty‐free  nature  of  FIWARE  GE specifications will allow parties other than partners in the FIWARE consortium to develop and commercialize platform products that are in compliance with FIWARE GE specifications. 

FIWARE Instance Provider  

A company or organization which deploys and operates a FIWARE Instance and establishes some sort of business model around that particular FIWARE Instance. Note that in building a FIWARE Instance, a FIWARE Instance Provider may rely on products being developed in the FIWARE project or products being developed by any sort of FIWARE GE Provider.  

FIWARE Application/Service Provider  

A company or organization which develops FI applications and/or services based on FIWAREGE APIs and deploys those applications/services on top of FIWARE Instances. Note that the open nature of FIWARE GE specifications will enable portability of FI applications and/or services across different FIWARE Instances. 

 While there are clear boundaries among these roles, a company/organization may take one or more of the roles defined above. 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. Thus, scenarios like the followings may apply:  

A  FIWARE Application/Service Provider may  also play  the  role of  FIWARE  Instance Provider, deploying FIWARE Instances tailored to run the Applications and Services they have developed (i.e., following a sort 

              FRACTALS Technical Documentation 

 Page 14 of 43 

of ASP model). Conversely, a FIWARE Instance Provider may decide to develop some Application/Services targeted to end customers on top of the same FIWARE Instance they offer to third‐party for development of their respective Application/Services.  

A FIWARE Application/Service Provider may also decide to provide their own implementation of some GEs that will  bring  a  differential  value when  bundled  together with  the  final Application  and  Service  they provide. Therefore, they may also play the role of GE provider.  

A FIWARE Instance Provider may decide to be the Provider (implementer) of some of the GEs in the FIWARE Instance it operates. This may be because of costs (no need to buy licenses or pay per use of a particular FIWARE  GE  compliant  product)  or  because  it  believes  it may  gain  some  differentiation  by means  of implementing part of the FIWARE GEs against other FIWARE Instance Providers.  

Considering all the previous points, a company may decide to play all of the three roles.   Many different business stakeholders will be part of the ecosystems creating Future Internet based applications and  services.  They  are  likely  to  have  different  business  objectives  and  offerings.  The  following  categorization summarizes the relevant stakeholders, the roles they are expected to play and, consequently, the impact FIWARE may induce:    Established Telecom Industry  

Telecom Service Providers: They will typically play the role of FIWARE Instance Providers as their core role, relying on FIWARE technologies to develop new open and innovative business models leveraging the assets they already have, i.e. exploring possibilities to "open up" their existing networks or the data they manage or  connecting  third Application/Services Providers with  their  large  customer base.  In general,  trying  to create a compelling ecosystems for Application/Services Providers that leverages on revenue share models. They, of course, will need to understand the technical hurdles, which need to be overcome. They can also play  a  relevant  role  as  FIWARE GE  Provider  and  accelerating  the  development of  standards  based on FIWARE  results. They also may play  the  role of FIWARE Application/Service Providers, developing new services  and  applications  for  large  Usage  Areas  where  telecom‐based  communication,  security  and availability levels as well as support to roaming users are required. Also to leverage their position as FIWARE Instance Provider or simply extend its portfolio, thus being able to keep growing in the Digital world. 

Network equipment manufacturers (core and access networks): Develop and provide technical solutions to support  Telecom  Service  Providers  in  their  role  as  FIWARE  Instance  Providers.  They  may  generate product/platforms  covering  a  number  of  FIWARE GEs  and  provide  services  on which  Telecom  Service Providers may rely to  implement their role as FIWARE Instance Providers or FIWARE Application/Service Providers. They can also play the role of FIWARE Application/ Service Providers, commercializing compelling ICT‐based services based on FIWARE which can be bundled together with other Application/Services in their portfolio to bring solutions to different Usage Areas or  to enrich  the Applications/Services ecosystem a given Telecom Service Provider wishes to build around the FIWARE Instance it operates. 

Mobile  terminal manufacturers: Develop  and provide  appropriate  terminal devices with new  features, M2M communication equipment and sensors for new application domains, which can interface easily with FIWARE Applications  and  Services.  Some of  these  new  capabilities may  require  they  implement  some FIWARE GEs, so that they are more suitable to run on their devices. Based on open standardized interfaces, economies of scale and affordable/interchangeable solutions for customers can be achieved.  

  IT Industry  

Software vendors: They will typically play the role of FIWARE GE Provider. Therefore, they will explore, develop  and  provide  new  software  components,  services,  middleware,  business  services  (delivery) platforms and cloud‐based  infrastructure components needed for emerging Future  Internet applications and services in a converging IoT, IoS, and IoC environment. 

              FRACTALS Technical Documentation 

 Page 15 of 43 

IT Providers: Many of them are evolving in a line similar to Telco Service Providers, therefore playing any of the three defined roles. 

IT Solution integrators: They will typically play the role of FIWARE Application/Service Providers, adapting to the new challenges of developing and integrating new converged Telecom/IT solutions. They sometimes may decide to play the role of FIWARE Instance Providers, offering the outsourcing of all ingredients that are part of the solution.  

  Usage Areas  The various stakeholders in the Usage Areas are expected to have very different objectives. Many of them suggest basic improvements of their business processes and the more efficient use of resources of any kind. Others request solutions to support them  in the development of new cross‐sector solutions currently considered as complex to implement and operate. Both of them are  in charge of supporting societal challenges either based on  financial incentives or based on regulatory requirements. FIWARE is a key element to support the different sectors in their approach.   Emerging Future Internet solution aggregators for converged services  In a converged Future  Internet  ICT  industry new challenges for developing/composing/deploying of (domain‐ or sector‐specific) solutions emerge. Established or new players especially from the SME sector will increasingly have to develop solutions in a world of complex service networks crossing telecom services. Therefore, they will play the role of FIWARE Application and Service Providers, thereby adapting their business models and technology know‐how appropriately.  Note that convergence equally well applies to cross‐sector innovation concerning domain‐specific service providers, e.g.  from  the areas of  logistics, healthcare, energy,  services, where new  services are  composed by  linking and services from different sectors and developing new business models around them.   End users  Further  end  users  affected  by  the  FI‐PPP  and  contributions  of  FIWARE  are  citizens,  (non‐governmental) organizations,  individuals, employees, and the generation of prosumers (possibly also aiming at generating their personal income). Solutions that have direct impact on this group of stakeholders are highly desirable   Legal Notices bound to FIWARE Open Specifications 

FIWARE Open Specification Legal Notice (essential patents license) 

FIWARE Open Specification Legal Notice (implicit patents license)   

2.7 Terms and definitions  

Following are the definitions of some terms that are key to the FIWARE vision and are widely used. As mentioned before, the terms “Core Platform”, “CP” or “FIWARE” can be used indistinctly:  

FIWARE Generic Enabler (GE): A functional building block of FIWARE. Any implementation of a FIWARE GE is made up of a set of components which  together supports a concrete set of Functions and provides a concrete set of APIs and interoperable interfaces that are in compliance with open specifications published for that GE.  

              FRACTALS Technical Documentation 

 Page 16 of 43 

FIWARE GE Open Specifications: GE Open Specifications will contain all the information required in order to build compliant products which can work as alternative  implementations of GEs developed  in FIWAREand therefore may replace a GE implementation developed in FIWARE within a particular FIWARE Instance. GE Open Specifications will typically include, but not necessarily will be limited to, information such as:  

o Description of the scope, exhibited behavior and intended use of the GE. o Terminology, definitions and abbreviations to clarify the meanings of the specification.  o Signature and behavior of operations linked to APIs (Application Programming Interfaces) that the 

GE should export. Signature may be specified in a particular language binding or through a RESTful interface.  

o Description of protocols that support interoperability with other GE or third party products.  o Description of non‐functional features.  

FIWARE Compliant Platform Product: A product which  implements,  totally or  in part,  a  FIWARE GE or composition  of  FIWARE  GEs  (therefore,  implements  a  number  of  FIWARE  Services).  Different  FIWAREcompliant Platform Products may exist implementing the same FIWARE GE or composition of FIWARE GEs. Actually, the open and royalty‐free nature of FIWARE GE specifications allows the existence of alternative implementations of a FIWARE GE. FIWARE compliant Platform Products are made up of components. While implementations of Generic Enablers developed  in compliance with FIWARE GE Open Specifications are replaceable, components linked to a particular FIWARE compliant Platform Product may not be replaceable. 

FIWARE  Generic  Enabler  implementation  (GEi):  A  way  to  refer  a  FIWARE  Compliant  Product,  or  a component that is part of a FIWARE Compliant Product, implementing the Open Specifications of a given FIWARE GE.  

FIWARE Instance: The result of the  integration of a number of FIWARE compliant Platform Products and, typically, a number of complementary products. As such, it comprises a number of FIWARE GEs and supports a number of FIWARE Services. Provision of Infrastructure as a Service (IaaS) or Context/Data Management Services  are  examples  of  FIWARE  Services  a  particular  FIWARE  Instance may  support,  implemented  by means of combining a concrete set of Platform Products. While specifications of FIWARE GEs define FIWAREin functional terms, FIWARE Instances are built by means of integrating a concrete set of FIWARE compliant Platform Products.  

FIWARE Instance Provider: A company that operates a FIWARE Instance. Note that FIWARE Instances may not consist only of the integration of FIWARE compliant Platform Products but their integration with other products which allow the FIWARE Instance Provider to gain differentiation on the market (e.g. integration with  own  Operating  Support  Systems  to  enhance  FIWARE  Instance  operation  or  with  other  products supporting services that are complementary to those provided by FIWARE GEs) or to enable monetization of its operation (e.g., integration with own Billing or Advertising systems).  

Future Internet Application: An application that is based on APIs defined as part of GE Open Specifications. A Future Internet Application should be portable across different FIWARE Instances that implement the GEs that  Future  Internet  Application  relies  on,  no matter  if  they  are  linked  to  different  FIWARE  Instance Providers.  

FIWARE Testbed: A concrete FIWARE Instance operated by partners of the FIWARE project that is offered to Use Case projects within the FI‐PPP Program, enabling them to test their proof‐of‐concept prototypes. The  FIWARE  Testbed  is  also offered  to  third parties  to  test  their  Future  Internet Applications  although support to them is provided on best‐effort basis.  

FIWARE Instance in production: A FIWARE Instance run by a FIWARE Instance Provider in the context of a trial (e.g., trials in phase 2 of the European FI PPP initiative) or as part of its service offering to the market. FIWARE  Instances  in  production will  typically  have  their  own  certification  and  developers  community support  environments.  However,  several  FIWARE  Instance  Providers  may  establish  alliances  to  setup common certification or developers’ community support environments.  

    

              FRACTALS Technical Documentation 

 Page 17 of 43 

3. FIWARE Architecture  

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

Cloud Hosting   Data/Context Management   Internet of Things (IoT) Services Enablement   Applications/Services Ecosystem and Delivery Framework   Security   Interface to Networks and Devices (I2ND)   Advanced Middleware and Web‐based User Interface  

 The Reference Architecture associated to each FIWARE chapter can be instantiated into a concrete architecture by means of selecting and integrating products implementing the corresponding FIWARE GEs (i.e., products which are compliant with  the corresponding FIWARE GE Open Specifications). However,  the description of  the Reference Architecture associated to a chapter does not depend on how FIWARE GEs in that chapter can be implemented. Any implementation of a FIWARE GE (also referred as FIWARE GEi) will be, by nature, replaceable.   Application developers reading contents of this document will understand how applications are programmed using APIs exposed by FIWARE GEs  (i.e., what  is the programming model). They will  learn what the names are, basic description of arguments, behavior and responses of the main operations in those APIs. On the other hand, FIWARE Instance Providers will learn how FIWARE GEs can be connected to build FIWARE Instances.   Complementing description of  the FIWARE Reference Architecture you can visit  the Summary of FIWARE Open Specifications  to  learn  the  rest of details about FIWARE GE Open Specifications, particularly detailed API Open Specifications. Note that FIWARE 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  FIWARE  outcomes  (i.e.  GE Implementations  and  FIWARE  Instances)  and  exploiting  collaboration  means  to  benefit  the  support  of  the community. For more details visit the following link.  

Developer Community and Tools    

3.2 FIWARE Architecture Overview  The  following diagram depicts  the  schema behind  the  FIWARE  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 FIWARE, the FIWARE chapters and their major components.  

              FRACTALS Technical Documentation 

 Page 18 of 43 

 Schematic depiction of FIWARE platform with all major chapters 

 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. Among 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.      

              FRACTALS Technical Documentation 

 Page 19 of 43 

Data/Context Management   The Data/Context Management FIWARE 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.   FIWARE 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)   FIWARE 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.  

              FRACTALS Technical Documentation 

 Page 20 of 43 

The  IaaS Data Center Resource Management  (DCRM) GE  is offering provisioning and  life cycle management of virtualized resources (compute, storage, network, etc.) 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 FIWARE 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 FIWARE  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.   

              FRACTALS Technical Documentation 

 Page 21 of 43 

3.3 FIWARE Roles   The FIWARE 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 FIWARE technologies. The following table describes the different roles envisioned for the FIWARE‐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, provisioningand/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 FIWAREtechnology 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 FIWARE 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.  

              FRACTALS Technical Documentation 

 Page 22 of 43 

Role   Description  

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 deployedon 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.  

FIWARE Instance Providers  

An  instance  provider operates  and  provides  one  particular  FIWARE  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  FIWARE  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 FIWARE instance. Note that not all the FIWARE GEs have to be integrated in a given FIWARE Instance. As an example, a FIWARE  Instance may only  incorporate GEs  from the Cloud and Data/Context Management Chapter.  

Roles in relation to the FIWARE Open Innovation Lab  

There are a number of upcoming roles, which will play a leading role in the “FIWARE Open Innovation Lab”, yet to be defined.  

    

              FRACTALS Technical Documentation 

 Page 23 of 43 

4. Summary of FIWARE Open Specifications  

4.1 Overview  This page summarizes the available FIWARE Open Specifications.    

4.2 About This Document  FIWARE GE Open Specifications describe  the open specifications  linked  to Generic Enablers GEs of  the FIWARE project (and their corresponding components) being developed in one particular chapter.   GE Open Specifications contain relevant information for users of FIWARE to consume related GE implementations and/or to build compliant products which can work as alternative implementations of GEs developed in FIWARE. The  later may even replace a GE  implementation developed  in FIWARE within a particular FIWARE  instance. GE Open Specifications typically include, but not necessarily are limited to, information such as:  

Description of the scope, behavior and intended use of the GE,  Terminology, definitions and abbreviations to clarify the meanings of the specification,   Signature  and behavior of operations  linked  to APIs  (Application Programming  Interfaces)  that  the GE 

should export. Signature may be specified in a particular language binding or through a RESTful interface,   Description of protocols that support interoperability with other GE or third party products,  Description of non‐functional features.  

  

4.3 Intended Audience   The document  targets  interested parties  in architecture and API design,  implementation and usage of FIWARE Generic Enablers from the FIWARE project.    

4.4 FIWARE Open Specifications   Following is the list of FIWARE Open Specifications structured by chapter. If you are looking for a concrete FIWARE GE API Open Specification, you may directly navigate to the Summary of FIWARE API Open Specifications.   

4.5 Cloud Hosting Chapter   

FIWARE.OpenSpecification.Cloud.DCRM   FIWARE.OpenSpecification.Cloud.ObjectStorage   FIWARE.OpenSpecification.Cloud.PolicyManager   FIWARE.OpenSpecification.Cloud.SDC   FIWARE.OpenSpecification.Cloud.PaaS   FIWARE.OpenSpecification.Cloud.Monitoring   FIWARE.OpenSpecification.Cloud.SelfServiceInterfaces   FIWARE.OpenSpecification.Cloud.JobScheduler   FIWARE.OpenSpecification.Cloud.Edgelets   FIWARE.OpenSpecification.Cloud.SM [DEPRECATED]   FIWARE.OpenSpecification.Cloud.CloudEdge [see Interface to the Network and Devices chapter]  

  

              FRACTALS Technical Documentation 

 Page 24 of 43 

4.6 Data/Context Management Chapter   

FIWARE.OpenSpecification.Data.BigData   FIWARE.OpenSpecification.Data.ContextBroker   FIWARE.OpenSpecification.Data.CEP   FIWARE.OpenSpecification.Data.Location   FIWARE.OpenSpecification.Data.MetadataPreprocessing   FIWARE.OpenSpecification.Data.CompressedDomainVideoAnalysis   FIWARE.OpenSpecification.Data.QueryBroker   FIWARE.OpenSpecification.Data.SemanticAnnotation   FIWARE.OpenSpecification.Data.SemanticSupport   FIWARE.OpenSpecification.Data.StreamOriented   FIWARE.OpenSpecification.Data.UnstructuredDataAnalysis   FIWARE.OpenSpecification.Data.SemanticContextExt  

  

4.7 Internet of Things (IoT) Services Enablement Chapter   Backend  

FIWARE.OpenSpecification.IoT.Backend.IoTBroker   FIWARE.OpenSpecification.IoT.Backend.ConfMan   FIWARE.OpenSpecification.IoT.Backend.DeviceManagement  

 Gateway  

FIWARE.OpenSpecification.IoT.Gateway.DeviceManagement   FIWARE.OpenSpecification.IoT.Gateway.DataHandling   FIWARE.OpenSpecification.IoT.Gateway.ProtocolAdapter  

 Notes for traceability:  

For R2 onwards, the former "Backend Things Management GE" has been split into the "Backend ConfMan" and the "Backend IoT Broker" keeping all previous functionalities and interfaces.  

  

4.8 Applications/Services Ecosystem and Delivery Framework Chapter   

FIWARE.OpenSpecification.Apps.Repository   FIWARE.OpenSpecification.Apps.Marketplace   FIWARE.OpenSpecification.Apps.Registry   FIWARE.OpenSpecification.Apps.BusinessModeler   FIWARE.OpenSpecification.Apps.BusinessCalculator   FIWARE.OpenSpecification.Apps.Mediator   FIWARE.OpenSpecification.Apps.ServiceMashup   FIWARE.OpenSpecification.Apps.ApplicationMashup   FIWARE.OpenSpecification.Apps.ServiceComposition   FIWARE.OpenSpecification.Apps.LightSemanticComposition   FIWARE.OpenSpecification.Apps.Store   FIWARE.OpenSpecification.Apps.RSS  

    

              FRACTALS Technical Documentation 

 Page 25 of 43 

4.9 Security Chapter   Core Generic Enablers  

FIWARE.OpenSpecification.Security.SecurityMonitoring   FIWARE.OpenSpecification.Security.Context‐based_security_and_compliance   FIWARE.OpenSpecification.Security.IdentityManagement   FIWARE.OpenSpecification.Security.Data Handling Generic Enabler   FIWARE.OpenSpecification.Security.Privacy Generic Enabler   FIWARE.OpenSpecification.Security.Access Control Generic Enabler  

 Optional Generic Enablers  

FIWARE.OpenSpecification.Security.Optional_Security_Enablers.DBAnonymizer   FIWARE.OpenSpecification.Security.Optional_Security_Enablers.SecureStorageService   FIWARE.OpenSpecification.Security.Optional_Security_Enablers.ContentBasedSecurity   FIWARE.OpenSpecification.Security.Optional_Security_Enablers.MalwareDetectionService   FIWARE.OpenSpecification.Security.Optional_Security_Enablers.AndroidFlowMonitoring  

 Interface to Networks and Devices (I2ND) Chapter 

FIWARE.OpenSpecification.I2ND.CDI   FIWARE.OpenSpecification.I2ND.CE   FIWARE.OpenSpecification.I2ND.NetIC   FIWARE.OpenSpecification.I2ND.S3C  

  

4.10 Advanced Middleware and Web User Interfaces Chapter   Advanced Middleware  

FIWARE.OpenSpecification.MiWi.Middleware   Advanced Web UI) Enablers ‐ Client Core  

FIWARE.OpenSpecification.MiWi.2D‐UI   FIWARE.OpenSpecification.MiWi.3D‐UI  

 Advanced Web UI) Enablers ‐ Server Core  

FIWARE.OpenSpecification.MiWi.Synchronization   Advanced Web UI) Enablers ‐ Supporting Services  

FIWARE.OpenSpecification.MiWi.CloudRendering   FIWARE.OpenSpecification.MiWi.GISDataProvider   FIWARE.OpenSpecification.MiWi.POIDataProvider   FIWARE.OpenSpecification.MiWi.2D‐3D‐Capture  

 Advanced Web UI) Enablers ‐ Application oriented Services  

FIWARE.OpenSpecification.MiWi.AugmentedReality   FIWARE.OpenSpecification.MiWi.RealVirtualInteraction   FIWARE.OpenSpecification.MiWi.VirtualCharacters   FIWARE.OpenSpecification.MiWi.InterfaceDesigner  

    

              FRACTALS Technical Documentation 

 Page 26 of 43 

5. FIWARE Technical Roadmap  FIWARE's technical roadmap brings information about what the different major releases of FIWARE will bring and when they will be available on the FIWARE Testbed. For each of the FIWARE chapters and for every generic enabler, the list of features available for the particular release is linked within the following pages. You can explore which release number the particular features are currently scheduled for and contact the affiliated responsible persons in charge if you need more details.   The first version of the FIWARE platform was made available on the FIWARE Testbed during 3Q2012 for experiments by the use case projects within the FI‐PPP program. The overall goal for this first Release was to provide a sufficiently complete set of FIWARE GEs which Use Case Projects selected in the first phase of the FI‐PPP program could test and use in their proof of concepts. The second release of FIWARE is focused on integration (both inside and across chapters) as well as evolution of FIWARE GEs based on feedback from target Users (both Use Case Projects selected in the first phase of the FI‐PPP or other stakeholders like current/target customers of FIWARE partners).   Once the development of a given minor release of FIWARE  is finished,  it can be made available on the testbed, typically by the end of the following month. Updates of all FIWARE GEs on the FIWARE Testbed will be planned after each major release completion. Nevertheless, updates of the FIWARE Testbed may be decided on a more frequent basis at FIWARE GE level, i.e., the following month after completion of some Sprint. Please check the Releases and Sprints numbering, with mapping to calendar dates for further information.   FIWARE's Technical Roadmap is broken into 8 partial roadmaps, one per FIWARE Technical Chapter:  

Roadmap of Cloud Hosting   Roadmap of Data/Context Management   Roadmap of Internet of Things (IoT) Services   Roadmap of Applications/Services Ecosystem and Delivery Framework   Roadmap of Security   Roadmap of Interface to Networks and Devices   Roadmap of Advanced Middleware and Web UI   Roadmap of Developers Community and Tools  

 Besides the roadmap of functional features per chapter, a Roadmap of Global FIWARE functions is defined.   Important Note: it is important to mention that most (if not all) of the Generic Enabler implementations are based on existing baseline assets (open source or proprietary), actively developed and promoted by the corresponding companies. Each company has done internal analysis of requirements and priorities for each of the technologies, based on their business needs and the needs of their customers. The goal of FIWARE is to develop these assets even further, to integrate them together to form a coherent platform, and to offer them to the FI‐PPP ecosystem, for the benefit of the community. This roadmap reflects this approach.      

              FRACTALS Technical Documentation 

 Page 27 of 43 

6. FIWARE Agile Development Methodology by Juanjo Hierro, Chief Architect and Technical Manager of FIWARE  

6.1 Prologue   This section elaborates on how Agile principles are being applied in FIWARE. The approach being adopted has been very much inspired in the work carried out by Dean Leffingwell with Juha‐Markus Aalto on how to apply Agile in development of large systems.   We first advice you should read Dean Leffingwell's and Juha‐Markus Aalto's white paper on a  lean and scalable requirements information model for agile enterprises. Much of the methodology we are following comes from this source. We have further refined some of the definitions, and elaborated some of the concepts, described there in order to manage such a complex and large project like FIWARE.   We assume that you already know the basis about Agile. Information in this page doesn't intend to be a stand‐alone and complete tutorial on Agile. Please take this into account.    

6.2 About Epics, Features, User Stories and Work Items   Entries in Backlogs used in FIWARE can be of any of the following types:  

Epic   Feature   User Story   Work Item   Reported Bug  

 The Backlog in a product development project is fundamentally about "functionality that has to be developed" in the product. Seeking for clarity, and because I have found it helpful when explaining Agile concepts, I have explained that entries in the backlog indeed map into "work to be done". Actually, a lot of the work you have to do when developing a software product has to do with developing the software that implements the functionality the users expect from your product and it is the description of functionality to be supported in your product what we intend to capture through Themes, Epics, Features or User‐Stories. The rest of the work may be categorized as Work Items (creating specific parts the documentation, solving a support ticket, running an analysis or defining part of the API spec before we actually implement it, etc.).   

  

              FRACTALS Technical Documentation 

 Page 28 of 43 

Epics, Features or User Stories describe functionality at different level of granularity. Epics describe functionality at a very high level. Epics are further refined into Epics, Features and User stories. When should I label a given backlog entry as an Epic, a Feature or a User‐Story?   User Stories comply with "INVEST" properties which means they should be "Independent, Negotiable, Valuable, Estimable, Small and Testable". In general:  

A User Story has to be something sufficiently limited in scope as to be affordable in one Sprint, unitary tests included. ("Small" property)  

A User Story should be detailed enough as to be able to define a test for it. ("Testable" property)   A User stories should include enough information enabling a developer to make a rough estimation of the 

resources needed for designing, developing, and testing the functionality within one Sprint ("Estimatable" property).  

There is no need to cover all details nor to have everything finalized before starting actual development. In other words, you  shouldn't enter  into  that  level of detail at which you are probably wasting  time and unnecessarily delaying development. Just have the details that make you confident that development may fit  in  the  duration  of  the  Sprint.  There  should  be  details  that may  be worked  out while  developing. ("Negotiable" property). 

 "Independent" and "Valuable" are also relevant characteristics but I guess there may be many Epics and Features that would fulfill those properties. That's why I would make emphasis on the previous ones.   Therefore, based on  the above, you should ask your development  teams  the  following questions  to determine whether a new entry you want to insert in the backlog should qualify as an User‐Story or not:  

Can you commit to get it developed by the end of the next Sprint?   Would you be able to define a test for it?  

 If their answer to these questions is "No" or you see the doubt in their eyes ... it's not a User‐Story.   Note that labeling an entry as User‐Story in the backlog depends very much on a fundamental parameter of your project: the duration of a Sprint. In this respect, Sprints are defined to last one month in FIWARE. What could be labeled as a User‐Story would vary a lot if we had defined a different duration for Sprints.   You can consider a Feature just as a special kind of Epic. What Epics can be labeled as Features? Those describing functionality that you  feel confident you will be able to develop  in the course of a Product Release. Therefore, labeling an entry as Feature in the backlog depends very much on another fundamental parameter of your project: the duration of a Release. Duration of a Release should be a multiple of the duration of a Sprint and use to be 60 to 120 working days long. In this respect, Releases (also named as minor Releases) in FIWARE last three months. We have also introduced the concept of Major Releases which last a determined number of minor Releases. Therefore, we use a two digit notation to identify a Release (e.g., Release 1.3)   Note that being able to state that you expect a given functionality described as an Epic to be implemented in your product by the duration of a Release simply means that you have enough information about the functionality as to feel confident  that you will be able  to  refine  it  to  the  level of User‐Stories which,  in  turn, can be addressed  in development sprints, all during the course of the Release.   Why are we dealing with Features in addition to Epics? Because it gives hints about what functionality we expect to address within a certain period of time and this  is  important  for the overall management of a  large product development  project  like  FIWARE  and  helps  to  share  valuable  information with  customers  about our  product roadmap. Users need to have some hints on what functionality is going to be available when, so that they can plan their developments better. Other than this, you may think on Features as just Epics you expect to develop before some given date. Of  course, Agile  is about  re‐planning  the work  to be done whenever you  feel necessary and priorities change. That means that a Feature you initially planned for Release 2.1 of your product may get delayed and postponed for a later Release.  

              FRACTALS Technical Documentation 

 Page 29 of 43 

Recursive Epics allow to refine abstract conceptual items as much as needed, but is not that critical as the frontier between Epics and Features or User Stories. Deriving a Feature allows us to map the corresponding functionality into  a product Release. Deriving  a User‐Story means  you  can  stop  refining  and  start  actual development of  a concrete  functionality  in  your product. Whenever  you derive  a new backlog entry, either  as  result of  refining previously existing Epics or Features or just because it captures new functionality, you should ask yourself: "Is the description of this functionality detailed enough as to make it affordable in the course of a Sprint? Does it own the desired INVEST properties?". If the answer is "Yes", then you should label it as a User‐Story. If not, then you should ask yourself: "Is the description of this functionality detailed enough as to make  it affordable  in the course of a Release?". If the answer is "Yes", then you should label it as a Feature. Otherwise, it is an Epic. When you derive a User‐Story directly from an Epic, we recommend to create a Feature with the same description. You may think in a first approach that this is unnecessary duplication of entries, but this will allow to keep a complete description of planned features for all Releases, which is important in large products/systems.   Note than a given Epic may be refined into several entries, each linked to a finer‐grained description of the target functionality, but still to be considered as an Epic. Last but not least, an Epic may also be refined into a mixture of several Epics, Features and User Stories. This is natural consequence of first deriving the finer‐grained entries and then categorize them properly.   A Work item refers to work that needs to be done in the course of a Sprint, trying to meet a concrete goal. It may relate to work to be done  in order to refine an existing Epic  (or a  feature) and derive actual Features  (or User‐stories) derived from it. In general, any work you need to address to progress development but may be difficult to describe in terms of "functionality supported by the product". Work Items help to report activities performed by your development team you want to report because it consumes a significant amount of resources and you want to leave a trace of that. They are also extremely helpful in monitoring progress at a higher‐level, which is something that is always needed in development of a large product/system.   You may derive a mixture of finer‐grained Epics plus a list of Features, User‐Stories and Work Items when you refine an existing Epic. Similarly, you may obtain finer‐grained Features, plus a list of User Stories and Work Items when you refine an existing Feature.   A Reported  bug  refers  to work  needed  to  fix malfunction  of  functionality  developed.  It  allows  to  have  them identified and be addressed at a specific sprint or release.   To illustrate this, let's consider a concrete example. You may find out that your system needs to provide some sort of Directory functionality. In a first approach, you may have identified an Epic linked to this functionality. Here you are the description of the Goal linked to that Epic:   As a user I can create/delete/modify entries in a Directory and then retrieve entries using different methods  You may afterwards turn this Epic into three Features A, B and C:  

A = As a user I can create/delete/modify entries in the Directory.   B = As a user I can discover entries that match some given criteria, expressed in a query language similar to 

SQL.   C = As a user I can subscribe to events linked to creation/deletion/modification of entries in the Directory. 

Those events are received spontaneously, through a callback service I can register linked to my subscription. Subscriptions may have a lifetime, be paused, resumed and canceled.  

(Note: you should, of course, provide a more detailed description for each of these features in real life, but let's keep it simplified here for convenience)   You may decide that such Features will be exposed through a well‐defined API. Therefore, all the three Features may get refined into:  

a WorkItem M = Specifying a well‐defined REST interface 'I' through which operations linked to features A and B are exposed  

another WorkItem N = Extending specifications of interface 'I' to include operations supporting feature C  

              FRACTALS Technical Documentation 

 Page 30 of 43 

three UserStories O, P and Q corresponding to implementation of the operations in the REST interface 'I' linked to features A, B and C respectively.  

 When dealing with  realization of  the backlog  through  subsequent  Sprints,  it may happen  that  you decided  to address WorkItem M in Sprint X of the Release 1.1 and then in Sprint X+1, also part of the same Release, you decided to address the implementation of UserStories O and P, leaving WorkItem N and UserStory Q to the Release 1.2. This illustrates a major concept in how Agile works differently than the traditional waterfall models: we are not waiting for finalizing the complete specification of interface 'I' to start implementing part of it.    

6.3 Creating the first version of the FIWARE backlogs   In defining how we were going to use Agile in FIWARE, we have had to deal with a fundamental characteristic of the project: it is not about developing from the scratch but from a set of selected products (assets) resulted from previous projects, many of which hadn't been developed using Agile.  If we had  started development of every FIWARE Generic  Enabler  (that's  the way we  name  components  in  FIWARE)  from  the  scratch,  the  FIWARE GE backlogs  would  contain  Themes/Epics/Features/User‐stories  that,  all  together,  would  summarize  the  whole functionality of FIWARE. But this is not the case.   When  creating  the  backlog  for  a  given  FIWARE  GE,  we  have  considered  that  it  should  contain  the Themes/Epics/Features/User‐stories  that,  at  the  start  of  the  FIWARE  project,  map  to  "functionality  to  be developed" in the reference implementation of the GE we are building based on a number of baseline products. We won't capture all the functionality that was already implemented in the baseline products. That would mean trying  to carry out a kind of "reverse engineering" of baseline products, deriving User‐Stories  from what  those baseline products already support. This, apart from meaning a huge effort would not be that useful to development teams and would simply delay start of our development. Something which would precisely go against a cornerstone axiom in Agile: trying to do things that are useful for the development teams. Thus, a potential user who wants to have a detailed picture of all target functionality to be supported by a given FIWARE GE should study:  

the FIWARE Product Vision, in order to understand what is overall expected for the GE,   the  documentation  about  the  products  that  have  been  adopted  as  baseline  for  the  reference 

implementation of the GE (available on Materializing the FIWARE Vision): this should give the user a clear picture of what functionality has already been covered and therefore will be supported in FIWARE,  

the backlog linked to the GE (also available on Materializing the FIWARE Vision: this will allow the user to understand what's going on and is planned on the roadmap.  

 In summary: the FIWARE backlogs were created to drive developments to be carried out after the FIWARE project started. They are not about documenting what he have done during many years in our respective labs.    

6.4 Management of the FIWARE Backlog   The FIWARE project uses a Product Backlog to drive the development of the reference implementations of Generic Enablers (GE) in FIWARE. You can find a full description of all the Themes, Epics, Features and User‐Stories linked to each FIWARE Chapter and GE visiting the FIWARE Wiki section on Materializing the FIWARE Vision.   FIWARE deals with management of the lifecycle of Backlog entries using FusionForge trackers. Each FIWARE chapter owns a Backlog Management tracker (access only allowed to FIWARE Chapter members):  

Cloud Hosting Backlog Management tracker   Data/Context Management Backlog Management tracker   IoT Services Enablement Backlog Management tracker   Apps/Services Ecosystem and Delivery Backlog Management tracker   Security Backlog Management tracker   Interface to Networks and Devices Backlog Management tracker  

              FRACTALS Technical Documentation 

 Page 31 of 43 

Any ticket created in a given Chapter tracker is linked to a Theme/Epic/Feature/User‐story described on the Wiki. Work  Items  to be carried out also have a  ticket on  the proper Chapter  tracker. Note  that Work  Items are not documented on the Wiki. We have taken this decision in FIWARE because Themes/Epics/Features/User‐stories are the only Backlog entries that are relevant to FIWARE users.   Sprints and Releases are numbered according to the schema defined for Releases and Sprints numbering   There is a comprehensive set of tutorials explaining FIWARE project members:  

How to assign identifiers to FIWARE Backlog entries (convention to follow)   How to upload the full description of backlog entries to the Wiki   How to create and configure trackers in FusionForge   How to create entries in the "Backlog Management" Tracker of a FIWARE Chapter   How to follow‐up a tracker in FusionForge  

  

6.5 Requesting the addition of new entries to the FIWARE Backlog   FIWARE users can  issue request  for the addition of new Epics or Features  in FIWARE,  linked to existing Generic Enablers or proposals for new ones. They do so by creating tickets on the FIWARE Epic/Feature Requests tracker   In order to get access to the FIWARE backlog one needs to:  

1. Register an account at the FIWARE FusionForge  2. join the FIWARE project in FusionForge  3. Provide a link (in the ticket) to a complete backlog entry draft in the Uncategorized Enabler backlog on this 

wiki  4. Issue a ticket on the FIWARE Epic/Feature Requests tracker  

 In the first place, and once it is formally verified (authorized user, formally correct, in the Uncategorized Enabler backlog, etc.), the ticket will be handled by the FIWARE Chief Architect, Deputy Chief Architect or any of the FIWARE Chapter leads who may assign a ticket to any member of the FIWARE team. Handling a ticket may involve several interactions between the ticket Issuer, and the FIWARE team. FIWARE team members handle tickets following the workflow provided on How to handle FIWARE Theme/Epic/Feature requests issued by UC projects. As a result of this workflow, a new Theme, Epic or Feature may be added to the FIWARE Backlog. Since tickets and associated tasks are visible to the Issuers and even to external Observers, status and progress is completely transparent.     

              FRACTALS Technical Documentation 

 Page 32 of 43 

7. FIWARE Frequently Asked Questions (FAQ)1  

7.1 About the FIWARE Programme  Why FIWARE?  Few things have revolutionized our lives, and the way companies make business, so much as the Internet and the Web. Disruptive changes have been brought by the Internet and the Web in several consecutive waves, each time increasing the digitalization of  life and  the economy. The  first wave came when, enabled by  the Web,  Internet became the “Information Superhighway” that made knowledge and contents accessible as never before. Internet also became a new channel that organizations adopted to manage a more effective relationship with their customer as well as other organizations (this transformation was well‐known as the so‐called e‐business transformation). A second wave arrived with the advent of the Web 2.0 phenomenon and the rapid development of Social Networks. New ways of communication emerged leveraging on the full potential of individuals and their connections. People became the center of Internet, not just the information. Visibility, meritocracy and recognition had never been so open to opportunities that everyone can benefit.   Nowadays, we are experimenting the first signs of a new revolutionary wave which promises to radically  impact the daily life of people and businesses once again. It will come as the result of the transformation of the Internet into the “Next Computer”. The “Operating System” of this “Next Computer” will bring components enabling the hosting of  applications  and data/content on  the Cloud  (somehow mapping  to  the  “kernel”  component of  any Operating System). However, it will also come with an additional set of components (playing a similar role as the “system libraries” in any Operating System) that applications can use through a well‐defined set of APIs available “as a Service”. Based on these additional components, new innovative applications/services can be designed that will bring a radical optimization of processes and the creation of applications that will exhibit a smart, context‐aware, behavior. Thus, for example, this Operating System will bring components enabling applications to interact with physical objects (the so called Internet of Things made up of sensors and actuators) or with more sophisticated devices such as robots. It will also bring components enabling to gather, publish and process media content or data at  large  scale, handling  them as part of  the context.  In addition,  there will be components enabling  to extract knowledge from historic data applying Big Data analysis, or enabling to build advanced Web‐based User Interfaces that support a much richer experience based on the support of Augmented Reality or 3D visualization features. Applications running on such “computer” will be based on these or other additional components, and they will be always available, seamless accessible, anywhere, from any device.   The next battle will be to dominate the Operating System of the computer in which the Internet will transform. Unless a collaborative effort is made, this battle will be dominated by the existing incumbent players (e.g., Google or  Amazon) with  their  own  proprietary  platforms.  The  FIWARE  goal  is  to make  sure  that  an  open  platform alternative will exist around which a sustainable open innovation‐driven ecosystem can be created. The same way, existence of technologies such a Linux or Apache has been crucial  in how the  Internet and the Web  looks today, existence of an platform alternative like FIWARE can be crucial in how the Internet and the Web may look like in the Future.   The existence of an open platform alternative will ensure that application providers will be able to choose who will provide and operate the environment where their applications will be hosted. Data providers, including Open Data providers, will also be able to choose who will provide and operate the environment where their data will be hosted and exploited. Their decisions can be driven not  just based  in economic savings but the  trustworthiness of  the platform provider. Applications and Data providers can also better protect their investment because of the ability to port applications and data to an alternative platform provider if a given platform provider stops meeting their requirements, thus avoiding getting locked in a given platform provider.  

                                                            1 Available online on https://forge.fi-ware.org/plugins/mediawiki/wiki/fiware/index.php/FIWARE_Frequently_Asked_Questions_%28FAQ%29

              FRACTALS Technical Documentation 

 Page 33 of 43 

Is the FIWARE programme just about creating technology?  Definitely not. The FIWARE programme is not only about providing open technology alternatives but also creating an ecosystem that brings better opportunities to all the stakeholders:  

Application Providers, with special emphasis on SMEs and startups,   Application Customers, some of which also play the role of Data Providers,   Technology Providers.  

 The FIWARE ecosystem will be built based on five pillars:  

The  FIWARE  platform,  which  provides  a  set  of  simple  yet  powerful  standard  APIs  that  ease  the development  of  Future  Internet  applications.  The  public  and  royalty‐free  nature  of  FIWARE  API specifications, together with the existence of products that are open source reference implementations of those APIs, will enable the existence of multiple FIWARE providers and the ability of application as well as data providers to choose what FIWARE provider they trust. You can learn more about FIWARE here.  

The FIWARE Lab, a working instance of the FIWARE platform made available for free experimentation. A place where application providers will be able to test their FIWARE‐based applications with real data and users.  A  place where  entrepreneurs  can  showcase  their  talent  and  ideas  to  potential  customers  and investors. A place, on the other hand, where application customers or investors can more easily discover the entrepreneurs they are looking for. A place where data providers can put their data at work. In sum, a genuine meeting point where innovation takes place! You can learn more about the FIWARE Lab here  

The suite of FIWARE Ops tools, which eases the tasks that a FIWARE provider has to carry out for setting up and operating FIWARE nodes or federating them as part of a new or existing FIWARE instance (e.g., the FIWARE Lab). You can learn more about the FIWARE Ops here.  

The FIWARE Accelerator programme, which provides an umbrella to support specific programs aimed at mobilizing  resources  that  can  help  entrepreneurs  (particularly  SMEs  and  startups)  to  develop  their innovative  ideas  using  FIWARE  and  to  experience  the  benefits  of  joining  the  FIWARE  ecosystem. Business/technical coaching, funding, promotion or support for networking with potential collaborators are the kind of activities to be covered within these programs. The first of these programs,  launched by the European Commission, has mobilized 100 Million euros of which 80 Million will be given away to SMEs and startups using FIWARE. here.  

The FIWARE mundus programme, which aims at promoting FIWARE around the world, trying to make the above pillars present in any region, enabling local FIWARE ecosystems to flourish. You can learn more about the FIWARE mundus programme here.  

 With the creation of such ecosystem, FIWARE will contribute to the growth of the economy, the creation of local jobs and the well‐being in regions where it is adopted.    How can I get in contact?  A number of channels have been established so that you can issue requests or provide feedback. You can find them summarized at:  

http://www.fi‐ware.org/contact‐us/    

7.2 About the FIWARE platform  What is FIWARE?  FIWARE  is a software platform that provides enhanced OpenStack‐based cloud hosting capabilities plus a rich library  of  components  bringing  a  number  of  added‐value  functions  offered  “as  a  Service”.  These  library components provide open standard APIs that make the development of Future Internet applications much easier. Thus, it brings components enabling the connection to the Internet of Things, the support of a smart and context‐

              FRACTALS Technical Documentation 

 Page 34 of 43 

aware behavior through the real‐time processing of data and media content at large scale as well as the analysis of Big Data, or  the  incorporation of advanced Web‐based User  Interface  features  (e.g., Augmented Reality or 3D visualization), among others.   Each component  that  is part of  the FIWARE Reference Architecture  is  referred as a “Generic Enabler  (GE)”. All FIWARE GE specifications are public and royalty‐free, thus enabling alternative implementations of each FIWARE GE coming from different providers.   FIWARE GE  specifications  are  “driven  by  implementation”  as opposed  to  “design  by  a  committee”.  Thus,  the specifications  of  each  FIWARE GE  are  backed  by  an  open  source  reference  implementation.  Thanks  to  that, alternative FIWARE instance providers can emerge faster in the market.    What is a FIWARE GEri?  A product that has been adopted as the open source reference  implementation of a FIWARE GE  is said to be its FIWARE GEri (GE reference implementation). As an example, the FIWARE Context Broker GE is part of the FIWARE Reference Architecture and Orion is the product that has been adopted as the FIWARE Context Broker GEri.   Each open source FIWARE GE reference  implementation (GEri)  is developed, evolved and supported by a set of organizations  that  are  active  contributors  to  the  FIWARE  community.  These  organizations  are  committed  to evolution and support of the technology they are contributing.    What is a FIWARE GEi?  Any product that implements the specifications of a given FIWARE GE is referred as a FIWARE GE implementation (GEi). There may be multiple FIWARE GEis associated to a given FIWARE GE, but only one open source FIWARE GEri that is considered the reference implementation of the specifications linked to that FIWARE GE.    What is the FIWARE Catalogue? What will I find there?  The products that are working as the open source reference  implementation of each FIWARE GE  in the FIWARE Reference Architecture are published in the FIWARE Catalogue.   The FIWARE Catalogue will soon evolve to gather information about:  

FIWARE  GEris  (already  there),  i.e.,  products  offered  as  reference  implementations  of  FIWARE  GE specifications. They are all open  source and  there  is a commitment  to support  them by FIWARE active contributors.  

FIWARE GEis, i.e., products that claim to be compliant with FIWARE GE specifications and look for a place for raising awareness. Note, however, that this won’t mean that the FIWARE community will endorse them or that their compliance has been (or will be) tested. The FIWARE Catalogue will bring an excellent forum where users will be able to share their experiences and feedback using FIWARE GEis.  

Incubated GEs/GEris, i.e., products that the corresponding owner believes that can be integrated as part of  the  FIWARE because a)  they are generic enough and b)  they  cover a gap  in  the FIWARE Reference Architecture so they can fit/integrate well with existing FIWARE GEris and c) they will be provided as open source. They will be advertised and, their traction among the wider community of developers as well as the opportunity to integrate them within FIWARE will be evaluated from time to time so a decision can be taken about whether they should become FIWARE GEs/GEris. The process that will be followed to determine how an incubated GE/GEri can become a FIWARE GE/GEi will be transparent and neutral. It is currently under definition but we expect that it will be ready by the end of the year or first quarter of 2015.  

              FRACTALS Technical Documentation 

 Page 35 of 43 

Domain‐specific FIWARE‐based Frameworks and Specific Enablers, i.e., frameworks developed based on FIWARE or enablers that complement FIWARE GEs/GEris to bring a complete solution for development of applications in specific domains (e.g., eHealth, Smart Agrifood, Smart Cities, etc.).  

  Using FIWARE means “taking it all or nothing”? How easily could I integrate FIWARE into my application?  No. Using FIWARE doesn’t mean taking it all or nothing.   A  fundamental design  principle  in  FIWARE has  been  its modularity.  The  adoption of  this design  principle was targeted to enable a gradual adoption of FIWARE GEs/GEris by application developers. It was also targeted to enable scenarios where FIWARE providers combine a subset of FIWARE GEris with their own FIWARE GEis, or scenarios where FIWARE providers provide a service just focused on a given subset of FIWARE GEs.   As the result of following this modularity design principle, most of the FIWARE GEs/GEris are meaningful and usable standalone.   Most of the FIWARE GEs/GEris support a RESTful API. Integration of your application with them will be as easy as with any other service that provides a RESTful API. Note that FIWARE doesn’t dictate what concrete programming language you use in the development of your application.    What kind of things can FIWARE do for me? How can I incorporate FIWARE gradually?  If you are an application developer, you can gradually incorporate FIWARE GEs in your application. As an example, you may  first  try  to  incorporate  the Context Broker GE  (reference  implementation: Orion)  in your architecture because  it will  allow  you  to  support  context‐awareness  using  standard  FIWARE  APIs.  Context  information  is represented through values assigned to attributes that characterize those entities relevant to your application. The Context Broker GE is able to handle context information at large scale and implements the standard OMA NGSI‐9/10 APIs (OMA NGSI APIs for short) which enable your application to query on context information or subscribe to changes in context information that will be received through notifications. It also enable your application or another systems  to modify  the context  information. This  is why  the OMA NGSI APIs are  said  to work as “the SNMP of Context”.   You may start managing context information that arrives from external systems connected to your application or from end users  interacting with your application using some web portal. Later you may  require  to  incorporate management of  “things” using  sensors/actuators.  This will  require  incorporating  some GEs of  the  FIWARE  IoT chapter as part of your architecture. Those FIWARE GEs will connect to the Context Broker GE and will hide all the complexity  linked to management of different IoT protocols. Actually, using the FIWARE OMA NGSI API, reading from a sensor or actuating on a device will be as easy as to read or write on an attribute associated to some Context entity. Again,  remember  the analogy  to SNMP, which would be extended  to  the management of  the  so‐called “Internet of Things”.   Once you are managing the information about Context in your application using the Context Broker GE, you may introduce some other FIWARE GEs to incorporate more nice features in your application. As an example, you may take advantage of the connectors supported by the Context Broker that automatically upload records generated each time there is a change in the Context to the Datasets Publication GE (reference implementation: CKAN) or the Big Data GE (reference implementation: Cosmos). This way, you can publish part of your Context history as Open Datasets or perform Big Data analysis to extract insights that are relevant to your application (which in turn may enrich the Context).   

              FRACTALS Technical Documentation 

 Page 36 of 43 

Later, you may want to perform some complex processing on Context Information. As an example, you may want to automatically detect scenarios that require triggering some action or raising some alarm. You can then add the FIWARE Complex Event Processing (CEP) as part of the architecture of your applications.   Your  application may  also need  to process or handle multimedia  streams  in  real‐time.  This  is  something  your application can easily perform using the Real‐time Mutlimedia Stream Processing GE (reference  implementation Kurento). Note that part of this processing may  lead to generation of data you may want to manage as Context Information,  consequently  connecting  this  GE  to  the  Context  Broker  GE.  However,  you may  perfectly  use  it standalone, even if your application does not perform any Context Management.   You may also want to incorporate advanced features in your web‐based user interface, e.g., Augmented Reality or 3D visualization features. Then we recommend you to take a look to the FIWARE GEs that have been defined in the Advanced Web‐based User Interface chapter. These components have recently been  incorporated  in FIWARE so we  are  also working  on  their  integration with  other  FIWARE  GEs.  For  example,  you  soon will  be  able  to  fill information  linked to POIs (Points of  Interest) visible  in your user  interface using FIWARE Advanced Web‐based User Interface GEs with context information provided by the Context Broker GE.   These are some examples of what FIWARE can do for you and can do gradually. We are eager to help you in your journey!    Is there anyone who has used it before?  Most of the FIWARE GEris available in the FIWARE Catalogue have been used by their corresponding owners as part of their commercial offerings in the last couple of years.  Several Use Case projects under the Future Internet PPP programme (now renamed as FIWARE PPP programme) have used FIWARE in the development of applications for certain domains (eHealth, Smart Agrifood, Smart Grids, Smart Cities, etc.).   A number of challenges have also been run during the last year to discover a first set of interesting applications that SMEs and startups can build based on FIWARE. The target goal when we launched this challenge was to get early feedback from SMEs and startups that first approach FIWARE. You can find more info about the winners of the first round FIWARE Challenges at: http://www.fi‐ware.org/2014/02/04/winning‐apps‐from‐campus‐party‐brazil/   The second round of FIWARE Challenges will run their finals this week. You may find more info at: http://www.fi‐ware.org/challenges/   All of the feedback gathered during the last year has helped to improve what FIWARE will now deliver to thousands of SMEs and startups. Given said this, the feedback gathered so far has been rather positive. Experience shows that developers can start building applications based on FIWARE in a matter of days.    Is there an active FIWARE online community to ask questions?  Yes. We recommend you to visit http://www.fiware.org/contact‐us/   You will find that there are multiple channels to approach the community and ask specific questions or provide feedback. Please carefully review first the description of all of them so that you send your message to the most appropriate channel. This will ease a faster response while avoiding that the teams taking care of each channel get overloaded with questions that ultimately they will forward to other teams.   As an example, if you are looking for help regarding usage of the FIWARE Lab, you should send a message to fiware‐lab‐[email protected]‐ware.org.  

              FRACTALS Technical Documentation 

 Page 37 of 43 

If  you  need  help  while  using  some  given  FIWARE  GEri  (product  working  as  the  open  source  reference implementation of a FIWARE GE) it might be worth checking first whether such question has already been answered at StackOverflow.com which  is probably the most reputed forum for asking technical questions available on the Internet.  If you are not sure whether your question might be of  interest to many other developers, you should direct your question to fiware‐tech‐[email protected]‐ware.org where it will always get answered, no matter if trivial. However, you might be asked to formulate your question to StackOverflow.com by one member of the FIWARE team.  If  it  is  the  case, please do  so because  this means  that  the  FIWARE  teams have  found  that many other developers will be interested in the answer to your question.    Who owns FIWARE? Is FIWARE open source?  There will be always an open source reference implementation (a FIWARE GEri) for all the FIWARE GEs that are part of the FIWARE Reference Architecture.   Intellectual Property is different from Access Rights. The Intellectual Property of a given FIWARE GEri belongs to the organizations that have contributed to its development. However, any FIWARE GEri is released under a well‐known open source license, enabling its usage, modification or distribution without paying any license fee.   You  can  check  the  “Terms and Conditions”  tab of  the entry associated  to a given FIWARE GEri  in  the FIWARE Catalogue in order to learn what is the open source license under which FIWARE GEri has been released.   There may be proprietary, closed‐source products implementing FIWARE GEs (the so‐called FIWARE GEis). FIWARE GE specifications are public and royalty‐free, enabling any party to create products that implement them, either closed or open source.    Do I need to release my application software as open source if I decide to use FIWARE?  If you decide to modify the software of a given FIWARE GEri, you may have to release the modified version of that software if the open source license of the FIWARE GEri requires to do so.   However, your application will typically just use FIWARE GEris without modifying their implementation, therefore you are not required to release your application as open source if you don’t want to do so.    I have found that some FIWARE GEris are distributed under GPL or AGPL open source licenses … Is it safe for me?  Absolutely. Issues with GPL (or AGPL) licenses are mostly related with the fact that different people assign different interpretations on  the meaning of  the  term  “derivate work” used  in  these  licenses. Due  to  this,  some people understand that there is a risk in just using software under GPL or AGPL licenses (even without modifying it).   In order to avoid any issue, FIWARE GEri owners who have decided to release their software using a GPL or AGPL license are required to make a public statement that says:  Please note that software derived as a result of modifying the source code of this software in order to fix a bug or incorporate enhancements is considered a derivative work of the product. Software that merely uses or aggregates (i.e. links to) an otherwise unmodified version of existing software is not considered a derivative work.   This means that there is absolute no risk that you are forced to release the software that you may have developed using FIWARE GEris under a GPL, AGPL or any other open source license.    

              FRACTALS Technical Documentation 

 Page 38 of 43 

How dependent will you become on owners of products in the FIWARE Catalogue when using FIWARE? What will it cost me exactly?  FIWARE GEris in the FIWARE Catalogue are open source. This implies that you can use and modify them for free.    How can I become an active contributor to the FIWARE community?  We are eager to hear from you if you wish to actively contribute to FIWARE. There may be many ways to contribute: developing  software  that  can  be  contributed  as  part  of  an  existing/new  FIWARE GEri,  as  tester,  documenter, evangelist, trainer, coach, etc.   Please send a message to fiware‐collaboration‐[email protected]‐ware.org if you want to contribute and let us know what you wish to do.    How is a FIWARE instance setup?  A FIWARE instance is setup by combining together a set of FIWARE GEis/GEris. Any organization that sets up and operates a given FIWARE instance is referred as a FIWARE provider. An example of FIWARE instance is the FIWARE Lab.    

7.3 About the FIWARE Lab  What is the FIWARE Lab?  The  FIWARE  Lab  (https://lab.fiware.org)  is  a  non‐commercial  sandbox  environment  where  innovation  and experimentation based on FIWARE technologies takes place. Entrepreneurs can make “hands on” the technology as well as test and showcase their applications on this environment.  Multiple cities in Europe are currently working on setting up a connection to FI‐Lab to export their open data in this environment.    Can I use the FIWARE Lab for whatever I want and how I want?  No. The FIWARE Lab is for non‐commercial use. Usage of the FIWARE Lab is subject to the FIWARE Lab usage terms and conditions  that any user of  the FIWARE Lab has  to accept explicitly when  (s)he creates an account on  the FIWARE Lab.    Does the FIWARE Lab offer infinite resources?  Obviously not. You will get assigned a quota once you create an account on the FIWARE Lab.   Due  to  the  fact  that  resources  are  limited  and  that  there  are  people  rather  eager  to  work  using  FIWARE technologies, we may need to shut down your VMs if we find out you are not using them.   If you are using FIWARE intensively and require more quota, please let us know by sending a message to fiware‐lab‐[email protected]‐ware.org.     

              FRACTALS Technical Documentation 

 Page 39 of 43 

Are there FIWARE Lab nodes/regions outside Europe?  Yes. A FIWARE node in Mexico is currently under friendly testing and it will be soon publicly launched. There are plans under execution targeted to the creation of FIWARE Lab nodes in Brazil and Chile.    If I was interested in running a FIWARE Lab node, whom should I contact?  If you are an organization that is interested in setting up and operating a FIWARE Lab node, please send us an email to fiware‐mundus‐[email protected]‐ware.org. Please note that you will be requested to bring a node that can at least contribute with 100 cores of computing capacity.    

7.4 About the FIWARE Ops suite of tools  What is the FIWARE Ops suite of tools?  FIWARE Ops is a suite of tools that eases the deployment, setup and operation of FIWARE instances by Platform Providers. It is designed to help expanding the infrastructure associated to a given FIWARE instance by means of federating additional nodes (datacenters) over time and allowing cooperation among multiple Platform Providers. FIWARE Ops is the tool used to build, operate and expand the FIWARE Lab.    

7.5 About the FIWARE Accelerator Programme  What is the FIWARE Accelerator Programme?  The  FIWARE  Accelerator  Programme  provides  an  umbrella  to  support  specific  programs  aimed  at mobilizing resources  that can help entrepreneurs  (particularly SMEs and  startups)  to develop  their  innovative  ideas using FIWARE and to experience the benefits of  joining the FIWARE ecosystem. Business/technical coaching,  funding, promotion or support for networking with potential collaborators are the kind of activities to be covered within these programs.   The first of these programs, launched by the European Commission, has mobilized 100 Million euros of which 80 Million will  be  given  away  to  SMEs  and  startups  using  FIWARE.  You  can  learn more  about  the  goals  of  this programme visiting http://www.fi‐ware.org/fiware‐accelerator‐programme/    

7.6 About the FIWARE mundus programme  What is the FIWARE mundus programme?  Despite born in Europe, FIWARE is designed with a global ambition, aiming at expanding to other regions. As a first step, partners  in several countries of Latin America (Mexico, Brazil, Chile, etc.) have decided to  join the FIWARE programme, working on the setup of FIWARE Lab nodes in their countries and promoting FIWARE locally.     

              FRACTALS Technical Documentation 

 Page 40 of 43 

Section 2: FIspace  

8. FIspace Platform  FIspace  is a Future‐Internet‐based extensible SaaS‐platform  fostering seamless, efficient, and effective business collaboration  across  organizational  boundaries.  It  is  an  on‐going  project  in  the  Future  Internet  Public  Private Partnership  (FI – PPP). The objectives of FIspace are  to drive  the development of an  integrated and extensible collaboration  service  together with an  initial  set of domain  applications,  thereby establishing  the  standard  for supporting and optimizing  inter‐organizational business collaboration  in global transport,  logistics, and agri‐food business. The FIspace platform (www.FIspace.eu) developed in the project is a specific implementation based on the general FIWARE technology (www.FIWARE.org) in FI‐PPP.   

8.1 Basic principles of the FIspace platform  The primary goal of the FIspace platform to facilitate online business‐to‐business collaboration (B2B).  The data providers populate the platform with apps, which  in this context are online services to be used by the customers over the Internet. The implementation of these online services (software and database) resides at the provider company and the communication runs directly between the customer and the provider. In this particular call the apps will be developed by SMEs and web entrepreneurs. The role of the FIspace platform is solely to initiate and  log the direct communication between the business enterprises based on authorization mechanisms  in the platform (Fig. 1). This implies that the apps have to comply with certain rules that are set by the FIspace platform. For that purpose app developers will be supported by a software development kit (SDK); more information can be found at http://dev.fispace.eu/doc/wiki/Home: ‘If you are an App Developer’.  

 Communication routes. Blue: FIspace administration. Green: B2B communication. 

 An online service (app) may need data from another service (app). In precision farming, for example, a service which produces decision support for crop protection will need weather data as well as crop details and field boundaries for  creating  spraying maps.  The  farm’s  crop  and  field  data may  reside  at  an  external  Service  (e.g.  advisory administrated database). When this service (web service)  is also represented by an app  in the FIspace platform, then  the platform  can provide  the  required  authorization  for opening  a  secure  and optionally encrypted data exchange between the two services. The same accounts for weather data. Hence the role of an app provider will often be extended to the role of business architect that configures apps and data in order to support a complete B2B collaboration process. This configuration process is also facilitated by the FIspace platform; more information can be found at http://dev.fispace.eu/doc/wiki/Home: ‘If you are a Business Architect’. Several examples of app 

              FRACTALS Technical Documentation 

 Page 41 of 43 

configurations are currently being developed in the FIspace trials (http://www.fispace.eu/leaflet.html). A detailed presentation on the Greenhouse Management & Control trial can be found here.   The FIspace platform logs the necessary data for any financial arrangements between customers and providers as well as between interacting online services.   

8.2 FIspace modules  Seven major building blocks (called modules) constitute the FIspace platform. They are visualized in the figure below and briefly introduced in the text that follows. 

 FIspace modules 

 Core Layers/Tiers: The FIspace platform consists of the following three major tiers (or layers): 

User Front‐End: The User Front‐End serves as the main point of access for users of the platform services and Apps, and constitutes a configurable and graphical user interface. 

B2B Collaboration Core: The B2B Core ensures that all  information and status up‐dates are provided to each involved stakeholder in real‐time. The B2B core allows for the creation, management, execution, and monitoring of collaborative business processes in the FIspace platform.  

System & Data Integration: The System and Data Integration Layer allows for the  integration of existing legacy and business systems as well as the integration of external systems and services. It includes facilities for data mediation. 

 App Store: The App Store provides the tool‐supported infrastructure for providing, finding, and purchasing FIspace Apps, which provide re‐usable IT‐solutions for seamless business collaboration and can be used and combined for the individual needs of users.  Security, Privacy and Trust  Framework: The  Security, Privacy & Trust  framework provides  secure  and  reliable access  and,  where  needed,  exchange  of  confidential  business  information  and  transactions  using  secure authentication  and  authorization  methods  that  meet  required  levels  of  security  assurance.  Authentication, authorization and accounting technologies will provide user management & access control features.   

              FRACTALS Technical Documentation 

 Page 42 of 43 

Design and Run‐time Support: Two key elements of the FIspace platform provide support for design‐time and run‐time activities:  

Software Development Toolkit: The SDK provides tool‐support for the development of FIspace Apps. The SDK will ease the work of App developers during the implementation of the Apps, providing specific tools and hiding the complexity of the platform 

Operating  Environment:  The  Operating  Environment  ensures  the  technical  interoperability  and communication of (possibly distributed) FIspace components and FIspace Apps and the consistent behavior of FIspace. Its main feature is the Cloud Service Bus (CSB) providing event bus and pub/sub capabilities. 

 

 

8.3 FIspace documentation  Depending on your role and profile, please follow the below links to get more information:  

8.3.1 App Developer  App Developers are the actual software and system providers who offer “packaged”/componentized solutions and applications in form of Apps.  For more in information, please refer to the App Developer Guide or In‐depth Documentation.  

8.3.2 Business Architect  Business Architects are the experts (internal or external to the User organization of the supply chain actor) that are in  charge  of  configuring  FIspace  for  their  individual  business  needs.  Particularly  they  define  customized collaborative workflows and connect those workflows with FIspace Apps and backend systems.  For more in information, please refer to the Biz Architect Guide and In‐depth Documentation.  

8.3.3 End User  End Users are the actual (industry) users (aka. supply chain actors) of the collaboration services and Apps provided by FIspace. Those users will be supported in their daily business activities, with special focus on their interaction and collaboration with business partners.  For more in information, please refer to the End User Guide and In‐depth Documentation.   

8.4 FIspace Roadmap  The release plans of the individual platform modules, including already available platform features, can be found here. 

 

8.5 Perspectives of using FIWARE in agriculture based on FIspace  Online services over the Internet are already widely used by agricultural ICT providers. Data exchange exists in a number of cases based on bilateral agreements, and authorisations  for e.g. agricultural advisers and veterinary practitioners to access farm data are often a standard procedure. The FIspace platform offers a novel and more 

              FRACTALS Technical Documentation 

 Page 43 of 43 

efficient way of continuing and extending such  facilities with FIWARE technologies. The benefits of the FIspace platform include: 

authorisations for data exchange in transparent and standardised procedures, 

the exchange and use of data are completely under the customer’s control, 

cost efficient development and maintenance of data exchange facilities, 

the supply of services is easily overviewed and accessed by customers via the platform’s app store, 

new opportunities for B2B collaboration among providers are easily spotted and implemented, 

adapted/customized development of business‐specific information management system.  The FIspace platform and the FIWARE technologies thus provide a feasible solution for an efficient collaboration amongst  independent online  services. A particular and  important aspect  is  that  this opens up an  international market for agricultural ICT. A knowledge‐based decision support system developed in one country can be adapted to  linguistic,  climatic  and  biological  conditions  in  a  second  country  by  a  collaborative  service  delivering  these adaptations.  The FIspace platform is maintained by the FIspace project until the project’s completion by end of April 2015. To ensure a long‐term sustainability of the platform a FIspace foundation is being established that holds the IPR for the open source core of the platform as well as the open specifications. On top of that, an exploitation agreement is  being  established  in  order  to  formalize  the modalities  and  the  conditions  that will  govern  the  commercial exploitation of the project results. The exploitation agreement ensures that the FIspace platform will be available for  app  developers/business  architects  funded  through  the  SmartAgriFood  call  and  that  the  required  level  of support is provided. Check www.FIspace.eu for the latest developments on this.