SlideShare a Scribd company logo
1 of 10
Introducing OSGi technology to existing
projects
Nils Hofseth Andersen
Managing Consultant
Capgemini
| Technology Services
In collaboration with
About this Short Talk
 Experiences from projects Capgemini has done in
collaboration with StatoilHydro. 3 months project
experience condensed to less that 10 minutes.
 So in one hand you have your existing project. In the other
hand you have OSGi technology. Where to go from there?
Which challenges to expect?
| Technology Services
In collaboration with
First: Why did we introduce OSGi?
Client
Information
Systems
 Several Swing rich client applications – working with data from several
information systems. The need for modularity/isolation on the client
increases.
 By using Equinox we’re one step towards a transition to Eclipse RCP
| Technology Services
In collaboration with
Reorganizing the source code
“System”
v2.1
Logistics
Client
v1.0
Logistics
Domain
v1.1
Client
Framework
v2.1
Operations
Client
v2.0
 We split the system into components, based on high level
functionality, which we wanted to be version able
independently of each other
 This typically means reorganizing the source code in the
source code control system.
 If your system contains parts which are highly cohesive with
little coupling, this is easy. Otherwise…
| Technology Services
In collaboration with
One thing to keep in mind
 A few large components means less flexibility
 Many small components means high administrative overhead
Complexity/Adm
Component Size
| Technology Services
In collaboration with
Refactoring the source code
Client Framework
Modules (bundles)
 From static linking of modules
– to dynamic discovery of bundles (extender model)
 Reduced couplings between the framework / modules
| Technology Services
In collaboration with
Build System
 Moved from Ant to Maven+Ant
• Mainly due to
 Better versioning and dependency support
 A standard repository for several concurrent versions of our components
• Also started using the pom files as our main project definitions, and
to generate Eclipse project files from the pom files.
 Not using PDE, but rather bundleize the code during the
build with BND.
Component, e.g.
“Accounting”
BND
properties
Bundles
Maven
| Technology Services
In collaboration with
Testing & Deployment
 More emphasis on integration testing in order to verify the
bundle configurations (Manifests). Our applications are
Spring based (even the clients), so we can use Spring
Dynamic Modules for integration testing.
 We are still using Java Web Start for the client applications,
but the JNLP files needs to be modified since the client runs
in an OSGi container.
 So far the deployments on the server side has not changed
much. The server code is packaged as web applications, so
WebSphere takes care of the isolation required.
| Technology Services
In collaboration with
Changes for the Developers
 We wanted to make OSGi usage as transparent as possible
• Maximize time spent on solving business problems
• Minimize time spent on technical complexities
• Not using PDE in our kind of projects
 One reason OSGi “hiding” works for us is that we have very
similar public interfaces for all the client modules, and little
need for individual tuning of the Manifests.
 Currently more changes has risen from the switch from Ant
to Maven / POM’s
| Technology Services
In collaboration with
Summary
 Most areas of the software development environment
needed modification
 Code changes was kept to a minimum, mostly thanks to the
fact that our code already was fairly modular. Parts of the
client framework had to be enhanced to handle the dynamic
nature of OSGi.
 Our goal is to benefit from OSGi on the client side without
directly interacting with it, similar to how we indirectly use
OSGi on WebSphere 6.1.

More Related Content

What's hot

Polyglot Persistence in Azure
Polyglot Persistence in AzurePolyglot Persistence in Azure
Polyglot Persistence in AzureMarco Parenzan
 
Introducing "PaaS in a Box" – Scalable, Flexible, Portable PHP in the Cloud
Introducing "PaaS in a Box" – Scalable, Flexible, Portable PHP in the CloudIntroducing "PaaS in a Box" – Scalable, Flexible, Portable PHP in the Cloud
Introducing "PaaS in a Box" – Scalable, Flexible, Portable PHP in the CloudRightScale
 
Responsive Ui with Realtime Database
Responsive Ui with Realtime DatabaseResponsive Ui with Realtime Database
Responsive Ui with Realtime DatabaseOutSystems
 
Case Study: Integration Automation Create Delightful API Docs
Case Study: Integration Automation Create Delightful API DocsCase Study: Integration Automation Create Delightful API Docs
Case Study: Integration Automation Create Delightful API DocsPronovix
 
