SlideShare a Scribd company logo
1 of 73
Don’t let me
be misunderstood
Mikaël Barbero
6 June 2013
OSGi
NOT SURE IF ACCIDENTALLY
COMPLEX
OR JUST ESSENTIALLY COMPLICATED
Geek and Poke cartoon, 27 July 2011: Graph Theory for Geeks (CC-BY-ND)
Original site: http://geekandpoke.typepad.com/geekandpoke/2011/07/graph-theory-for-geeks.html
Culprit ?
java -cp "Test.jar;lib/*" my.package.MainClass
Execution
Environment
Factory/Listener
patterns are key
to modularity
Classes are
identified by a
unique name
Java visibility are
sufficient
boundaries
Module identify
==
Module artifact
PermGen is
permanent
W R O N G !
W R O N G !
W R O N G !
W R O N G !
minimizing changes need to support the
evolution of itself and its dependencies
Modularity
Execution
Environment
Classes are
identified by a
unique name
Java visibility
creates
sufficient
boundaries
Mix up module
identify and
module artifact
PermGen is
permanent
Factory/Listener
patterns are key
to modularity
CDLC/MIDP
J2SE 1.3, 1.4,
5, 6, 7...
CDC/FP
OSGI
Min.
CDLC/MIDP
J2SE 1.3, 1.4,
5, 6, 7...
CDC/FP
OSGI
Min.
MANIFEST.MF
Bundle-RequiredExecutionEnvironment: J2SE-1.6
OS + Hardware
EE
Modules
Lifecycle
Service
S
e
c
u
r
i
t
r
y
Applications
(bundles)
Execution
Environment
Classes are
identified by a
unique name
Java visibility
creates
sufficient
boundaries
Mix up module
identity and
module artifact
PermGen is
permanent
Factory/Listener
patterns are key
to modularity
guava-14.0.1.jar
15-Mar-2013
2.1 M
69e12f4c6aeac392555f1ea86fab82b5e5e31ad4
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>14.0.1</version>
Bundle-Vendor: Google, Inc
Bundle-Name: com.google.guava
Bundle-Version: 11.0.2.v201303041551
<dependency>
    <groupId>com.google.guava</groupId>
    <artifactId>guava</artifactId>
    <version>14.0.1</version>
