SlideShare ist ein Scribd-Unternehmen logo
1 von 19
Downloaden Sie, um offline zu lesen
Bernhard Dorninger | Software Competence Center Hagenberg
Experiences with OSGi
in industrial applications
Content
• Who we are
• Requirements, Implementation and
Experiences
– Runtime platform for computation algorithms (HA)
– Middleware for machine control
– Vehicle sensor data gateway / simulator
• More lessons learnt
• Conclusion
Who we are
• Institution for applied sciences
– outsourced R&D
– deliver and prepare product ideas
– Partner for innovative projects with new
technologies
• Founded July 1999 by departments of
the Johannes Kepler University Linz
• Integral part of the Softwarepark
Hagenberg
• Form of Organisation: Non-Profit Ltd
• ~50 staff members
• Partially founded by the Austrian
Government
• Domain Steelmaking
• Complex computational process models
(PM)
• PM guiding and controlling various tasks
during phases of steelmaking process
Prepare Batch
Slag PouringTappingBottom Stirring
Blowing
Finishing
Main Blowing
Phase
O2 Blowing /
Ignition
Charge Hot
Metal
Charge Scrap
• PM date back to the 70s  Typical problems of ageing
software
• PMs scattered over IT
infrastructure
• Various types of deployment artifacts
• Inconsistent interfaces
• Inaccurate or lacking documentation
Computation Runtime: Context
Computation Runtime: Requirements
• Overall project goals
– Reducing efforts for PM maintenance and testing
– Shortening PM rollout times
– Reducing troubleshooting times
• Functional Requirements
– Pluggable PM components
– Versioning support
– Unified data access
– Legacy code integration
– Rule based & parallel
execution
– Integration with modern IDE
• NF Requirements
– High availability (24x7)
– Fault tolerant
– Portability (Win, OpenVMS)
– Preferably based OSS
– Simplicity for PM maintainers
(metallurgists)
Computation Runtime: Implementation
• Located at Level 2 (ISA-95)
• CR acts as container for PM,
manages PM instances and
their metadata
• executes computations
based on simple rules
• Generic data access
framework: passive or active
data acquisition
• Uses third party process DB
Computation Runtime: Implementation
/ Experiences
• Implementation based on Eclipse Equinox
– from V3.2 on sufficiently stable
– Some issues with OpenVMS  changes in OSGi core and
runtime
– Some infrastructure bundles (CM) from Knopflerfish
• Pluggable PM modules with versions: out of the box
• Legacy code support: there, but doesn’t solve JNI
stability issues
• Parallel execution with help of Eclipse runtime jobs
• Execution rules: compiled Boolean expressions
Computation Runtime: Stability & HA
• Framework itself proved very stable
• PM bundles might be unstable
– Unstable native code crashes whole CR
 launch PMs containing native code in own process
 Automatic version fallback: “last known good PM version”
– Computations (or callbacks) may block
 CR and PM communication must be interruptible any
time
• PM bundles might be greedy / evil
 Restricting PM code via OSGI Permission Management
– Works for e.g. thread or socket operations
– Not for excessive memory usage/turnover and CR’s SPI
usage
• More measures to achieve High Availability:
– Full standby system – may be switched within seconds
– Isolation of experimental PMs in their own runtime.
– Delayed PM bundle updates: only in certain process
phases
– Blocking PM configuration (via OSGi CM) on operative
PMs
• Recovery
– OSGi framework state
– additional state information saved via OSGi
preferences service
Computation Runtime: Stability & HA
Machine Control MW: Context / Req.
• Domain machine automation
• Middleware for decoupling HMI & other clients from
PLCs
• Must support product lines
– Large number of different (but related) machines
– Vast variety of feature options for each machine
– Different vendors of PLCs
• Restricted HW resources (CPU, RAM)
• Dynamic updates of SW during machine operation
• Broad range of functions: read and influence machine
state, variables, operations
Machine Control MW: Implementation
• CS adapters as set of bundles
• Machine and Movement
model based on Eclipse EMF
• Services realized as set of
bundles
• Varying functionality as full
bundles or as fragments
• Binding between modules via
declarative services
• HMI integrated into MW - directly using OSGi services
– Coupling remote HMIs via ECF/remote OSGi
– Other clients (host) coupled via WebServices (Jetty as httpd)
Machine Control MW: Experiences
• Declarative services: Easy to use, dependencies more
comprehensible
• ECF/remote OSGi
– Alternatives examined: dOSGi, RMI based proprietary solution
– ECF because of support in Eclipse + performance
– Runs well, only some minor issues: e.g. rOSGi Provider
silently fails upon CNFE
– ECF/rOSGi – EMF: (Eclipse Issue 245014): problems with
serializing of EMF objects: workaround via manual
externalization
• Machine Data Sync initially with Eclipse CDO
– Promising functionality, but too much heap dynamics
– too low performance on target system
– dependencies bloated code base
Sensor Data Gateway (SG)
• SW gateway for collection, preprocessing and
transmission of vehicle data
• Deployed into car - part of infotainment system
– Easy update of components during operation
– Remote diagnosis
– Configurable data filters
– Event detection (e.g.
emergencies)
– Limited resources (Java CDC)
– “self healing” capabilities
SG Simulator
• Distributed simulation of vast amount of vehicles
• Flexible amount of simulator slave nodes
• Playback of prerecorded vehicle data
• Flexible data variance per
vehicle session
• Multiple data sources per
simulation scenario possible
• Reuses most of SG code
base
SG: Architecture / Implementation
• Layered architecture
• Core bundles are common to SG
and simulator
• Special functionality for SG and
Simulator in optional bundles
 SG: CAN + GPS Listener,