Scribe insight 03 elevating performance
Scribe insight 03   elevating performanceScribe insight 03   elevating performance
Scribe insight 03 elevating performanceScribe Software Corp.
 
Angular Is Better Enterprise Level Applications
Angular Is Better Enterprise Level ApplicationsAngular Is Better Enterprise Level Applications
Angular Is Better Enterprise Level ApplicationsAngelina Ilieva
 
Modifying and Extending the ESB Toolkit
Modifying and Extending the ESB ToolkitModifying and Extending the ESB Toolkit
Modifying and Extending the ESB ToolkitBizTalk360
 
Azure Integration in Production with Logic Apps and more
Azure Integration in Production with Logic Apps and moreAzure Integration in Production with Logic Apps and more
Azure Integration in Production with Logic Apps and moreBizTalk360
 
Super slideshow 2
Super slideshow 2Super slideshow 2
Super slideshow 2zhangxw205
 
2019-01-8 - Consumer Driven Contracts at Codefreeze
2019-01-8 - Consumer Driven Contracts at Codefreeze2019-01-8 - Consumer Driven Contracts at Codefreeze
2019-01-8 - Consumer Driven Contracts at CodefreezeNelis Boucké
 
Scribe online 02 event based integration
Scribe online 02   event based integrationScribe online 02   event based integration
Scribe online 02 event based integrationScribe Software Corp.
 
The citizen integrator
The citizen integratorThe citizen integrator
The citizen integratorBizTalk360
 
Gengo Jaws Days Tokyo 2014 Presentation
Gengo Jaws Days Tokyo  2014 PresentationGengo Jaws Days Tokyo  2014 Presentation
Gengo Jaws Days Tokyo 2014 PresentationDerek Szydlowski
 
API First Workflow: How could we have better API Docs through DevOps pipeline
API First Workflow: How could we have better API Docs through DevOps pipelineAPI First Workflow: How could we have better API Docs through DevOps pipeline
API First Workflow: How could we have better API Docs through DevOps pipelinePronovix
 
Scribe insight 01 publisher deep dive
Scribe insight 01   publisher deep diveScribe insight 01   publisher deep dive
Scribe insight 01 publisher deep diveScribe Software Corp.
 
Scribe online 01 best practices for sol performance
Scribe online 01   best practices for sol performanceScribe online 01   best practices for sol performance
Scribe online 01 best practices for sol performanceScribe Software Corp.
 

What's hot (20)

Polyglot Persistence in Azure
Polyglot Persistence in AzurePolyglot Persistence in Azure
Polyglot Persistence in Azure
 
Introducing "PaaS in a Box" – Scalable, Flexible, Portable PHP in the Cloud
Introducing "PaaS in a Box" – Scalable, Flexible, Portable PHP in the CloudIntroducing "PaaS in a Box" – Scalable, Flexible, Portable PHP in the Cloud
Introducing "PaaS in a Box" – Scalable, Flexible, Portable PHP in the Cloud
 
Scribe insight 04 insight 7.9.0
Scribe insight 04   insight 7.9.0Scribe insight 04   insight 7.9.0
Scribe insight 04 insight 7.9.0
 
Responsive Ui with Realtime Database
Responsive Ui with Realtime DatabaseResponsive Ui with Realtime Database
Responsive Ui with Realtime Database
 
Case Study: Integration Automation Create Delightful API Docs
Case Study: Integration Automation Create Delightful API DocsCase Study: Integration Automation Create Delightful API Docs
Case Study: Integration Automation Create Delightful API Docs
 
Scribe insight 02 need for speed
Scribe insight 02   need for speedScribe insight 02   need for speed
Scribe insight 02 need for speed
 
Scribe insight 03 elevating performance
Scribe insight 03   elevating performanceScribe insight 03   elevating performance
Scribe insight 03 elevating performance
 
Angular Is Better Enterprise Level Applications
Angular Is Better Enterprise Level ApplicationsAngular Is Better Enterprise Level Applications
Angular Is Better Enterprise Level Applications
 
Modifying and Extending the ESB Toolkit
Modifying and Extending the ESB ToolkitModifying and Extending the ESB Toolkit
Modifying and Extending the ESB Toolkit
 
Resume
ResumeResume
Resume
 