</dependency>
Require-Bundle: com.google.guava;bundle-version="11.0.2"
OS + Hardware
EE
Modules
Lifecycle
Service
S
e
c
u
r
i
t
r
y
Applications
(bundles)
Execution
Environment
Classes are
identified by a
unique name
Java visibility
creates
sufficient
boundaries
Mix up module
identify and
module artifact
PermGen is
permanent
Factory/Listener
patterns are key
to modularity
Good fences make good neighbors
com.acme.myApp-1.2.jar
package
com.acme.core
package
com.acme.core.impl
org.logging.fmk-1.0.1.jar
package
org.logging.fmk.impl
package
org.logging.fmk
com.acme.myApp-1.2.jar
org.logging.fmk-1.0.1.jar
package
com.acme.core
package
com.acme.core.impl
package
org.logging.fmk.impl
package
org.logging.fmk
com.acme.myApp-1.2.jar
org.logging.fmk-1.0.1.jar
package
com.acme.core
package
com.acme.core.impl
package
org.logging.fmk.impl
package
org.logging.fmk
com.acme.myApp-1.2.jar
org.logging.fmk-1.0.1.jar
package
com.acme.core
package
com.acme.core.impl
package
org.logging.fmk.impl
package
org.logging.fmk
Bundle com.acme.myApp; version=1.2
Bundle org.logging.fmk; version=1.0.1
X
package
com.acme.core
package
com.acme.core.impl
package
org.logging.fmk.impl
package
org.logging.fmk
Bundle com.acme.myApp; version=1.2
Bundle org.logging.fmk; version=1.0.1
package
com.acme.core
package
com.acme.core.impl
package
org.logging.fmk.impl
package
org.logging.fmk
Bundle com.acme.myApp; version=1.2
Bundle org.logging.fmk; version=1.0.1
package
com.acme.core
package
com.acme.core.impl
package
org.logging.fmk.impl
package
org.logging.fmk
Export-package: com.acme.core
Export-package: com.acme.core;version="1.0.2"
SemanticVersions
major.minor.micro.qualifier
• major: different major versions are completely incompatible
• minor: same major and different minor versions are compatible for
consumer only (callers of the API)
• micro: used to signal bufixes with no backward incompatibility issues
• qualifier: build identity
OS + Hardware
EE
Modules
Lifecycle
Service
S
e
c
u
r
i
t
r
y
Applications
(bundles)
Execution
Environment
Classes are
identified by a
unique name
Java visibility
creates
sufficient
boundaries
Mix up module
identify and
module artifact
PermGen is
permanent
Factory/Listener
patterns are key
to modularity
My Killer
Application
Logging
Framework
My Killer
Application
Logging
Framework
XXX Framework
My Killer
Application
Logging
Framework v1
XXX Framework
Logging
Framework v2
My Killer Application
JavaVirtual Machine
Application
Extension
Foundation Basic
UI
Convenience
Borrowed from Peter Kriens presentation: http://www.slideshare.net/pkriens/osgi-and-java-modularity-1642537
Borrowed from Peter Kriens presentation: http://www.slideshare.net/pkriens/osgi-and-java-modularity-1642537
Class
Not
Found
Exception
Borrowed from Peter Kriens presentation: http://www.slideshare.net/pkriens/osgi-and-java-modularity-1642537
Class Object Identity
==
Qualified Class Name + ClassLoader Object
Bundle com.acme.myApp; version=1.2
Bundle org.logging.fmk; version=1.0.1
package
com.acme.core;v=1.0
package
com.acme.core.impl
package
org.logging.fmk.impl
package
org.logging.fmk;v=1.2
Bundle com.acme.myApp; version=1.2
Bundle org.logging.fmk; version=1.0.1
X
package
com.acme.core.impl
package
org.logging.fmk.impl
package
com.acme.core;v=1.0
package
org.logging.fmk;v=1.2
Bundle com.acme.myApp; version=1.2
Bundle org.logging.fmk; version=1.0.1
package
com.acme.core.impl
package
org.logging.fmk.impl
package
org.logging.fmk
package
com.acme.core;v=1.0
package
org.logging.fmk;v=1.2
Import-package: com.acme.core;version="[1.0.2, 1.1.0)"
Consumer Provider
[X.Y.Z.q, X+1.0.0) [X.Y.Z, X.Y+1.0)
Bundle com.acme.myApp; version=1.2
Bundle org.logging.fmk; version=1.0.1
package
com.acme.core.impl
package
org.logging.fmk.impl
package
org.logging.fmk
package
com.acme.core;v=1.0
package
org.logging.fmk;v=1.2
Bundle com.acme.myApp; version=1.2
package
com.acme.core.impl
package
com.acme.core;v=1.0
Bundle org.logging.fmk; version=1.0.1
package
org.logging.fmk.impl
package
org.logging.fmk;v=1.2
Bundle org.logging.fmk; version=2.3.0
package
org.logging.fmk.impl
package
org.logging.fmk;v=2.2
Bundl exxx.fmk; version=1.2
package
xxx
package
org.logging.fmk;v=[2.2,3)
package
xxx.exported;v=1.0
package
org.logging.fmk;v=[1.2,2.0)
package
xxx.exported
OS + Hardware
EE
Modules
Lifecycle
Service
S
e
c
u
r
i
t
r
y
Applications
(bundles)
Execution
Environment
Classes are
identified by a
unique name
Java visibility
creates
sufficient
boundaries
Mix up module
identify and
module artifact
PermGen is
permanent
Factory/Listener
patterns are key
to modularity
Bundle-Activator: com.acme.core.Activator
Bundle-ActivationPolicy: lazy
public class Activator implements BundleActivator {
public void start(BundleContext bc) {
...
}
public void stop(BundleContext bc) {
...
}
}
OS + Hardware
EE
Modules
Lifecycle
Service
S
e
c
u
r
i
t
r
y
Applications
(bundles)
Execution
Environment
Classes are
identified by a
unique name
Java visibility
creates
sufficient
boundaries
Mix up module
identify and
module artifact
PermGen is
permanent
Factory/Listener
patterns are
keys to
modularity
Consumer
Class
Interface
Provider
Class
Consumer
Class
Interface
Provider
Class
uses impl
Factory Pattern
Factory ???
Consumer
Class
Interface
Provider
Class
impl uses
Listener Pattern
Provider
Interface
impl
Consumer
Class
Interface
Provider
Class
Dependency injection
DI
Consumer
Class
Interface
Provider
Class
μServices
μServices
Consumer
Class
Provider
Class
μServices
get register
Declaring and getting services
Programmatically Declaratively
Service Registry
ServiceTracker
Decl. Services
Blueprint
OS + Hardware
EE
Modules
Lifecycle
Service
S
e
c
u
r
i
t
r
y
Applications
(bundles)
OS + Hardware
EE
Modules
Lifecycle
Service
S
e
c
u
r
i
t
r
y
Applications
(bundles)
Minimizing changes need to support the
evolution of itself and its dependencies
Modularity
High cohesion Low coupling Encapsulation
Modularity
PDE
You want to be
an achiever?
Give Feedback
1} Sign in www.eclipsecon.org
2} Select Session Evaluate
3} Vote +1, 0 or -1
ervisevichttp://www.flickr.com/photos/23979265@N07/4745520501/
Mikaël Barbero
mikael.barbero@obeo.fr
+Mikaël Barbero
@mikbarbero
Obeo
http://www.obeo.fr
(cc) TheAlieness GiselaGiardino²³ http://www.flickr.com/photos/36613169@N00/304120801/
Q
&
A
(cc) InstantVantage http://www.flickr.com/photos/44312356@N04/6023508805