FCDFactory
 Sim: Remote Control (M/S),
FCDReader
• Dynamic extensions
 SG: Preprocessing Classificators
 Sim: Value interceptors  Data
variance
SG: Experiences
• Straightforward application customization
– Different applications with shared core
– Module structure eases maintenance
• SW updates on running vehicle out of the box
• Sim M/S communication:
– First prototype used proprietary protocol (DRPC)
– switching to ECF/remoteServices in the future
• OSGi Execution environments proved helpful
– SG: Java Mobile CDC
– Simulator: Java 6
More lessons learnt
• Following best practices pays off
• Granularity of bundles: Encapsulate code in own bundle if
– can be reused in other context
– has to be maintained independently
• Separation of API interfaces and implementation bundles:
– Increases # bundles
– decouples dependent bundles: allows easy change of
implementation
• Bundle dependencies may become very complex
– Increases with package level dependencies (and version
matching)
– Impossible to handle without tool support
More lessons learnt
• Dynamic nature of OSGi must be taken care of
– Can’t rely on permanent bundle/service availability
– Possible awkward behavior upon bundle update: e.g.
Dependency graph rerouting restarts bundles.
– Classloading may raise confusing issues esp. combined w.
reflection
• Declarative Services help reducing complexity
– DS for optional or lazily needed services
– exposed and needed services obvious at development time
• Testing
– Testing can easily be automated
– Full test bundles for (partial) integration testing 
Continuous Integration
– Bundle fragments for non public package testing
Conclusion
• We use OSGi mainly for headless, server-like
applications
• OSGi applicable for industrial applications
– Sufficient stability (of implementation of choice)
– Offers everything for dynamic modifications
– Rather small footprint
– Runs in reduced environments
• Some constraints though
– Not for time critical (Hard RT) applications
– Cannot eliminate Java’s stability risks

Weitere ähnliche Inhalte

Was ist angesagt?

Building Business on Top of Open Source
Building Business on Top of Open SourceBuilding Business on Top of Open Source
Building Business on Top of Open SourceOpen Networking Summit
 
Introducing ONAP for OpenStack St Louis Meetup
Introducing ONAP for OpenStack St Louis MeetupIntroducing ONAP for OpenStack St Louis Meetup
Introducing ONAP for OpenStack St Louis Meetupdjzook
 
OIF Transport SDN Interop - ECOC 2016
OIF Transport SDN Interop - ECOC 2016OIF Transport SDN Interop - ECOC 2016
OIF Transport SDN Interop - ECOC 2016Deborah Porchivina
 
Transport SDN Interoperability Program with OIF
Transport SDN Interoperability Program with OIFTransport SDN Interoperability Program with OIF
Transport SDN Interoperability Program with OIFDeborah Porchivina
 
A Survey of Recent Advances in Network Planning/Traffic Engineering (TE) Tools
A Survey of Recent Advances in Network Planning/Traffic Engineering (TE) ToolsA Survey of Recent Advances in Network Planning/Traffic Engineering (TE) Tools
A Survey of Recent Advances in Network Planning/Traffic Engineering (TE) ToolsVishal Sharma, Ph.D.
 
Carrier Strategies for Backbone Traffic Engineering and QoS
Carrier Strategies for Backbone Traffic Engineering and QoSCarrier Strategies for Backbone Traffic Engineering and QoS
Carrier Strategies for Backbone Traffic Engineering and QoSVishal Sharma, Ph.D.
 
Coexistence of Commercial Solutions with Open Source OPNFV Platform
Coexistence of Commercial Solutions with Open Source OPNFV PlatformCoexistence of Commercial Solutions with Open Source OPNFV Platform
Coexistence of Commercial Solutions with Open Source OPNFV PlatformOPNFV
 