Azure Integration in Production with Logic Apps and more
Azure Integration in Production with Logic Apps and moreAzure Integration in Production with Logic Apps and more
Azure Integration in Production with Logic Apps and more
 
Super slideshow 2
Super slideshow 2Super slideshow 2
Super slideshow 2
 
Gib azure sap
Gib   azure sapGib   azure sap
Gib azure sap
 
2019-01-8 - Consumer Driven Contracts at Codefreeze
2019-01-8 - Consumer Driven Contracts at Codefreeze2019-01-8 - Consumer Driven Contracts at Codefreeze
2019-01-8 - Consumer Driven Contracts at Codefreeze
 
Scribe online 02 event based integration
Scribe online 02   event based integrationScribe online 02   event based integration
Scribe online 02 event based integration
 
The citizen integrator
The citizen integratorThe citizen integrator
The citizen integrator
 
Gengo Jaws Days Tokyo 2014 Presentation
Gengo Jaws Days Tokyo  2014 PresentationGengo Jaws Days Tokyo  2014 Presentation
Gengo Jaws Days Tokyo 2014 Presentation
 
API First Workflow: How could we have better API Docs through DevOps pipeline
API First Workflow: How could we have better API Docs through DevOps pipelineAPI First Workflow: How could we have better API Docs through DevOps pipeline
API First Workflow: How could we have better API Docs through DevOps pipeline
 
Scribe insight 01 publisher deep dive
Scribe insight 01   publisher deep diveScribe insight 01   publisher deep dive
Scribe insight 01 publisher deep dive
 
Scribe online 01 best practices for sol performance
Scribe online 01   best practices for sol performanceScribe online 01   best practices for sol performance
Scribe online 01 best practices for sol performance
 

Viewers also liked

Procés d’adequació a la normativa de protecció de dades personals
Procés d’adequació a la normativa de protecció de dades personalsProcés d’adequació a la normativa de protecció de dades personals
Procés d’adequació a la normativa de protecció de dades personalsPrivadesa
 
Plano de representação no Brasil para operadores estrangeiros
Plano de representação no Brasil para operadores estrangeirosPlano de representação no Brasil para operadores estrangeiros
Plano de representação no Brasil para operadores estrangeirosJulian Aude
 
31 la generosidad-andres
31 la generosidad-andres31 la generosidad-andres
31 la generosidad-andresAndres797
 
29 nociones de power point andres
29 nociones de power point andres29 nociones de power point andres
29 nociones de power point andresAndres797
 
Somnath City Plots For resale,8459137252
Somnath City Plots For resale,8459137252Somnath City Plots For resale,8459137252
Somnath City Plots For resale,8459137252somnathbuildtech
 
GLOBALISATION IN INDIA - GATEWAYS AND PITFALLS
GLOBALISATION IN INDIA - GATEWAYS AND PITFALLSGLOBALISATION IN INDIA - GATEWAYS AND PITFALLS
GLOBALISATION IN INDIA - GATEWAYS AND PITFALLSIAEME Publication
 
31 ébola andres
31 ébola andres31 ébola andres
31 ébola andresAndres797
 
Socratic Presentation_JWW
Socratic Presentation_JWWSocratic Presentation_JWW
Socratic Presentation_JWWpappy76
 
Teaching with the Socratic Method - American Honors Faculty Conference 2016
Teaching with the Socratic Method - American Honors Faculty Conference 2016Teaching with the Socratic Method - American Honors Faculty Conference 2016
Teaching with the Socratic Method - American Honors Faculty Conference 2016American Honors
 
Què necessites per complir la llei de protecció de dades personals
Què necessites per complir la llei de protecció de dades personalsQuè necessites per complir la llei de protecció de dades personals
Què necessites per complir la llei de protecció de dades personalsPrivadesa
 
Com complir la Llei de protecció de dades
Com complir la Llei de protecció de dadesCom complir la Llei de protecció de dades
Com complir la Llei de protecció de dadesPrivadesa
 
Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Appsinovex GmbH
 
Application configuration in containers
Application configuration in containersApplication configuration in containers
Application configuration in containersinovex GmbH
 
La normativa de accesibilidad en CLM: balance de su aplicación y cambios prev...
La normativa de accesibilidad en CLM: balance de su aplicación y cambios prev...La normativa de accesibilidad en CLM: balance de su aplicación y cambios prev...
La normativa de accesibilidad en CLM: balance de su aplicación y cambios prev...JCCM1925
 