More Related Content

What's hot

Java 7 Modularity: a View from the Gallery
Java 7 Modularity: a View from the GalleryJava 7 Modularity: a View from the Gallery
Java 7 Modularity: a View from the Gallery
njbartlett
 
Java Faqs useful for freshers and experienced
Java Faqs useful for freshers and experiencedJava Faqs useful for freshers and experienced
Java Faqs useful for freshers and experienced
yearninginjava
 
CR Bridge Solutions Pvt Ltd. Java slides
CR Bridge Solutions Pvt Ltd. Java slidesCR Bridge Solutions Pvt Ltd. Java slides
CR Bridge Solutions Pvt Ltd. Java slides
CRBTech
 

What's hot (19)

50+ java interview questions
50+ java interview questions50+ java interview questions
50+ java interview questions
 
Java 7 Modularity: a View from the Gallery
Java 7 Modularity: a View from the GalleryJava 7 Modularity: a View from the Gallery
Java 7 Modularity: a View from the Gallery
 
Java design pattern tutorial
Java design pattern tutorialJava design pattern tutorial
Java design pattern tutorial
 
Java Faqs useful for freshers and experienced
Java Faqs useful for freshers and experiencedJava Faqs useful for freshers and experienced
Java Faqs useful for freshers and experienced
 
Design pattern application
Design pattern applicationDesign pattern application
Design pattern application
 
Core java interview questions
Core java interview questionsCore java interview questions
Core java interview questions
 
Cut your Dependencies - Dependency Injection at Silicon Valley Code Camp
Cut your Dependencies - Dependency Injection at Silicon Valley Code CampCut your Dependencies - Dependency Injection at Silicon Valley Code Camp
Cut your Dependencies - Dependency Injection at Silicon Valley Code Camp
 
Java Technicalities
Java TechnicalitiesJava Technicalities
Java Technicalities
 
JDT Fundamentals 2010
JDT Fundamentals 2010JDT Fundamentals 2010
JDT Fundamentals 2010
 
CR Bridge Solutions Pvt Ltd. Java slides
CR Bridge Solutions Pvt Ltd. Java slidesCR Bridge Solutions Pvt Ltd. Java slides
CR Bridge Solutions Pvt Ltd. Java slides
 
Top 100 Java Interview Questions with Detailed Answers
Top 100 Java Interview Questions with Detailed AnswersTop 100 Java Interview Questions with Detailed Answers
Top 100 Java Interview Questions with Detailed Answers
 
Java - OOPS and Java Basics
Java - OOPS and Java BasicsJava - OOPS and Java Basics
Java - OOPS and Java Basics
 
Java Feature Spotlight: Sealed Classes
Java Feature Spotlight: Sealed ClassesJava Feature Spotlight: Sealed Classes
Java Feature Spotlight: Sealed Classes
 