The Third Network: LSO, SDN and NFV
The Third Network: LSO, SDN and NFVThe Third Network: LSO, SDN and NFV
The Third Network: LSO, SDN and NFVOPNFV
 
Software Defined Networks Network Function Virtualization Pivotal Technologies
Software Defined Networks Network Function Virtualization Pivotal TechnologiesSoftware Defined Networks Network Function Virtualization Pivotal Technologies
Software Defined Networks Network Function Virtualization Pivotal TechnologiesOpen Networking Summits
 
Openflow for Mobile Broadband service providers_Nov'11
Openflow for Mobile Broadband service providers_Nov'11Openflow for Mobile Broadband service providers_Nov'11
Openflow for Mobile Broadband service providers_Nov'11Radhakant Das
 
LINE's Infrastructure Platform: How It Scales Massive Services and Maintains ...
LINE's Infrastructure Platform: How It Scales Massive Services and Maintains ...LINE's Infrastructure Platform: How It Scales Massive Services and Maintains ...
LINE's Infrastructure Platform: How It Scales Massive Services and Maintains ...LINE Corporation
 
Open Source Approach to Design and Deployment of Microservices-based VNF
Open Source Approach to Design and Deployment of Microservices-based VNFOpen Source Approach to Design and Deployment of Microservices-based VNF
Open Source Approach to Design and Deployment of Microservices-based VNFOpen Networking Summit
 
The Interoperability Challenge in Telecom and NFS Environments
The Interoperability Challenge in Telecom and NFS EnvironmentsThe Interoperability Challenge in Telecom and NFS Environments
The Interoperability Challenge in Telecom and NFS EnvironmentsOpen Networking Summit
 
“Is My Model Performing Well? It Depends…,” a Presentation from BMW Group
“Is My Model Performing Well? It Depends…,” a Presentation from BMW Group“Is My Model Performing Well? It Depends…,” a Presentation from BMW Group
“Is My Model Performing Well? It Depends…,” a Presentation from BMW GroupEdge AI and Vision Alliance
 
Follow me cloud-when cloud services follow mobile users
Follow me cloud-when cloud services follow mobile usersFollow me cloud-when cloud services follow mobile users
Follow me cloud-when cloud services follow mobile usersFinalyearprojects Toall
 

Was ist angesagt? (20)

NFV Testing
NFV TestingNFV Testing
NFV Testing
 
Building Business on Top of Open Source
Building Business on Top of Open SourceBuilding Business on Top of Open Source
Building Business on Top of Open Source
 
SDN Framework and APIs
SDN Framework and APIsSDN Framework and APIs
SDN Framework and APIs
 
Container Service Chaining
Container Service ChainingContainer Service Chaining
Container Service Chaining
 
What a difference 5 years make
What a difference 5 years makeWhat a difference 5 years make
What a difference 5 years make
 
Introducing ONAP for OpenStack St Louis Meetup
Introducing ONAP for OpenStack St Louis MeetupIntroducing ONAP for OpenStack St Louis Meetup
Introducing ONAP for OpenStack St Louis Meetup
 
OIF Transport SDN Interop - ECOC 2016
OIF Transport SDN Interop - ECOC 2016OIF Transport SDN Interop - ECOC 2016
OIF Transport SDN Interop - ECOC 2016
 
Transport SDN Interoperability Program with OIF
Transport SDN Interoperability Program with OIFTransport SDN Interoperability Program with OIF
Transport SDN Interoperability Program with OIF
 
A Survey of Recent Advances in Network Planning/Traffic Engineering (TE) Tools
A Survey of Recent Advances in Network Planning/Traffic Engineering (TE) ToolsA Survey of Recent Advances in Network Planning/Traffic Engineering (TE) Tools
A Survey of Recent Advances in Network Planning/Traffic Engineering (TE) Tools
 
Carrier Strategies for Backbone Traffic Engineering and QoS
Carrier Strategies for Backbone Traffic Engineering and QoSCarrier Strategies for Backbone Traffic Engineering and QoS
Carrier Strategies for Backbone Traffic Engineering and QoS
 
Coexistence of Commercial Solutions with Open Source OPNFV Platform
Coexistence of Commercial Solutions with Open Source OPNFV PlatformCoexistence of Commercial Solutions with Open Source OPNFV Platform
Coexistence of Commercial Solutions with Open Source OPNFV Platform
 
The Third Network: LSO, SDN and NFV
The Third Network: LSO, SDN and NFVThe Third Network: LSO, SDN and NFV
The Third Network: LSO, SDN and NFV
 