Viewers also liked (17)

Procés d’adequació a la normativa de protecció de dades personals
Procés d’adequació a la normativa de protecció de dades personalsProcés d’adequació a la normativa de protecció de dades personals
Procés d’adequació a la normativa de protecció de dades personals
 
Plano de representação no Brasil para operadores estrangeiros
Plano de representação no Brasil para operadores estrangeirosPlano de representação no Brasil para operadores estrangeiros
Plano de representação no Brasil para operadores estrangeiros
 
31 la generosidad-andres
31 la generosidad-andres31 la generosidad-andres
31 la generosidad-andres
 
29 nociones de power point andres
29 nociones de power point andres29 nociones de power point andres
29 nociones de power point andres
 
Somnath City Plots For resale,8459137252
Somnath City Plots For resale,8459137252Somnath City Plots For resale,8459137252
Somnath City Plots For resale,8459137252
 
GLOBALISATION IN INDIA - GATEWAYS AND PITFALLS
GLOBALISATION IN INDIA - GATEWAYS AND PITFALLSGLOBALISATION IN INDIA - GATEWAYS AND PITFALLS
GLOBALISATION IN INDIA - GATEWAYS AND PITFALLS
 
31 ébola andres
31 ébola andres31 ébola andres
31 ébola andres
 
Socratic Presentation_JWW
Socratic Presentation_JWWSocratic Presentation_JWW
Socratic Presentation_JWW
 
14 cognicion-musical
14 cognicion-musical14 cognicion-musical
14 cognicion-musical
 
Teaching with the Socratic Method - American Honors Faculty Conference 2016
Teaching with the Socratic Method - American Honors Faculty Conference 2016Teaching with the Socratic Method - American Honors Faculty Conference 2016
Teaching with the Socratic Method - American Honors Faculty Conference 2016
 
Què necessites per complir la llei de protecció de dades personals
Què necessites per complir la llei de protecció de dades personalsQuè necessites per complir la llei de protecció de dades personals
Què necessites per complir la llei de protecció de dades personals
 
Com complir la Llei de protecció de dades
Com complir la Llei de protecció de dadesCom complir la Llei de protecció de dades
Com complir la Llei de protecció de dades
 
Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Apps
 
Application configuration in containers
Application configuration in containersApplication configuration in containers
Application configuration in containers
 
Devops
DevopsDevops
Devops
 
09 mapas-cognitivos
09 mapas-cognitivos09 mapas-cognitivos
09 mapas-cognitivos
 
La normativa de accesibilidad en CLM: balance de su aplicación y cambios prev...
La normativa de accesibilidad en CLM: balance de su aplicación y cambios prev...La normativa de accesibilidad en CLM: balance de su aplicación y cambios prev...
La normativa de accesibilidad en CLM: balance de su aplicación y cambios prev...
 

Similar to Introducing OSGi Technology to Existing Projects - Nils Hofseth Andersen

Size as an Advantage: How Big Enterprises Can Move Fast
Size as an Advantage: How Big Enterprises Can Move FastSize as an Advantage: How Big Enterprises Can Move Fast
Size as an Advantage: How Big Enterprises Can Move FastChetan Desai
 
Multi-Cloud Lightweight Platform as a Service
Multi-Cloud Lightweight Platform as a ServiceMulti-Cloud Lightweight Platform as a Service
Multi-Cloud Lightweight Platform as a ServiceJelastic Multi-Cloud PaaS
 
Contino Webinar - Migrating your Trading Workloads to the Cloud
Contino Webinar -  Migrating your Trading Workloads to the CloudContino Webinar -  Migrating your Trading Workloads to the Cloud
Contino Webinar - Migrating your Trading Workloads to the CloudBen Saunders
 
App Modernization Pitch Deck.pptx
App Modernization Pitch Deck.pptxApp Modernization Pitch Deck.pptx
App Modernization Pitch Deck.pptxMONISH407209
 
!GDSC NYUST Infrastructure and Application Modernization with Google Cloud .pptx
!GDSC NYUST Infrastructure and Application Modernization with Google Cloud .pptx!GDSC NYUST Infrastructure and Application Modernization with Google Cloud .pptx
!GDSC NYUST Infrastructure and Application Modernization with Google Cloud .pptxGangTingFan
 