Dacj 2-2 a
Dacj 2-2 aDacj 2-2 a
Dacj 2-2 a
 
Intro to Java
Intro to JavaIntro to Java
Intro to Java
 
Introduction to basics of java
Introduction to basics of javaIntroduction to basics of java
Introduction to basics of java
 
Framework engineering JCO 2011
Framework engineering JCO 2011Framework engineering JCO 2011
Framework engineering JCO 2011
 
Learn java in hindi
Learn java in hindiLearn java in hindi
Learn java in hindi
 
Top 10 Interview Questions For Java
Top 10 Interview Questions For JavaTop 10 Interview Questions For Java
Top 10 Interview Questions For Java
 

Viewers also liked

Diff and Merge with Ease: EMF Compare
Diff and Merge with Ease: EMF CompareDiff and Merge with Ease: EMF Compare
Diff and Merge with Ease: EMF Compare
mikaelbarbero
 
EMF.Edit the Force Unleashed!
EMF.Edit the Force Unleashed!EMF.Edit the Force Unleashed!
EMF.Edit the Force Unleashed!
mikaelbarbero
 
Generating an Android App with Acceleo (Eclipse Summit Europe 2010)
Generating an Android App with Acceleo (Eclipse Summit Europe 2010)Generating an Android App with Acceleo (Eclipse Summit Europe 2010)
Generating an Android App with Acceleo (Eclipse Summit Europe 2010)
mikaelbarbero
 
Google Guava & EMF @ GTUG Nantes
Google Guava & EMF @ GTUG NantesGoogle Guava & EMF @ GTUG Nantes
Google Guava & EMF @ GTUG Nantes
mikaelbarbero
 

Viewers also liked (15)

Eclipse simultaneous release in a nutshell
Eclipse simultaneous release in a nutshellEclipse simultaneous release in a nutshell
Eclipse simultaneous release in a nutshell
 
Eclipseconeurope 2011 - EMFCompare Improvements
Eclipseconeurope 2011 - EMFCompare ImprovementsEclipseconeurope 2011 - EMFCompare Improvements
Eclipseconeurope 2011 - EMFCompare Improvements
 
EMFPath
EMFPathEMFPath
EMFPath
 
What every Eclipse developer should know about progress reporting and job can...
What every Eclipse developer should know about progress reporting and job can...What every Eclipse developer should know about progress reporting and job can...
What every Eclipse developer should know about progress reporting and job can...
 
EMFCompare 2.0: Scaling to Millions
EMFCompare 2.0: Scaling to MillionsEMFCompare 2.0: Scaling to Millions
EMFCompare 2.0: Scaling to Millions
 
Modeling in a Team Environment with EMF Compare and EGit
Modeling in a Team Environment with EMF Compare and EGitModeling in a Team Environment with EMF Compare and EGit
Modeling in a Team Environment with EMF Compare and EGit
 
Sirius: Graphical Editors for your DSLs
Sirius: Graphical Editors for your DSLsSirius: Graphical Editors for your DSLs
Sirius: Graphical Editors for your DSLs
 
Diff and Merge with Ease: EMF Compare
Diff and Merge with Ease: EMF CompareDiff and Merge with Ease: EMF Compare
Diff and Merge with Ease: EMF Compare
 
EMF.Edit the Force Unleashed!
EMF.Edit the Force Unleashed!EMF.Edit the Force Unleashed!
EMF.Edit the Force Unleashed!
 
Generating an Android App with Acceleo (Eclipse Summit Europe 2010)
Generating an Android App with Acceleo (Eclipse Summit Europe 2010)Generating an Android App with Acceleo (Eclipse Summit Europe 2010)
Generating an Android App with Acceleo (Eclipse Summit Europe 2010)
 
3mf infinity-and-beyond
3mf infinity-and-beyond3mf infinity-and-beyond
3mf infinity-and-beyond
 
5M lines of code migration
5M lines of code migration5M lines of code migration
5M lines of code migration
 
EMF Compare 2.0: Scaling to Millions (updated)
EMF Compare 2.0: Scaling to Millions (updated)EMF Compare 2.0: Scaling to Millions (updated)
EMF Compare 2.0: Scaling to Millions (updated)
 
