SlideShare una empresa de Scribd logo
1 de 46
Descargar para leer sin conexión
OSGi DevCon 2009
     Review
 Neil Bartlett - UK OSGi Users’ Forum
Themes
OSGi Ubiquity       OSGi for Eclipse
                    Developers
Enterprise OSGi
                    “Symmetric” service
Distributed OSGi    oriented programming

Tooling             JSR 294, Jigsaw, IBM/
                    Sun Rumours
API Modernisation
Ubiquity
Ubiquity
My third EclipseCon/OSGi DevCon
2007: Some people know what OSGi is.
2008: Most people know what OSGi is,
some have developed for it.
2009: Many people know and have
developed for OSGi.
Services and Apps

OSGi for modularity is mostly a done
deal. All* app-servers & ESBs using it.
Next wave: Services/Dynamics, and
OSGi for Apps.
Enterprise
Goals

Adapt enterprise tech without creating
“editions”.
Preserve compatibility for users of
enterprise APIs.
Timeline

Updated (R4.2) core & compendium
specs in June 09.
Most changes are already implemented
(provisionally) in Equinox.
“Enterprise Profile” in December 09.
Parts


Blueprint
Distributed OSGi (RFC 119)
Java EE Modularity
Blueprint


Essentially Spring-DM...
But name “Spring” is a trademark.
“Enterprise Programming Model”.
Old Spring

               Customer
               Manager




    Customer
      DAO




DataSource                Log
Spring-DM/Blueprint
Services as the Glue
Interoperable!
Java EE Modularity
For OSGi devs: add QoS (e.g.
transactions, declarative security) to
OSGi programming model.
For EE devs: enable OSGi modularity
without breaking existing APIs.
Deployment of standard EE artefacts
(WARs and EARs).
Distribution
What Is It?
Normal OSGi is intra-JVM only.
D-OSGi makes the services
programming model distributed.
Transparently publish services outside
the JVM.
Transparently bind to services from
other JVMs (or other non-Java runtimes).
Timeline

Spec will be included in R4.2 in June.
Reference implementation: Apache CXF
available now.
Eclipse Comms Framework (ECF) also
implements.
Distribution
Just add a property to the published
service: osgi.remote.interfaces=*
Extender bundle will automatically
make the service callable remotely.
Protocol depends on extender impl. E.g.
SOAP, R-OSGi, XMPP, Skype...
Distribution


Find a remote service somehow*.
Extender bundle will create a local proxy
service for it.
Discovery

Publishing and look-up of services.
Many ways to do it, many challenges.
Examples: SLP (RFC 2608), Bonjour/
Zeroconf/DNS-SD.
Controversy?
Controversy?
Key Points...
D-OSGi allows transparent treatment of
remote services
But it also allows clients to filter remote
services and know when a service a
remote proxy.
Is this enough...?
Key Points...

No new protocols!
D-OSGi wraps existing protocols.
It is optional.
Fears of bloating the core spec seem
misplaced.
Tools
Tools

Lots of tooling discussions.
One evening BoF, a Summit, many
hallway conversations.
More details from David.
API Modernisation
OSGi APIs “Feel” Old!
Ideas
Generics             Replace arrays with
                     collections
Don’t return null
arrays               Replace int masks
                     with enums
Replace Dictionary
with Map             Expanded filter ops

Services returning   JSR 294 support
multiple instances
More Radical Ideas

Should exports have ranges rather than
imports?
Make all events (ServiceEvent,
BundleEvent etc) asynchronous.
OSGi for Eclipse Devs
OSGi for Eclipse Devs

Most Eclipse developers now know they
are using OSGi!
Some even experimenting with Services
(instead of Extensions).
Declarative Services

Eclipse SDK Galileo includes SCR.
Riena aids integration of Services and
Extensions.
Component models tutorial (DS,
Spring-DM, iPOJO) was packed.
“Symmetric” Services
What Is it?