Software Defined Networks Network Function Virtualization Pivotal Technologies
Software Defined Networks Network Function Virtualization Pivotal TechnologiesSoftware Defined Networks Network Function Virtualization Pivotal Technologies
Software Defined Networks Network Function Virtualization Pivotal Technologies
 
Openflow for Mobile Broadband service providers_Nov'11
Openflow for Mobile Broadband service providers_Nov'11Openflow for Mobile Broadband service providers_Nov'11
Openflow for Mobile Broadband service providers_Nov'11
 
LINE's Infrastructure Platform: How It Scales Massive Services and Maintains ...
LINE's Infrastructure Platform: How It Scales Massive Services and Maintains ...LINE's Infrastructure Platform: How It Scales Massive Services and Maintains ...
LINE's Infrastructure Platform: How It Scales Massive Services and Maintains ...
 
Open Source Approach to Design and Deployment of Microservices-based VNF
Open Source Approach to Design and Deployment of Microservices-based VNFOpen Source Approach to Design and Deployment of Microservices-based VNF
Open Source Approach to Design and Deployment of Microservices-based VNF
 
The Interoperability Challenge in Telecom and NFS Environments
The Interoperability Challenge in Telecom and NFS EnvironmentsThe Interoperability Challenge in Telecom and NFS Environments
The Interoperability Challenge in Telecom and NFS Environments
 
“Is My Model Performing Well? It Depends…,” a Presentation from BMW Group
“Is My Model Performing Well? It Depends…,” a Presentation from BMW Group“Is My Model Performing Well? It Depends…,” a Presentation from BMW Group
“Is My Model Performing Well? It Depends…,” a Presentation from BMW Group
 
Follow me cloud-when cloud services follow mobile users
Follow me cloud-when cloud services follow mobile usersFollow me cloud-when cloud services follow mobile users
Follow me cloud-when cloud services follow mobile users
 
Resume_Satheesh Kumar K R
Resume_Satheesh Kumar K RResume_Satheesh Kumar K R
Resume_Satheesh Kumar K R
 

Ähnlich wie OSGi Community Event 2010 - Experiences with OSGi in Industrial Applications

API-driven Legacy Migration: Results from Project Winterfell
API-driven Legacy Migration: Results from Project WinterfellAPI-driven Legacy Migration: Results from Project Winterfell
API-driven Legacy Migration: Results from Project WinterfellKeith McFarlane
 
Blasting Out of the Past with OSGi - Keith McFarlane
Blasting Out of the Past with OSGi - Keith McFarlaneBlasting Out of the Past with OSGi - Keith McFarlane
Blasting Out of the Past with OSGi - Keith McFarlanemfrancis
 
EuroMPI 2013 presentation: McMPI
EuroMPI 2013 presentation: McMPIEuroMPI 2013 presentation: McMPI
EuroMPI 2013 presentation: McMPIDan Holmes
 
IBM MQ - Comparing Distributed and z/OS platforms
IBM MQ - Comparing Distributed and z/OS platformsIBM MQ - Comparing Distributed and z/OS platforms
IBM MQ - Comparing Distributed and z/OS platformsMarkTaylorIBM
 
TRACK F: OpenCL for ALTERA FPGAs, Accelerating performance and design product...
TRACK F: OpenCL for ALTERA FPGAs, Accelerating performance and design product...TRACK F: OpenCL for ALTERA FPGAs, Accelerating performance and design product...
TRACK F: OpenCL for ALTERA FPGAs, Accelerating performance and design product...chiportal
 
Latest (storage IO) patterns for cloud-native applications
Latest (storage IO) patterns for cloud-native applications Latest (storage IO) patterns for cloud-native applications
Latest (storage IO) patterns for cloud-native applications OpenEBS
 
OSGi In Anger - Tara Simpson
OSGi In Anger - Tara SimpsonOSGi In Anger - Tara Simpson
OSGi In Anger - Tara Simpsonmfrancis
 
Lessons learned from building Eclipse-based add-ons for commercial modeling t...
Lessons learned from building Eclipse-based add-ons for commercial modeling t...Lessons learned from building Eclipse-based add-ons for commercial modeling t...
Lessons learned from building Eclipse-based add-ons for commercial modeling t...IncQuery Labs
 
IBM MQ - Comparing Distributed and z/OS platforms
IBM MQ - Comparing Distributed and z/OS platformsIBM MQ - Comparing Distributed and z/OS platforms
IBM MQ - Comparing Distributed and z/OS platformsMarkTaylorIBM
 