Pivotal CloudFoundry on Google cloud platform
Pivotal CloudFoundry on Google cloud platformPivotal CloudFoundry on Google cloud platform
Pivotal CloudFoundry on Google cloud platformRonak Banka
 
Delivering Cloud Native Batch Solutions - Dodd Pfeffer
Delivering Cloud Native Batch Solutions - Dodd PfefferDelivering Cloud Native Batch Solutions - Dodd Pfeffer
Delivering Cloud Native Batch Solutions - Dodd PfefferVMware Tanzu
 
InterCon 2016 - SLA vs Agilidade: uso de microserviços e monitoramento de cloud
InterCon 2016 - SLA vs Agilidade: uso de microserviços e monitoramento de cloudInterCon 2016 - SLA vs Agilidade: uso de microserviços e monitoramento de cloud
InterCon 2016 - SLA vs Agilidade: uso de microserviços e monitoramento de cloudiMasters
 
How to Make Money Solving 5 Major Problems of Cloud Hosting Customers
How to Make Money Solving 5 Major Problems of Cloud Hosting CustomersHow to Make Money Solving 5 Major Problems of Cloud Hosting Customers
How to Make Money Solving 5 Major Problems of Cloud Hosting CustomersJelastic Multi-Cloud PaaS
 
apidays LIVE Paris 2021 - Synchronous Communication Patterns by Sébastien Ber...
apidays LIVE Paris 2021 - Synchronous Communication Patterns by Sébastien Ber...apidays LIVE Paris 2021 - Synchronous Communication Patterns by Sébastien Ber...
apidays LIVE Paris 2021 - Synchronous Communication Patterns by Sébastien Ber...apidays
 
GCP Meetup #3 - Approaches to Cloud Native Architectures
GCP Meetup #3 - Approaches to Cloud Native ArchitecturesGCP Meetup #3 - Approaches to Cloud Native Architectures
GCP Meetup #3 - Approaches to Cloud Native Architecturesnine
 
Which Application Modernization Pattern Is Right For You?
Which Application Modernization Pattern Is Right For You?Which Application Modernization Pattern Is Right For You?
Which Application Modernization Pattern Is Right For You?Apigee | Google Cloud
 
Modernize Your Banking Platform with Temenos and NuoDB
Modernize Your Banking Platform with Temenos and NuoDBModernize Your Banking Platform with Temenos and NuoDB
Modernize Your Banking Platform with Temenos and NuoDBNuoDB
 
Seminar Modernizing Your Development Using Microservices, Container & Kubernetes
Seminar Modernizing Your Development Using Microservices, Container & KubernetesSeminar Modernizing Your Development Using Microservices, Container & Kubernetes
Seminar Modernizing Your Development Using Microservices, Container & KubernetesPT Datacomm Diangraha
 
POST GRADUATE PROGRAM IN CLOUD COMPUTING
POST GRADUATE PROGRAM IN CLOUD COMPUTINGPOST GRADUATE PROGRAM IN CLOUD COMPUTING
POST GRADUATE PROGRAM IN CLOUD COMPUTINGMamathaSharma4
 
Lunar Way and the Cloud Native "stack"
Lunar Way and the Cloud Native "stack"Lunar Way and the Cloud Native "stack"
Lunar Way and the Cloud Native "stack"Kasper Nissen
 
Eseguire Applicazioni Cloud-Native con Pivotal Cloud Foundry su Google Cloud ...
Eseguire Applicazioni Cloud-Native con Pivotal Cloud Foundry su Google Cloud ...Eseguire Applicazioni Cloud-Native con Pivotal Cloud Foundry su Google Cloud ...
Eseguire Applicazioni Cloud-Native con Pivotal Cloud Foundry su Google Cloud ...VMware Tanzu
 
Yotpo microservices
Yotpo microservicesYotpo microservices
Yotpo microservicesRon Barabash
 
Moderniser le legacy JEE avec les containers et les microservices: patterns a...
Moderniser le legacy JEE avec les containers et les microservices: patterns a...Moderniser le legacy JEE avec les containers et les microservices: patterns a...
Moderniser le legacy JEE avec les containers et les microservices: patterns a...VMware Tanzu
 

Similar to Introducing OSGi Technology to Existing Projects - Nils Hofseth Andersen (20)