Giving some power back to service
producers.
Producers have no idea if anybody even
needs the service they offer.
Why?
“On-demand” services.
Filtering on behalf of a consumer.
Service proxies – prevent the underlying
service from being seen.
Needed for D-OSGi but will be part of
core spec.
How It Works
ListenerHook – discover who is listening
for which services.
EventHook – filter service events before
they reach listeners.
FindHook – filter results of
getServiceReferences() calls.
How It Works

Hooks are themselves published as
services.
Powerful but NOT for the faint-hearted.
Wait for frameworks to make this easier?
Rumours...
JSR 277 Is Dead
Jigsaw Is Undead
Jigsaw
Jigsaw

Alternative module system to OSGi.
NOT a standard, just a Sun project.
EVIL.
Cannot be killed by silver bullets, but a
Big Blue bullet might work...
JSR 294

Not necessarily evil...
Java language support for modules.
Designed for Jigsaw, but may help OSGi
also.
OSGi DevCon 2009 Review

Más contenido relacionado

La actualidad más candente

Transaction Control – a Functional Approach to Modular Transaction Management...
Transaction Control – a Functional Approach to Modular Transaction Management...Transaction Control – a Functional Approach to Modular Transaction Management...
Transaction Control – a Functional Approach to Modular Transaction Management...
mfrancis
 
OSGi R7 - Microservices never looked simpler
OSGi R7 - Microservices never looked simplerOSGi R7 - Microservices never looked simpler
OSGi R7 - Microservices never looked simpler
mfrancis
 

La actualidad más candente (20)

Scaling micro services at gilt
Scaling micro services at giltScaling micro services at gilt
Scaling micro services at gilt
 
Transaction Control – a Functional Approach to Modular Transaction Management...
Transaction Control – a Functional Approach to Modular Transaction Management...Transaction Control – a Functional Approach to Modular Transaction Management...
Transaction Control – a Functional Approach to Modular Transaction Management...
 
Goodbye CLI, hello API: Leveraging network programmability in security incid...
Goodbye CLI, hello API:  Leveraging network programmability in security incid...Goodbye CLI, hello API:  Leveraging network programmability in security incid...
Goodbye CLI, hello API: Leveraging network programmability in security incid...
 
Dsug 05 02-15 - ScalDI - lightweight DI in Scala
Dsug 05 02-15 - ScalDI - lightweight DI in ScalaDsug 05 02-15 - ScalDI - lightweight DI in Scala
Dsug 05 02-15 - ScalDI - lightweight DI in Scala
 
Phantom app: Ansible Tower
Phantom app:  Ansible TowerPhantom app:  Ansible Tower
Phantom app: Ansible Tower
 
今Serverlessが面白いわけ
今Serverlessが面白いわけ今Serverlessが面白いわけ
今Serverlessが面白いわけ
 
Microservices and OSGi: Better together?
Microservices and OSGi: Better together?Microservices and OSGi: Better together?
Microservices and OSGi: Better together?
 
Using Ansible Tower to implement security policies and telemetry streaming fo...
Using Ansible Tower to implement security policies and telemetry streaming fo...Using Ansible Tower to implement security policies and telemetry streaming fo...
Using Ansible Tower to implement security policies and telemetry streaming fo...
 
Compass digital ocean’s customer advisory group 2021_10
Compass digital ocean’s customer advisory group 2021_10Compass digital ocean’s customer advisory group 2021_10
Compass digital ocean’s customer advisory group 2021_10
 
Integrating Ansible Tower with security orchestration and cloud management
Integrating Ansible Tower with security orchestration and cloud managementIntegrating Ansible Tower with security orchestration and cloud management
Integrating Ansible Tower with security orchestration and cloud management
 
How to develop your first cloud-native Applications with Java
How to develop your first cloud-native Applications with JavaHow to develop your first cloud-native Applications with Java
How to develop your first cloud-native Applications with Java
 
쿠버네티스를 이용한 기능 브랜치별 테스트 서버 만들기 (GitOps CI/CD)
쿠버네티스를 이용한 기능 브랜치별 테스트 서버 만들기 (GitOps CI/CD)쿠버네티스를 이용한 기능 브랜치별 테스트 서버 만들기 (GitOps CI/CD)
쿠버네티스를 이용한 기능 브랜치별 테스트 서버 만들기 (GitOps CI/CD)
 