OSDC 2018 | Three years running containers with Kubernetes in Production by T...
OSDC 2018 | Three years running containers with Kubernetes in Production by T...OSDC 2018 | Three years running containers with Kubernetes in Production by T...
OSDC 2018 | Three years running containers with Kubernetes in Production by T...NETWAYS
 
Building IoT Mashups for Industry 4.0 with Eclipse Kura and Kura Wires
Building IoT Mashups for Industry 4.0 with Eclipse Kura and Kura WiresBuilding IoT Mashups for Industry 4.0 with Eclipse Kura and Kura Wires
Building IoT Mashups for Industry 4.0 with Eclipse Kura and Kura WiresEclipse Kura
 
Building IoT Mashups for Industry 4.0 with Eclipse Kura and Kura Wires
Building IoT Mashups for Industry 4.0 with Eclipse Kura and Kura WiresBuilding IoT Mashups for Industry 4.0 with Eclipse Kura and Kura Wires
Building IoT Mashups for Industry 4.0 with Eclipse Kura and Kura WiresEurotech
 
OS for AI: Elastic Microservices & the Next Gen of ML
OS for AI: Elastic Microservices & the Next Gen of MLOS for AI: Elastic Microservices & the Next Gen of ML
OS for AI: Elastic Microservices & the Next Gen of MLNordic APIs
 
Greg Maxey - Electric Cloud - Process as Code: An Introduction to the Electri...
Greg Maxey - Electric Cloud - Process as Code: An Introduction to the Electri...Greg Maxey - Electric Cloud - Process as Code: An Introduction to the Electri...
Greg Maxey - Electric Cloud - Process as Code: An Introduction to the Electri...DevOps Enterprise Summit
 
Hia 1693-effective application-development_in_iib
Hia 1693-effective application-development_in_iibHia 1693-effective application-development_in_iib
Hia 1693-effective application-development_in_iibAndrew Coleman
 
Contract-Based Web Services API Deep Dive
Contract-Based Web Services API Deep DiveContract-Based Web Services API Deep Dive
Contract-Based Web Services API Deep DiveGabriel Michaud
 
2016-Automation-Summit_PA_SIMIT.pdf
2016-Automation-Summit_PA_SIMIT.pdf2016-Automation-Summit_PA_SIMIT.pdf
2016-Automation-Summit_PA_SIMIT.pdfLuisJonathanBahamaca
 
Coexistence of GMPLS and OpenFlow: rationale & approaches
Coexistence of GMPLS and OpenFlow: rationale & approachesCoexistence of GMPLS and OpenFlow: rationale & approaches
Coexistence of GMPLS and OpenFlow: rationale & approachesFIBRE Testbed
 
Service oriented online architecture using mule
Service oriented online architecture using muleService oriented online architecture using mule
Service oriented online architecture using mulemdfkhan625
 
SOA Mainframe Service Architecture and Enablement Practices Best and Worst Pr...
SOA Mainframe Service Architecture and Enablement Practices Best and Worst Pr...SOA Mainframe Service Architecture and Enablement Practices Best and Worst Pr...
SOA Mainframe Service Architecture and Enablement Practices Best and Worst Pr...Michael Erichsen
 

Ähnlich wie OSGi Community Event 2010 - Experiences with OSGi in Industrial Applications (20)

API-driven Legacy Migration: Results from Project Winterfell
API-driven Legacy Migration: Results from Project WinterfellAPI-driven Legacy Migration: Results from Project Winterfell
API-driven Legacy Migration: Results from Project Winterfell
 
Blasting Out of the Past with OSGi - Keith McFarlane
Blasting Out of the Past with OSGi - Keith McFarlaneBlasting Out of the Past with OSGi - Keith McFarlane
Blasting Out of the Past with OSGi - Keith McFarlane
 
EuroMPI 2013 presentation: McMPI
EuroMPI 2013 presentation: McMPIEuroMPI 2013 presentation: McMPI
EuroMPI 2013 presentation: McMPI
 
IBM MQ - Comparing Distributed and z/OS platforms
IBM MQ - Comparing Distributed and z/OS platformsIBM MQ - Comparing Distributed and z/OS platforms
IBM MQ - Comparing Distributed and z/OS platforms
 
TRACK F: OpenCL for ALTERA FPGAs, Accelerating performance and design product...
TRACK F: OpenCL for ALTERA FPGAs, Accelerating performance and design product...TRACK F: OpenCL for ALTERA FPGAs, Accelerating performance and design product...
TRACK F: OpenCL for ALTERA FPGAs, Accelerating performance and design product...
 
Latest (storage IO) patterns for cloud-native applications
Latest (storage IO) patterns for cloud-native applications Latest (storage IO) patterns for cloud-native applications
Latest (storage IO) patterns for cloud-native applications
 