The Eclipse IDE - The Force Awakens (Devoxx France 2016)
The Eclipse IDE - The Force Awakens (Devoxx France 2016)The Eclipse IDE - The Force Awakens (Devoxx France 2016)
The Eclipse IDE - The Force Awakens (Devoxx France 2016)
 
Google Guava & EMF @ GTUG Nantes
Google Guava & EMF @ GTUG NantesGoogle Guava & EMF @ GTUG Nantes
Google Guava & EMF @ GTUG Nantes
 

Similar to OSGi: Don't let me be Misunderstood

P Training Presentation
P Training PresentationP Training Presentation
P Training Presentation
Gaurav Tyagi
 

Similar to OSGi: Don't let me be Misunderstood (20)

Java 9 / Jigsaw - AJUG/VJUG session
Java 9 / Jigsaw - AJUG/VJUG  sessionJava 9 / Jigsaw - AJUG/VJUG  session
Java 9 / Jigsaw - AJUG/VJUG session
 
Javantura v4 - What’s NOT new in modular Java - Milen Dyankov
Javantura v4 - What’s NOT new in modular Java - Milen DyankovJavantura v4 - What’s NOT new in modular Java - Milen Dyankov
Javantura v4 - What’s NOT new in modular Java - Milen Dyankov
 
Hibernate
HibernateHibernate
Hibernate
 
OSGi Training for Carbon Developers
OSGi Training for Carbon DevelopersOSGi Training for Carbon Developers
OSGi Training for Carbon Developers
 
Java 9 / Jigsaw - LJC / VJUG session (hackday session)
Java 9 / Jigsaw - LJC / VJUG session (hackday session)Java 9 / Jigsaw - LJC / VJUG session (hackday session)
Java 9 / Jigsaw - LJC / VJUG session (hackday session)
 
Level Up Your Integration Testing With Testcontainers
Level Up Your Integration Testing With TestcontainersLevel Up Your Integration Testing With Testcontainers
Level Up Your Integration Testing With Testcontainers
 
Should Invoker Rights be used?
Should Invoker Rights be used?Should Invoker Rights be used?
Should Invoker Rights be used?
 
Spring andspringboot training
Spring andspringboot trainingSpring andspringboot training
Spring andspringboot training
 
159747608 a-training-report-on
159747608 a-training-report-on159747608 a-training-report-on
159747608 a-training-report-on
 
Java Modularity with OSGi
Java Modularity with OSGiJava Modularity with OSGi
Java Modularity with OSGi
 
Modules all the way down: OSGi and the Java Platform Module System
Modules all the way down: OSGi and the Java Platform Module SystemModules all the way down: OSGi and the Java Platform Module System
Modules all the way down: OSGi and the Java Platform Module System
 
Eclipse 2011 Hot Topics
Eclipse 2011 Hot TopicsEclipse 2011 Hot Topics
Eclipse 2011 Hot Topics
 
Java se7 features
Java se7 featuresJava se7 features
Java se7 features
 
OSGi DevCon US 2010 Review
OSGi DevCon US 2010 ReviewOSGi DevCon US 2010 Review
OSGi DevCon US 2010 Review
 
P Training Presentation
P Training PresentationP Training Presentation
P Training Presentation
 
CNCF Québec Meetup du 16 Novembre 2023
CNCF Québec Meetup du 16 Novembre 2023CNCF Québec Meetup du 16 Novembre 2023
CNCF Québec Meetup du 16 Novembre 2023
 
Java code coverage with JCov. Implementation details and use cases.
Java code coverage with JCov. Implementation details and use cases.Java code coverage with JCov. Implementation details and use cases.
Java code coverage with JCov. Implementation details and use cases.
 
DAY_1.1.pptx
DAY_1.1.pptxDAY_1.1.pptx
DAY_1.1.pptx
 
Introduction to YouDebug - Scriptable Java Debugger
Introduction to YouDebug - Scriptable Java DebuggerIntroduction to YouDebug - Scriptable Java Debugger
Introduction to YouDebug - Scriptable Java Debugger
 
Gnizr Architecture (for developers)
Gnizr Architecture (for developers)Gnizr Architecture (for developers)
Gnizr Architecture (for developers)
 

Recently uploaded

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Recently uploaded (20)

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
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
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
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
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
 
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
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
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
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
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...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
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
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 

OSGi: Don't let me be Misunderstood