RFC 7807 - Communicating the Problem
RFC 7807 - Communicating the ProblemRFC 7807 - Communicating the Problem
RFC 7807 - Communicating the Problem
 
To be or not to be serverless
To be or not to be serverlessTo be or not to be serverless
To be or not to be serverless
 
Continuous Delivery de vos applications dans un environnement multi-cloud et ...
Continuous Delivery de vos applications dans un environnement multi-cloud et ...Continuous Delivery de vos applications dans un environnement multi-cloud et ...
Continuous Delivery de vos applications dans un environnement multi-cloud et ...
 
Programmability and Automation in Data Center Networks: A talk on Hot Air Bal...
Programmability and Automation in Data Center Networks: A talk on Hot Air Bal...Programmability and Automation in Data Center Networks: A talk on Hot Air Bal...
Programmability and Automation in Data Center Networks: A talk on Hot Air Bal...
 
From 70 Networking Tasks to a Single Click by WWT: Building an F5 Solution wi...
From 70 Networking Tasks to a Single Click by WWT: Building an F5 Solution wi...From 70 Networking Tasks to a Single Click by WWT: Building an F5 Solution wi...
From 70 Networking Tasks to a Single Click by WWT: Building an F5 Solution wi...
 
OSGi R7 - Microservices never looked simpler
OSGi R7 - Microservices never looked simplerOSGi R7 - Microservices never looked simpler
OSGi R7 - Microservices never looked simpler
 
OSGi CDI Integration Specification -- Raymond Augé, Liferay
OSGi CDI Integration Specification -- Raymond Augé, LiferayOSGi CDI Integration Specification -- Raymond Augé, Liferay
OSGi CDI Integration Specification -- Raymond Augé, Liferay
 
OSGi DevCon US 2010 Review
OSGi DevCon US 2010 ReviewOSGi DevCon US 2010 Review
OSGi DevCon US 2010 Review
 

Similar a OSGi DevCon 2009 Review