Size as an Advantage: How Big Enterprises Can Move Fast
Size as an Advantage: How Big Enterprises Can Move FastSize as an Advantage: How Big Enterprises Can Move Fast
Size as an Advantage: How Big Enterprises Can Move Fast
 
Multi-Cloud Lightweight Platform as a Service
Multi-Cloud Lightweight Platform as a ServiceMulti-Cloud Lightweight Platform as a Service
Multi-Cloud Lightweight Platform as a Service
 
Contino Webinar - Migrating your Trading Workloads to the Cloud
Contino Webinar -  Migrating your Trading Workloads to the CloudContino Webinar -  Migrating your Trading Workloads to the Cloud
Contino Webinar - Migrating your Trading Workloads to the Cloud
 
DevOps Case Studies
DevOps Case StudiesDevOps Case Studies
DevOps Case Studies
 
App Modernization Pitch Deck.pptx
App Modernization Pitch Deck.pptxApp Modernization Pitch Deck.pptx
App Modernization Pitch Deck.pptx
 
!GDSC NYUST Infrastructure and Application Modernization with Google Cloud .pptx
!GDSC NYUST Infrastructure and Application Modernization with Google Cloud .pptx!GDSC NYUST Infrastructure and Application Modernization with Google Cloud .pptx
!GDSC NYUST Infrastructure and Application Modernization with Google Cloud .pptx
 
Pivotal CloudFoundry on Google cloud platform
Pivotal CloudFoundry on Google cloud platformPivotal CloudFoundry on Google cloud platform
Pivotal CloudFoundry on Google cloud platform
 
Delivering Cloud Native Batch Solutions - Dodd Pfeffer
Delivering Cloud Native Batch Solutions - Dodd PfefferDelivering Cloud Native Batch Solutions - Dodd Pfeffer
Delivering Cloud Native Batch Solutions - Dodd Pfeffer
 
InterCon 2016 - SLA vs Agilidade: uso de microserviços e monitoramento de cloud
InterCon 2016 - SLA vs Agilidade: uso de microserviços e monitoramento de cloudInterCon 2016 - SLA vs Agilidade: uso de microserviços e monitoramento de cloud
InterCon 2016 - SLA vs Agilidade: uso de microserviços e monitoramento de cloud
 
How to Make Money Solving 5 Major Problems of Cloud Hosting Customers
How to Make Money Solving 5 Major Problems of Cloud Hosting CustomersHow to Make Money Solving 5 Major Problems of Cloud Hosting Customers
How to Make Money Solving 5 Major Problems of Cloud Hosting Customers
 
apidays LIVE Paris 2021 - Synchronous Communication Patterns by Sébastien Ber...
apidays LIVE Paris 2021 - Synchronous Communication Patterns by Sébastien Ber...apidays LIVE Paris 2021 - Synchronous Communication Patterns by Sébastien Ber...
apidays LIVE Paris 2021 - Synchronous Communication Patterns by Sébastien Ber...
 
GCP Meetup #3 - Approaches to Cloud Native Architectures
GCP Meetup #3 - Approaches to Cloud Native ArchitecturesGCP Meetup #3 - Approaches to Cloud Native Architectures
GCP Meetup #3 - Approaches to Cloud Native Architectures
 
Which Application Modernization Pattern Is Right For You?
Which Application Modernization Pattern Is Right For You?Which Application Modernization Pattern Is Right For You?
Which Application Modernization Pattern Is Right For You?
 
Modernize Your Banking Platform with Temenos and NuoDB
Modernize Your Banking Platform with Temenos and NuoDBModernize Your Banking Platform with Temenos and NuoDB
Modernize Your Banking Platform with Temenos and NuoDB
 
Seminar Modernizing Your Development Using Microservices, Container & Kubernetes
Seminar Modernizing Your Development Using Microservices, Container & KubernetesSeminar Modernizing Your Development Using Microservices, Container & Kubernetes
Seminar Modernizing Your Development Using Microservices, Container & Kubernetes
 
POST GRADUATE PROGRAM IN CLOUD COMPUTING
POST GRADUATE PROGRAM IN CLOUD COMPUTINGPOST GRADUATE PROGRAM IN CLOUD COMPUTING
POST GRADUATE PROGRAM IN CLOUD COMPUTING
 
