FI-WARE und FIspace – Nutzung vorhandener Lösungskomponenten und Entwicklung eigener Applikationen Peter Einramhof ATB Institut für angewandte Systemtechnik Bremen GmbH
FI-WARE und FIspace – Nutzung vorhandener Lösungskomponenten und Entwicklung eigener Applikationen
Peter Einramhof
ATB Institut für angewandte Systemtechnik Bremen GmbH
• FI-WARE und Specific Enabler
• Der Specific Enabler FIspace – eine SaaS-Plattform
• Das FIspace-Ökosystem
• App-Entwicklung unter FIspace
• Beispiel einer FIspace App: PIA – Product Information App
• Potenzial für Entwickler und Endanwender
Überblick
2
FI-WARE – Elemente und Ebenen
3
Generic Enabler z.B. Wirecloud
FIWARE Hosting (FI LAB)
Internet
Specific Enabler Hier: FIspace
Anwendungen z.B. FIspace Apps
FI-WARE – Elemente und Ebenen
3
Generic Enabler z.B. Wirecloud
FIWARE Hosting (FI LAB)
Internet
Specific Enabler Hier: FIspace
Anwendungen z.B. FIspace Apps
• Stellen wiederverwendbare Funktionalität bereit
• Bauen auf Generic Enablern auf, sind aber im Gegensatz zu GEs domänen-spezifisch
• Software-as-a-Service Plattformen (SaaS)
– Software und IT-Infrastruktur werden bei einem externen IT-Dienstleister betrieben und vom Kunden als Service genutzt werden
– Für die Nutzung wird ein internetfähiger Computer sowie die Internetanbindung an den externen IT-Dienstleister benötigt
– Der Zugriff auf die Software wird meist über einen Webbrowser realisiert
Was sind Specific Enabler?
4
Beispiele für Specific Enabler und Domänen
5
FIspace
FINESCE
FI-STAR
FITMAN
FI-Content 2
Lebensmittelkette, Transport, Logistik
Food Manufacturing
Multimedia & Content Provision
Energieerzeugung& -nutzung
Maschinenbau; Produktion
Gesundheit
Beispiele für Specific Enabler und Domänen
5
FIspace
FINESCE
FI-STAR
FITMAN
FI-Content 2
Lebensmittelkette, Transport, Logistik
Food Manufacturing
Multimedia & Content Provision
Energieerzeugung& -nutzung
Maschinenbau; Produktion
Gesundheit
• FIspace: Future Internet Business Collaboration Networks in Agri-Food, Transport and Logistics
• Entwicklung einer erweiterbaren SaaS-Plattform zur Unterstützung von unternehmensübergreifenden Business-Prozessen durch Apps und An-bindung externer Systeme (im Rahmen des gleichnamigen EU-Projekts)
• Entwicklung eines Standards für die Unterstützung von unternehmensüber-greifenden Prozessen in den Bereichen Transport, Logistik und Agri-Food
• Einbindung, Test und Validierung der FI-WARE Generic Enablers – Feedback für ihre Weiterentwicklung
• Umfangreiche Erprobung der Plattform in verschiedenen realen Anwen-dungsfällen
Der Specific Enabler FIspace
6
Modulare Erweiterbarkeit der FIspace Plattform durch Trennung von Funktionalität (Apps) und Workflow (Business-Prozess)
• Funktionalität unabhängig vom spezifischen Business-Prozess Wieder-verwendbarkeit
• Bereitstellen von Funktionalität in Form von „Business-Capabilities“, z.B. zur Verfügung stellen von Produktinformation oder Wetterdaten
– Capability-Typ: Definition von Request und Response sowie das Datenmodell der Nutzinformation
– Capability: Capability-Typ und URI einer bestimmten App, die den Capability-Typ implementiert
• Konfigurierbare Workflows kombinieren und nutzen Business-Capabilities (Apps) sowie externe Systeme und Services
• Zwei Rollen: App-Entwickler und Business-Architekt
Trennung von Funktionalität und Workflow
7
FIspace-Apps und Business-Prozesse
8
Das FIspace Ökosystem
9
• Einstiegspunkt für Nutzer der FIspace-Plattform, speziell zum „Dashboard“ mit den erworbenen Apps und Zugang zum FIspace-Store
• Erstellen von Benutzerprofil und Firmenprofil sowie Suche nach anderen Benutzern und Firmen
• Herstellen von Geschäftsbeziehungen und Kommunikation mit anderen FIspace-Benutzern bzw. Firmen
• Gründen von Communities oder bestehenden Communities beitreten
• Benachrichtigungen an andere Benutzer senden und Chat
• Analytics: Aufrufe des eigenen Profils durch andere Benutzer oder Firmen
• „Kanban Board“ zur Verwaltung persönlicher Aufgaben
• Verschiedene Sprachen und Themes
FIspace Front-End (verwendet WireCloud GE)
10
FIspace Front-End – Dashboard
11
• Instanziierung, Management, Ausführung und Überwachung von Business-prozessen innerhalb der FIspace Plattform
• Bündelung von Informationen, die zwischen Akteuren ausgetauscht wer-den, Status und Steuerung der Businessprozesse in „Business Entities“
• Überwachung von Abläufen in Businessprozessen oder Events von IoT-Geräten und Erkennung von Situationen, auf die reagiert werden muss
• Weiterleitung aller Informationen und Statusbenachrichtigungen an die beteiligten Akteure in Echtzeit
• Authoring Tools (SDK): zur Erstellung von Business Entities und Event-Regeln
B2B Collaboration Core
12
Ermöglicht die Integration existierender Legacy-Systeme und anderer externer Systeme und Services (z.B. IoT oder 3rd Party Services) durch:
• Software-Tool unterstütze Mechanismen zur Erstellung so genannter „Connectors“ zu externen Systemen (z.B. für Standards wie EDI)
• APIs zum Import/Export von Daten (z.B. REST, SOAP)
• Mechanismen zur Datentransformation/-mediation (vom Quellsystem zum Zielsystem)
• Bereitstellen einer robusten, skalierbaren Infrastruktur zur Integration von der FIspace Plattform, externen Legacy- und IoT-Systemen und Apps
System & Data Integration (SDI)
13
Stellt Infrastruktur bereit zum
• Anbieten (Hochladen direkt vom FIspace SDK),
• Finden,
• Kauf und
• Bewerten von FIspace Apps
Über den Store wird auch der Vertrag („Contract“) zwischen FIspace-Benutzern bzw. Firmen abgeschlossen, der die Basis für die Geschäftsprozesse ist, die durch die Apps unterstützt werden.
FIspace App Store
14
Das Modul „SPT“ stellt Funktionalität zur Benutzerverwaltung und Sicherheit bereit:
• Authentifizierung (Single Sign-on)
• Autorisierung
• Accounting (Nutzungsstatistiken)
• Definition von Benutzerrolle(n)
• Zugriffsrechte auf (App-)Ressourcen
• Das SPT Framework basiert auf:
– KeyCloak (für SSO & IDM)
– Access Control GE
Security, Privacy & Trust Framework (SPT)
15
Zwei Schlüsselelemente der FIspace Plattform unterstützen Design und Laufzeit:
• Software Development Toolkit (SDK): erleichtert die Arbeit des App-Entwicklers durch die Bereitstellung spezifischer Werkzeuge und verbirgt die Komplexität der Plattform
• Operating Environment: sorgt für die technische Interoperabilität und Kommunikation von (verteilten) FIspace-Komponenten und FIspace-Apps und das konsistente Verhalten der Plattform. Das Hauptfeature ist der Cloud Service Bus (CSB)
Design- und Laufzeit-Support
16
Für den App-Entwickler:
• Als Plugin für Entwicklungsumgebung „Eclipse“
• Als Standalone-Version „FIspace Studio“
• Anlegen von Projektstrukturen
• Templates für Apps
• Einbinden von Abhängigkeiten/Libraries Im Moment nur für Java
Für den Business-Architekten:
• Hilfe bei Erstellung von Business-Prozesse-Modellen
– Editor zur Erzeugung sowie Bearbeitung von „Business Entities“ und deren Deployment im B2B Core der Fispace Platform
– Editor zur Überwachung und Auswertung von FIspace-internen und externen Events
FIspace Software Development Kit (SDK)
17
• FIspace SDK
• Authoring Tools für die Bearbeitung von Business Entities sowie die Einbindung und Auswertung von Events
• FIspace-Plattform Module, die bereits oft benötigte Funktionalität zur Verfügung stellen (SPT, SDI, B2B, …)
• Bereitstellen einer Testumgebung („Experimentation Environment“)
• FIspace Wiki: Dokumentation, HowTos und Links
• FIspace Community – derzeit FIspace-Plattformentwickler und FIspace Open Call Partner (App-Entwickler)
• IRC Chat Channel mit FIspace-Plattformentwicklern
Unterstützung von App-Entwicklern und Business-Architekten durch FIspace
18
FIWARE-Anwendungen (Apps)
19
Generic Enabler z.B. Wirecloud
FIWARE Hosting (FI LAB)
Internet
Specific Enabler Hier: FIspace
Anwendungen Hier: FIspace Apps
FIWARE-Anwendungen (Apps)
19
Generic Enabler z.B. Wirecloud
FIWARE Hosting (FI LAB)
Internet
Specific Enabler Hier: FIspace
Anwendungen Hier: FIspace Apps
Eine FIspace App besteht aus:
• Front-End:
– Grafische Benutzeroberfläche – Visualisierung, Interaktion mit dem Benutzer
– „W3C widget“ (HTML5, CSS, JavaScript), läuft im FIspace Front-End
• Back-End:
– Implementiert die Funktionalität der App und bietet diese in Form von „Capabilities“ an FIspace an
– Verbindung zwischen dem App Front-End, Datenspeicher, der FIspace Plattform und anderen App Back-Ends
– Programmiersprache im Prinzip beliebig
– Ein Backend kann entweder ein oder mehrere Front-Ends bedienen
• Nutzdatenspeicherung – optional (FIspace speichert keine Nutzdaten)
– Datenbank, Cloud-Speicher, lokaler Speicher
Komponenten einer FIspace App
20
FIspace Plattform
FIspace Front-End
Architekturbeispiel einer „typischen“ FIspace App
21
App Front-End W3C widget: HMTL 5,
CSS & JavaScript
App Back-End z.B. Java, Spring Framework, Datenmodel & SDI Connector
Nutzdaten-speicher
z.B. MongoDB
RESTful Web
Services
System & Data Integration
Cloud Service Bus Security, Privacy &
Trust
B2B Core
Messages
CRUD
AJAX
Capabilities
PIA ist a „initiale“ FIspace App mit dem Zweck:
• Den unternehmensübergreifenden Austausch von Produktqualitäts-information zwischen Akteuren der Lebensmittelkette zu ermöglichen
• Grundlage bilden für
– die Nachverfolgbarkeit in der Lebensmittelkette durch Verbinden von eingehenden und ausgehenden Produkten
– die Bereitstellung von maßgeschneiderten Produktinformationen für Konsumenten
– das Detektieren und Kommunizieren von produktbezogenen Risiken
– die Vorhersage der Verfügbarkeit von Produkten, speziell von leicht verderblichen Produkten wie frisches Obst und Gemüse
– das Melden der Bewegungen und Verwaltung von Mehrwegbehältern
Beispiel einer Fispace App: PIA – Product Information App
22
Beispiel der Verwendung einer FIspace-App (PIA) in einem Business-Prozess
23
FIspace Platform
B2B Core
Products Products
Product quality information
Business Entity
Notification
Trader
PIA
Outgoing Incoming
Retailer
PIA
Incoming
Farmer
PIA
Outgoing
Product quality information
Feedback
Mapping
Business Entity
Notification Feedback
Beispiel der Verwendung einer FIspace-App (PIA) in einem Business-Prozess
23
Products Products
Product quality information
Business Entity
Notification
Trader
PIA
Outgoing Incoming
Retailer
PIA
Incoming
Farmer
PIA
Outgoing
Product quality information
Feedback
Mapping
Business Entity
Notification Feedback
Shipment identified as Business Entity and reference for product quality information
Beispiel der Verwendung einer FIspace-App (PIA) in einem Business-Prozess
23
Products Products
Product quality information
Notification
Trader
PIA
Outgoing Incoming
Retailer
PIA
Incoming
Farmer
PIA
Outgoing
Product quality information
Feedback
Mapping
Notification Feedback App configuration • Business customization • Product profiles • Backend settings
Beispiel der Verwendung einer FIspace-App (PIA) in einem Business-Prozess
23
B2B Core
Products Products
Product quality information
Business Entity
Notification
Trader
PIA
Outgoing Incoming
Retailer
PIA
Incoming
Farmer
PIA
Outgoing
Product quality information
Feedback
Mapping
Business Entity
Notification Feedback
Adding of product quality information
Forwarding of product quality information
Beispiel der Verwendung einer FIspace-App (PIA) in einem Business-Prozess
23
Products Products
Product quality information
Notification
Trader
PIA
Outgoing Incoming
Retailer
PIA
Incoming
Farmer
PIA
Outgoing
Product quality information
Feedback
Mapping
Notification Feedback
Linking incoming & outgoing goods • Establish traceability • Re-use of information
Beispiel der Verwendung einer FIspace-App (PIA) in einem Business-Prozess
23
B2B Core
Products Products
Product quality information
Business Entity
Notification
Trader
PIA
Outgoing Incoming
Retailer
PIA
Incoming
Farmer
PIA
Outgoing
Product quality information
Feedback
Mapping
Business Entity
Notification Feedback
Product quality related feedback to supplier
• Auf vorhandene Basistechnologien aufsetzen – „das Rad nicht neu erfinden“
• Trennung von Funktionalität (Apps) und Workflow (Business-Prozess) Rollen von App-Entwickler & Business-Architekt
– Wiederverwendbarkeit von Apps bzw. von deren „Business-Capabilities“
– App-Entwickler kann sich auf Funktionalität konzentrieren
– Business-Architekt kann sich auf die Umsetzung der Workflows konzentrieren
• Support für Entwickler durch Tools, Dokumentation und Testinfrastruktur
• FIspace – erweiterbare, konfigurierbare SaaS-Plattform
• Geringe Einstiegshürde, da keine große Investition in IT-Infrastruktur nötig ist, bevor man FIspace nutzen kann
FI-WARE – Vorteile für Entwickler und Endanwender
24
Fragen?