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
What is the OSGi Technology?
• 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
Application Home Energy Components Control Mgmt Media
M C P H C L A Administrator O A r T o o g S N e T n g e T f P f n s t
OSGi Framework Mgmt System JVM / OS / HW Framework + std OSGi components
!2 COPYRIGHT © 2008-2018 OSGi Alliance. All Rights Reserved
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:
!3 COPYRIGHT © 2008-2018 OSGi Alliance. All Rights Reserved
The OSGi Alliance?
Founded in 1999 Global Proven, Mature Ecosystem Software Architecture
Transparent Development Best Practices Process
Strategic Industry & End Partnerships/ User Adoption Collaboration
!4 COPYRIGHT © 2008-2018 OSGi Alliance. All Rights Reserved
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.
!5 COPYRIGHT © 2008-2018 OSGi Alliance. All Rights Reserved
More Info
OSGi Alliance Email: [email protected] Bishop Ranch 6 2400 Camino Ramon, Online: www.osgi.org Suite 375 San Ramon, CA 94583 Twitter: @OSGiAlliance USA LinkedIn: Phone: +1 (925) 275-6690 https://www.linkedin.com/ Fax: +1 (925) 275 6691 groups/122461
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.
!6 OSGi Alliance © 2008-2016. All Rights Reserved
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 Larsson Makewave AB 7 System Architecture - bus fleet 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 Bus OSGi on-board Agent Operator Bus
OSGi on-board - Ticket Ticket Server Bundles BundlesBundles Agent
OSGi on-board - Ticket Ubicore Bundles BundlesBundles Agent
OSGi on-board - Driver Console Driver Server
Bundles BundlesBundles Agent Back-end
Vehicle network Bus
OSGi Gateways Agent
Christer Larsson Makewave AB 8 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.
Christer Larsson Makewave AB 9 OSGi is an embedded integration platform • OSGi provides a sandbox in which bundles exist and exchange data.
OSGi platform • An API layer is provided to the Application Logic My App WebCam • The Service is logically using a device, but Bundle physically abstracted Web Cam Service
Devices Temp Sens Temp
Temp Meter Temp Controller
Java Virtual Machine (JVM)
Operating System
Local network
Christer Larsson Makewave AB 10 Inside one vehicle Back-end / Cloud
Communication gateway Ubicore Tracking Server Validation Server OSGi on-board Knopflerfish
Bundle Agent Cache
OSGi on-board Knopflerfish Agent OSGi on-board Knopflerfish Agent FMS OSGi on-board Knopflerfish Agent Driver Console Validators
Christer Larsson Makewave AB 11 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.
Christer Larsson Makewave AB 12 Thank you!
Christer Larsson CEO Makewave www.makewave.com
VP EMEA OSGi www.osgi.org
Knopflerfish OSGi www.knopflerfish.org
Christer Larsson Makewave AB 13