Lunar Way and the Cloud Native "stack"
Lunar Way and the Cloud Native "stack"Lunar Way and the Cloud Native "stack"
Lunar Way and the Cloud Native "stack"
 
Eseguire Applicazioni Cloud-Native con Pivotal Cloud Foundry su Google Cloud ...
Eseguire Applicazioni Cloud-Native con Pivotal Cloud Foundry su Google Cloud ...Eseguire Applicazioni Cloud-Native con Pivotal Cloud Foundry su Google Cloud ...
Eseguire Applicazioni Cloud-Native con Pivotal Cloud Foundry su Google Cloud ...
 
Yotpo microservices
Yotpo microservicesYotpo microservices
Yotpo microservices
 
Moderniser le legacy JEE avec les containers et les microservices: patterns a...
Moderniser le legacy JEE avec les containers et les microservices: patterns a...Moderniser le legacy JEE avec les containers et les microservices: patterns a...
Moderniser le legacy JEE avec les containers et les microservices: patterns a...
 

More from 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
 

More from 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)
 

Recently uploaded

Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 

Recently uploaded (20)

Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 

Introducing OSGi Technology to Existing Projects - Nils Hofseth Andersen

  • 1. Introducing OSGi technology to existing projects Nils Hofseth Andersen Managing Consultant Capgemini
  • 2. | Technology Services In collaboration with About this Short Talk  Experiences from projects Capgemini has done in collaboration with StatoilHydro. 3 months project experience condensed to less that 10 minutes.  So in one hand you have your existing project. In the other hand you have OSGi technology. Where to go from there? Which challenges to expect?
  • 3. | Technology Services In collaboration with First: Why did we introduce OSGi? Client Information Systems  Several Swing rich client applications – working with data from several information systems. The need for modularity/isolation on the client increases.  By using Equinox we’re one step towards a transition to Eclipse RCP
  • 4. | Technology Services In collaboration with Reorganizing the source code “System” v2.1 Logistics Client v1.0 Logistics Domain v1.1 Client Framework v2.1 Operations Client v2.0  We split the system into components, based on high level functionality, which we wanted to be version able independently of each other  This typically means reorganizing the source code in the source code control system.  If your system contains parts which are highly cohesive with little coupling, this is easy. Otherwise…
  • 5. | Technology Services In collaboration with One thing to keep in mind  A few large components means less flexibility  Many small components means high administrative overhead Complexity/Adm Component Size
  • 6. | Technology Services In collaboration with Refactoring the source code Client Framework Modules (bundles)  From static linking of modules – to dynamic discovery of bundles (extender model)  Reduced couplings between the framework / modules
  • 7. | Technology Services In collaboration with Build System  Moved from Ant to Maven+Ant • Mainly due to  Better versioning and dependency support  A standard repository for several concurrent versions of our components • Also started using the pom files as our main project definitions, and to generate Eclipse project files from the pom files.  Not using PDE, but rather bundleize the code during the build with BND. Component, e.g. “Accounting” BND properties Bundles Maven
  • 8. | Technology Services In collaboration with Testing & Deployment  More emphasis on integration testing in order to verify the bundle configurations (Manifests). Our applications are Spring based (even the clients), so we can use Spring Dynamic Modules for integration testing.  We are still using Java Web Start for the client applications, but the JNLP files needs to be modified since the client runs in an OSGi container.  So far the deployments on the server side has not changed much. The server code is packaged as web applications, so WebSphere takes care of the isolation required.
  • 9. | Technology Services In collaboration with Changes for the Developers  We wanted to make OSGi usage as transparent as possible • Maximize time spent on solving business problems • Minimize time spent on technical complexities • Not using PDE in our kind of projects  One reason OSGi “hiding” works for us is that we have very similar public interfaces for all the client modules, and little need for individual tuning of the Manifests.  Currently more changes has risen from the switch from Ant to Maven / POM’s
  • 10. | Technology Services In collaboration with Summary  Most areas of the software development environment needed modification  Code changes was kept to a minimum, mostly thanks to the fact that our code already was fairly modular. Parts of the client framework had to be enhanced to handle the dynamic nature of OSGi.  Our goal is to benefit from OSGi on the client side without directly interacting with it, similar to how we indirectly use OSGi on WebSphere 6.1.