OSGi In Anger - Tara Simpson
OSGi In Anger - Tara SimpsonOSGi In Anger - Tara Simpson
OSGi In Anger - Tara Simpson
 
Lessons learned from building Eclipse-based add-ons for commercial modeling t...
Lessons learned from building Eclipse-based add-ons for commercial modeling t...Lessons learned from building Eclipse-based add-ons for commercial modeling t...
Lessons learned from building Eclipse-based add-ons for commercial modeling t...
 
IBM MQ - Comparing Distributed and z/OS platforms
IBM MQ - Comparing Distributed and z/OS platformsIBM MQ - Comparing Distributed and z/OS platforms
IBM MQ - Comparing Distributed and z/OS platforms
 
OSDC 2018 | Three years running containers with Kubernetes in Production by T...
OSDC 2018 | Three years running containers with Kubernetes in Production by T...OSDC 2018 | Three years running containers with Kubernetes in Production by T...
OSDC 2018 | Three years running containers with Kubernetes in Production by T...
 
Building IoT Mashups for Industry 4.0 with Eclipse Kura and Kura Wires
Building IoT Mashups for Industry 4.0 with Eclipse Kura and Kura WiresBuilding IoT Mashups for Industry 4.0 with Eclipse Kura and Kura Wires
Building IoT Mashups for Industry 4.0 with Eclipse Kura and Kura Wires
 
Building IoT Mashups for Industry 4.0 with Eclipse Kura and Kura Wires
Building IoT Mashups for Industry 4.0 with Eclipse Kura and Kura WiresBuilding IoT Mashups for Industry 4.0 with Eclipse Kura and Kura Wires
Building IoT Mashups for Industry 4.0 with Eclipse Kura and Kura Wires
 
OS for AI: Elastic Microservices & the Next Gen of ML
OS for AI: Elastic Microservices & the Next Gen of MLOS for AI: Elastic Microservices & the Next Gen of ML
OS for AI: Elastic Microservices & the Next Gen of ML
 
Greg Maxey - Electric Cloud - Process as Code: An Introduction to the Electri...
Greg Maxey - Electric Cloud - Process as Code: An Introduction to the Electri...Greg Maxey - Electric Cloud - Process as Code: An Introduction to the Electri...
Greg Maxey - Electric Cloud - Process as Code: An Introduction to the Electri...
 
Hia 1693-effective application-development_in_iib
Hia 1693-effective application-development_in_iibHia 1693-effective application-development_in_iib
Hia 1693-effective application-development_in_iib
 
Contract-Based Web Services API Deep Dive
Contract-Based Web Services API Deep DiveContract-Based Web Services API Deep Dive
Contract-Based Web Services API Deep Dive
 
2016-Automation-Summit_PA_SIMIT.pdf
2016-Automation-Summit_PA_SIMIT.pdf2016-Automation-Summit_PA_SIMIT.pdf
2016-Automation-Summit_PA_SIMIT.pdf
 
Coexistence of GMPLS and OpenFlow: rationale & approaches
Coexistence of GMPLS and OpenFlow: rationale & approachesCoexistence of GMPLS and OpenFlow: rationale & approaches
Coexistence of GMPLS and OpenFlow: rationale & approaches
 
Service oriented online architecture using mule
Service oriented online architecture using muleService oriented online architecture using mule
Service oriented online architecture using mule
 
SOA Mainframe Service Architecture and Enablement Practices Best and Worst Pr...
SOA Mainframe Service Architecture and Enablement Practices Best and Worst Pr...SOA Mainframe Service Architecture and Enablement Practices Best and Worst Pr...
SOA Mainframe Service Architecture and Enablement Practices Best and Worst Pr...
 

Mehr von mfrancis

Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...mfrancis
 
OSGi and Java 9+ - BJ Hargrave (IBM)
OSGi and Java 9+ - BJ Hargrave (IBM)OSGi and Java 9+ - BJ Hargrave (IBM)
OSGi and Java 9+ - BJ Hargrave (IBM)mfrancis
 
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)mfrancis
 
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank LyaruuOSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruumfrancis
 
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...mfrancis
 
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...mfrancis
 
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...mfrancis
 
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)mfrancis
 
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...mfrancis
 
OSGi CDI Integration Specification - Ray Augé (Liferay)
OSGi CDI Integration Specification - Ray Augé (Liferay)OSGi CDI Integration Specification - Ray Augé (Liferay)
OSGi CDI Integration Specification - Ray Augé (Liferay)mfrancis
 
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...mfrancis
 
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...mfrancis
 
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...mfrancis
 
