OSGi Overview - Industrial Internet Consortium...OSGi Alliance Bishop Ranch 6 2400 Camino Ramon,...
Transcript of OSGi Overview - Industrial Internet Consortium...OSGi Alliance Bishop Ranch 6 2400 Camino Ramon,...
COPYRIGHT © 2008-2018 OSGi Alliance. All Rights Reserved
OSGi Overview OSGi Alliance and IIC Joint Liaison Workshop Christer Larsson VP EMEA OSGi Alliance CEO Makewave
2018-05-24, Helsinki
COPYRIGHT © 2008-2018 OSGi Alliance. All Rights Reserved!2
What is the OSGi Technology?
JVM / OS / HW
OSGi Framework
Administrator
Mgmt System
ApplicationComponents
Framework + std OSGi components
Home Control
Energy Mgmt Media
Agent
Log
Conf
HTTP
Prefs
CAN
MOST
Home Control
• OSGi is a Standardized Software Execution Environment • Component based module system defined in Java • Open Standard defined by the OSGi Alliance • Service oriented & remotely managed (OMA & TR-69) • Works like an operating system for small applications called Bundles • Ideal for a home gateway, IoT gateway, or similar equipment
COPYRIGHT © 2008-2018 OSGi Alliance. All Rights Reserved!3
The OSGi Alliance• The OSGi Alliance is worldwide, non-profit consortium • Creates and controls the OSGi Specifications • The OSGi Technology is uses in a wide range of open
source projects and commercial products for IoT, cloud and enterprise markets.
• OSGi Alliance members include:
COPYRIGHT © 2008-2018 OSGi Alliance. All Rights Reserved!4
The OSGi Alliance?
Proven, Mature Software Architecture
Transparent Development
Process
Strategic Partnerships/Collaboration
Founded in 1999Global
Ecosystem
Best Practices
Industry & End User Adoption
COPYRIGHT © 2008-2018 OSGi Alliance. All Rights Reserved!5
OSGi Alliance Deliverables• To foster a valuable cross-industry ecosystem, the OSGi
Alliance delivers: • Specifications • Reference Implementations • Test Suites • Certifications
We are proud to be a democratic, collaborative, and non-profit organization that is operating in a fully transparent environment
and open to everyone to join and contribute.
More Info
OSGi is a trademark or registered trademark of the OSGi Alliance in the United States, other countries, or both. Java and all Java based trademarks and logos are trademarks of the Oracle Corporation in the United States, other countries, or both. All other product or service names are the property of their respective owners.
OSGi Alliance Bishop Ranch 6 2400 Camino Ramon, Suite 375 San Ramon, CA 94583 USA
Phone: +1 (925) 275-6690 Fax: +1 (925) 275 6691
Email: [email protected] Online: www.osgi.org
Twitter: @OSGiAlliance
LinkedIn: https://www.linkedin.com/groups/122461
!6 OSGi Alliance © 2008-2016. All Rights Reserved
7
Real world example of a bus fleet system based on OSGi
• An example of a bus fleet system based on Makewave’s OSGi Technology
• Knopflerfish OSGi edge device stack
• Ubicore - a remote management system for edge devices
• ~5 000 buses, edge bus having ~5 edge devices running OSGi.
Christer LarssonMakewave AB
Back-end
Operator
Christer LarssonMakewave AB
System Architecture - bus fleet
8
Bus
OSGi on-board - Driver Console
Agent
All buses are equipped with one or more OSGi based on-board computers / devices. Each OSGi platform has a management agent which connects it to Ubicore
Vehicle network
BundlesBundlesBundles
OSGi on-board - Ticket
AgentBundlesBundlesBundles
OSGi on-board - Ticket
AgentBundlesBundlesBundles
BusOSGi on-board
BusOSGi Gateways
Ubicore
Agent
Agent
Ticket Server
Driver Server
Christer LarssonMakewave AB
System Architecture - bus fleet• Every bus has one or more on-board computers that has an embedded
OSGi platform (Knopflerfish)
• The on-board computers are connected to the in-vehicle network (FMS)
• The on-board computers are connected to each other (in-vehicle IP)
• Every on-board computer has an OSGi management agent. The agent is responsible for the connection to Ubicore and performs mgmt tasks decided by Ubicore.
• All business logic is implemented as OSGi bundles. The business logic bundles are all managed via Ubicore.
• The business logic bundles sends / receives data directly to/from its corresponding back-end server. I.e. the IP traffic is not routed via Ubicore
• The Ubicore server is part of the complete back-end server infrastructure. It is integrated with other parts via a REST API.
9
Christer LarssonMakewave AB
OSGi is an embedded integration platform
10
Java Virtual Machine (JVM)
OSGi platform
Operating System
• OSGi provides a sandbox in which bundles exist and exchange data.
• An API layer is provided to the Application Logic
• The Service is logically using a device, but physically abstracted
Local network
Devices
Temp Sens
Temp Meter
Temp
Temp Controller
WebCam
Web Cam Service
My App Bundle
Back-end / Cloud
Christer LarssonMakewave AB
Inside one vehicle
11
OSGi on-boardKnopflerfish
OSGi on-boardKnopflerfish
Driver ConsoleValidators
Communication gateway
Ubicore Validation Server
FMS
Tracking Server
Agent
Agent
OSGi on-boardKnopflerfish
Agent
OSGi on-boardKnopflerfish
BundleCache
Agent
Christer LarssonMakewave AB
Benefits with an OSGi solution
• Clear separation between business logic (implemented as OSGi bundles) and lower lever parts device code (C/C++).
• Uniform architecture - exactly the same business logic bundles can be used regardless of on-board computer architecture (ARM, X86). No need to recompile, or support different versions.
• Remotely Managed and Flexible - it is very easy to add, remove or update functionality in the business logic layer over time.
12
Christer LarssonMakewave AB
Thank you!
13
Christer LarssonCEO Makewave
www.makewave.com
VP EMEA OSGiwww.osgi.org
Knopflerfish OSGiwww.knopflerfish.org