OSGi For Java Infrastructures [5th IndicThreads Conference On Java 2010, Pune...
OSGi For Java Infrastructures [5th IndicThreads Conference On Java 2010, Pune...OSGi For Java Infrastructures [5th IndicThreads Conference On Java 2010, Pune...
OSGi For Java Infrastructures [5th IndicThreads Conference On Java 2010, Pune...
IndicThreads
 
Eclipse & java based modeling platforms for smart phone
Eclipse & java based modeling platforms for smart phoneEclipse & java based modeling platforms for smart phone
Eclipse & java based modeling platforms for smart phone
IAEME Publication
 
Introduction To The Eclipse Platform
Introduction To The Eclipse PlatformIntroduction To The Eclipse Platform
Introduction To The Eclipse Platform
ciukes
 
OCCIware Project at EclipseCon France 2016, by Marc Dutoo, Open Wide
OCCIware Project at EclipseCon France 2016, by Marc Dutoo, Open WideOCCIware Project at EclipseCon France 2016, by Marc Dutoo, Open Wide
OCCIware Project at EclipseCon France 2016, by Marc Dutoo, Open Wide
OCCIware
 

Similar a OSGi DevCon 2009 Review (20)

OSGi For Java Infrastructures [5th IndicThreads Conference On Java 2010, Pune...
OSGi For Java Infrastructures [5th IndicThreads Conference On Java 2010, Pune...OSGi For Java Infrastructures [5th IndicThreads Conference On Java 2010, Pune...
OSGi For Java Infrastructures [5th IndicThreads Conference On Java 2010, Pune...
 
RESTful Services and Distributed OSGi - 04/2009
RESTful Services and Distributed OSGi - 04/2009RESTful Services and Distributed OSGi - 04/2009
RESTful Services and Distributed OSGi - 04/2009
 
Hybrid Applications
Hybrid ApplicationsHybrid Applications
Hybrid Applications
 
Eclipse & java based modeling platforms for smart phone
Eclipse & java based modeling platforms for smart phoneEclipse & java based modeling platforms for smart phone
Eclipse & java based modeling platforms for smart phone
 
Déploiement dynamique d'applications OSGi sur le Cloud
Déploiement dynamique d'applications OSGi sur le CloudDéploiement dynamique d'applications OSGi sur le Cloud
Déploiement dynamique d'applications OSGi sur le Cloud
 
OSGi on Google Android using Apache Felix
OSGi on Google Android using Apache FelixOSGi on Google Android using Apache Felix
OSGi on Google Android using Apache Felix
 
The Happy Path: Migration Strategies for Node.js
The Happy Path: Migration Strategies for Node.jsThe Happy Path: Migration Strategies for Node.js
The Happy Path: Migration Strategies for Node.js
 
DS, BP, EJB, CDI, WTF!? - Graham Charters
DS, BP, EJB, CDI, WTF!? - Graham ChartersDS, BP, EJB, CDI, WTF!? - Graham Charters
DS, BP, EJB, CDI, WTF!? - Graham Charters
 
Put the Power of Cloud-based Modeling to Work - Spotlight Session
Put the Power of Cloud-based Modeling to Work - Spotlight SessionPut the Power of Cloud-based Modeling to Work - Spotlight Session
Put the Power of Cloud-based Modeling to Work - Spotlight Session
 
OSGi Overview TomTom DevDay May 2009
OSGi Overview TomTom DevDay May 2009OSGi Overview TomTom DevDay May 2009
OSGi Overview TomTom DevDay May 2009
 
OCCIware presentation at EclipseDay in Lyon, November 2017, by Marc Dutoo, Smile
OCCIware presentation at EclipseDay in Lyon, November 2017, by Marc Dutoo, SmileOCCIware presentation at EclipseDay in Lyon, November 2017, by Marc Dutoo, Smile
OCCIware presentation at EclipseDay in Lyon, November 2017, by Marc Dutoo, Smile
 
Model and pilot all cloud layers with OCCIware - Eclipse Day Lyon 2017
Model and pilot all cloud layers with OCCIware - Eclipse Day Lyon 2017Model and pilot all cloud layers with OCCIware - Eclipse Day Lyon 2017
Model and pilot all cloud layers with OCCIware - Eclipse Day Lyon 2017
 
Apache OpenWhisk
Apache OpenWhiskApache OpenWhisk
Apache OpenWhisk
 
Weld-OSGi, injecting easiness in OSGi
Weld-OSGi, injecting easiness in OSGiWeld-OSGi, injecting easiness in OSGi
Weld-OSGi, injecting easiness in OSGi
 
Cloud development technology sharing (BlueMix premier)
Cloud development technology sharing (BlueMix premier)Cloud development technology sharing (BlueMix premier)
Cloud development technology sharing (BlueMix premier)
 
Introduction To The Eclipse Platform
Introduction To The Eclipse PlatformIntroduction To The Eclipse Platform
Introduction To The Eclipse Platform
 
Introduction to EclipseRT (JAX 2010)
Introduction to EclipseRT (JAX 2010)Introduction to EclipseRT (JAX 2010)
Introduction to EclipseRT (JAX 2010)
 
OSGi
OSGiOSGi
OSGi
 
EclipseCon 2016 - OCCIware : one Cloud API to rule them all
EclipseCon 2016 - OCCIware : one Cloud API to rule them allEclipseCon 2016 - OCCIware : one Cloud API to rule them all
EclipseCon 2016 - OCCIware : one Cloud API to rule them all
 
OCCIware Project at EclipseCon France 2016, by Marc Dutoo, Open Wide
OCCIware Project at EclipseCon France 2016, by Marc Dutoo, Open WideOCCIware Project at EclipseCon France 2016, by Marc Dutoo, Open Wide
OCCIware Project at EclipseCon France 2016, by Marc Dutoo, Open Wide
 

Último

+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...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Último (20)

presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
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)
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
+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...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
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
 
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
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 

OSGi DevCon 2009 Review