Popular patterns revisited on OSGi - Christian Schneider (Adobe)
Popular patterns revisited on OSGi - Christian Schneider (Adobe)Popular patterns revisited on OSGi - Christian Schneider (Adobe)
Popular patterns revisited on OSGi - Christian Schneider (Adobe)mfrancis
 
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)mfrancis
 
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)mfrancis
 
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...mfrancis
 
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)mfrancis
 
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...mfrancis
 
How to connect your OSGi application - Dirk Fauth (Bosch)
How to connect your OSGi application - Dirk Fauth (Bosch)How to connect your OSGi application - Dirk Fauth (Bosch)
How to connect your OSGi application - Dirk Fauth (Bosch)mfrancis
 

Mehr von mfrancis (20)

Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
 
OSGi and Java 9+ - BJ Hargrave (IBM)
OSGi and Java 9+ - BJ Hargrave (IBM)OSGi and Java 9+ - BJ Hargrave (IBM)
OSGi and Java 9+ - BJ Hargrave (IBM)
 
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
 
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank LyaruuOSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
 
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...
 
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
 
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
 
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
 
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
 
OSGi CDI Integration Specification - Ray Augé (Liferay)
OSGi CDI Integration Specification - Ray Augé (Liferay)OSGi CDI Integration Specification - Ray Augé (Liferay)
OSGi CDI Integration Specification - Ray Augé (Liferay)
 
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
 
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
 
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
 
Popular patterns revisited on OSGi - Christian Schneider (Adobe)
Popular patterns revisited on OSGi - Christian Schneider (Adobe)Popular patterns revisited on OSGi - Christian Schneider (Adobe)
Popular patterns revisited on OSGi - Christian Schneider (Adobe)
 
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
 
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
 
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
 
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
 
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
 
How to connect your OSGi application - Dirk Fauth (Bosch)
How to connect your OSGi application - Dirk Fauth (Bosch)How to connect your OSGi application - Dirk Fauth (Bosch)
How to connect your OSGi application - Dirk Fauth (Bosch)
 

Kürzlich hochgeladen

Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 

Kürzlich hochgeladen (20)

Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 

OSGi Community Event 2010 - Experiences with OSGi in Industrial Applications

  • 1. Bernhard Dorninger | Software Competence Center Hagenberg Experiences with OSGi in industrial applications
  • 2. Content • Who we are • Requirements, Implementation and Experiences – Runtime platform for computation algorithms (HA) – Middleware for machine control – Vehicle sensor data gateway / simulator • More lessons learnt • Conclusion
  • 3. Who we are • Institution for applied sciences – outsourced R&D – deliver and prepare product ideas – Partner for innovative projects with new technologies • Founded July 1999 by departments of the Johannes Kepler University Linz • Integral part of the Softwarepark Hagenberg • Form of Organisation: Non-Profit Ltd • ~50 staff members • Partially founded by the Austrian Government
  • 4. • Domain Steelmaking • Complex computational process models (PM) • PM guiding and controlling various tasks during phases of steelmaking process Prepare Batch Slag PouringTappingBottom Stirring Blowing Finishing Main Blowing Phase O2 Blowing / Ignition Charge Hot Metal Charge Scrap • PM date back to the 70s  Typical problems of ageing software • PMs scattered over IT infrastructure • Various types of deployment artifacts • Inconsistent interfaces • Inaccurate or lacking documentation Computation Runtime: Context
  • 5. Computation Runtime: Requirements • Overall project goals – Reducing efforts for PM maintenance and testing – Shortening PM rollout times – Reducing troubleshooting times • Functional Requirements – Pluggable PM components – Versioning support – Unified data access – Legacy code integration – Rule based & parallel execution – Integration with modern IDE • NF Requirements – High availability (24x7) – Fault tolerant – Portability (Win, OpenVMS) – Preferably based OSS – Simplicity for PM maintainers (metallurgists)
  • 6. Computation Runtime: Implementation • Located at Level 2 (ISA-95) • CR acts as container for PM, manages PM instances and their metadata • executes computations based on simple rules • Generic data access framework: passive or active data acquisition • Uses third party process DB
  • 7. Computation Runtime: Implementation / Experiences • Implementation based on Eclipse Equinox – from V3.2 on sufficiently stable – Some issues with OpenVMS  changes in OSGi core and runtime – Some infrastructure bundles (CM) from Knopflerfish • Pluggable PM modules with versions: out of the box • Legacy code support: there, but doesn’t solve JNI stability issues • Parallel execution with help of Eclipse runtime jobs • Execution rules: compiled Boolean expressions
  • 8. Computation Runtime: Stability & HA • Framework itself proved very stable • PM bundles might be unstable – Unstable native code crashes whole CR  launch PMs containing native code in own process  Automatic version fallback: “last known good PM version” – Computations (or callbacks) may block  CR and PM communication must be interruptible any time • PM bundles might be greedy / evil  Restricting PM code via OSGI Permission Management – Works for e.g. thread or socket operations – Not for excessive memory usage/turnover and CR’s SPI usage
  • 9. • More measures to achieve High Availability: – Full standby system – may be switched within seconds – Isolation of experimental PMs in their own runtime. – Delayed PM bundle updates: only in certain process phases – Blocking PM configuration (via OSGi CM) on operative PMs • Recovery – OSGi framework state – additional state information saved via OSGi preferences service Computation Runtime: Stability & HA
  • 10. Machine Control MW: Context / Req. • Domain machine automation • Middleware for decoupling HMI & other clients from PLCs • Must support product lines – Large number of different (but related) machines – Vast variety of feature options for each machine – Different vendors of PLCs • Restricted HW resources (CPU, RAM) • Dynamic updates of SW during machine operation • Broad range of functions: read and influence machine state, variables, operations
  • 11. Machine Control MW: Implementation • CS adapters as set of bundles • Machine and Movement model based on Eclipse EMF • Services realized as set of bundles • Varying functionality as full bundles or as fragments • Binding between modules via declarative services • HMI integrated into MW - directly using OSGi services – Coupling remote HMIs via ECF/remote OSGi – Other clients (host) coupled via WebServices (Jetty as httpd)
  • 12. Machine Control MW: Experiences • Declarative services: Easy to use, dependencies more comprehensible • ECF/remote OSGi – Alternatives examined: dOSGi, RMI based proprietary solution – ECF because of support in Eclipse + performance – Runs well, only some minor issues: e.g. rOSGi Provider silently fails upon CNFE – ECF/rOSGi – EMF: (Eclipse Issue 245014): problems with serializing of EMF objects: workaround via manual externalization • Machine Data Sync initially with Eclipse CDO – Promising functionality, but too much heap dynamics – too low performance on target system – dependencies bloated code base
  • 13. Sensor Data Gateway (SG) • SW gateway for collection, preprocessing and transmission of vehicle data • Deployed into car - part of infotainment system – Easy update of components during operation – Remote diagnosis – Configurable data filters – Event detection (e.g. emergencies) – Limited resources (Java CDC) – “self healing” capabilities
  • 14. SG Simulator • Distributed simulation of vast amount of vehicles • Flexible amount of simulator slave nodes • Playback of prerecorded vehicle data • Flexible data variance per vehicle session • Multiple data sources per simulation scenario possible • Reuses most of SG code base
  • 15. SG: Architecture / Implementation • Layered architecture • Core bundles are common to SG and simulator • Special functionality for SG and Simulator in optional bundles  SG: CAN + GPS Listener, FCDFactory  Sim: Remote Control (M/S), FCDReader • Dynamic extensions  SG: Preprocessing Classificators  Sim: Value interceptors  Data variance
  • 16. SG: Experiences • Straightforward application customization – Different applications with shared core – Module structure eases maintenance • SW updates on running vehicle out of the box • Sim M/S communication: – First prototype used proprietary protocol (DRPC) – switching to ECF/remoteServices in the future • OSGi Execution environments proved helpful – SG: Java Mobile CDC – Simulator: Java 6
  • 17. More lessons learnt • Following best practices pays off • Granularity of bundles: Encapsulate code in own bundle if – can be reused in other context – has to be maintained independently • Separation of API interfaces and implementation bundles: – Increases # bundles – decouples dependent bundles: allows easy change of implementation • Bundle dependencies may become very complex – Increases with package level dependencies (and version matching) – Impossible to handle without tool support
  • 18. More lessons learnt • Dynamic nature of OSGi must be taken care of – Can’t rely on permanent bundle/service availability – Possible awkward behavior upon bundle update: e.g. Dependency graph rerouting restarts bundles. – Classloading may raise confusing issues esp. combined w. reflection • Declarative Services help reducing complexity – DS for optional or lazily needed services – exposed and needed services obvious at development time • Testing – Testing can easily be automated – Full test bundles for (partial) integration testing  Continuous Integration – Bundle fragments for non public package testing
  • 19. Conclusion • We use OSGi mainly for headless, server-like applications • OSGi applicable for industrial applications – Sufficient stability (of implementation of choice) – Offers everything for dynamic modifications – Rather small footprint – Runs in reduced environments • Some constraints though – Not for time critical (Hard RT) applications – Cannot eliminate Java’s stability risks