SlideShare a Scribd company logo
1 of 17
Download to read offline
Why Have TheWhy Have The
OSGiOSGi SpecificationsSpecifications
Been Based OnBeen Based On
JavaJava™™ TechnologyTechnology
??
ByBy
Peter Kriens, CEOPeter Kriens, CEO aQuteaQute
OSGiOSGi Technology OfficerTechnology Officer
www.www.aQuteaQute.se.se
www.aQute.sewww.aQute.se -- 20022002 OSGiOSGi World CongressWorld Congress -- 22
ContentContent
Interpreted and Compiled languagesInterpreted and Compiled languages
Detailed look at IssuesDetailed look at Issues
Comparison with .NETComparison with .NET
ConclusionConclusion
www.aQute.sewww.aQute.se -- 20022002 OSGiOSGi World CongressWorld Congress -- 33
Interpreted LanguagesInterpreted Languages
Interpreter/VM isInterpreter/VM is betweenbetween source code and CPUsource code and CPU
Java is an interpreter with a defined executableJava is an interpreter with a defined executable
format: VMformat: VM
Compiled
Source code
Compiler
CPU
Java
Source code
javac
VM
CPU
Interpreted
Source code
CPU
Interpreter
byte-codes
www.aQute.sewww.aQute.se -- 20022002 OSGiOSGi World CongressWorld Congress -- 44
PortabilityPortability
Interpreters are easier to port to other environmentsInterpreters are easier to port to other environments
No Source Code changes requiredNo Source Code changes required
Source code Source code Source code
Compiler javac
VM
Interpreted Compiled Java
CPUCPU CPU
Interpreter
Interpreter VM
Source code
Compiler
CPUCPUCPU
www.aQute.sewww.aQute.se -- 20022002 OSGiOSGi World CongressWorld Congress -- 55
Illegal Access To MemoryIllegal Access To Memory
No Illegal Access: Reduces security threats, ImprovesNo Illegal Access: Reduces security threats, Improves
stabilitystability
No (more) memory exceptions and buffer overrunsNo (more) memory exceptions and buffer overruns
Compiler
Interpreted Compiled Java
CPUCPU CPU
Interpreter
javac
VM
Source code Source code Source code
www.aQute.sewww.aQute.se -- 20022002 OSGiOSGi World CongressWorld Congress -- 66
VersioningVersioning
Solves many version issues: Simpler deploymentSolves many version issues: Simpler deployment
No More: Requires version 5.12.1.4No More: Requires version 5.12.1.4--kwtkwt
Interpreters use symbolic linking: more robustInterpreters use symbolic linking: more robust
Compiler
Interpreted Compiled Java
CPUCPU CPU
Interpreter
javac
VM
Source code Source code Source code
lib liblib
www.aQute.sewww.aQute.se -- 20022002 OSGiOSGi World CongressWorld Congress -- 77
Type Problems DetectionType Problems Detection
Early detection of bugs: improved productivityEarly detection of bugs: improved productivity
Accidental and intended type violationsAccidental and intended type violations
Java finds all type errors, and many earlyJava finds all type errors, and many early
Compiler
Interpreted Compiled Java
CPUCPU CPU
Interpreter
javac
VM
Source code Source code Source code
www.aQute.sewww.aQute.se -- 20022002 OSGiOSGi World CongressWorld Congress -- 88
PerformancePerformance
PrePre--processing reduces overhead: faster startupprocessing reduces overhead: faster startup
Compiled code is most efficientCompiled code is most efficient
JIT techniques can reduce the performance gapJIT techniques can reduce the performance gap
Compiler
Interpreted Compiled Java
CPUCPU CPU
Interpreter
javac
VM
Source code Source code Source code
www.aQute.sewww.aQute.se -- 20022002 OSGiOSGi World CongressWorld Congress -- 99
Too Many Libraries ...Too Many Libraries ...
Foundation library: One App for all platforms!Foundation library: One App for all platforms!
Problems increase exponentially!Problems increase exponentially!
JavaJava very wellvery well defined, including rundefined, including run--timetime
Interpreted
Source code
mod
Interpreter
A-lib
mod
B-lib
Compiled
Source code
mod mod
Compiler
A-lib B-lib
Java
Source code
mod mod
VM
rt.jar
www.aQute.sewww.aQute.se -- 20022002 OSGiOSGi World CongressWorld Congress -- 1010
Do It Right versus PerformanceDo It Right versus Performance
Cannot performCannot perform hackshacks: security versus performance: security versus performance
Traditional code hasTraditional code has hackshacks that perform wellthat perform well
HacksHacks increase maintenance cost and field problemsincrease maintenance cost and field problems
Source code
memory
= byte= int
Conversion through
casting
Source code
memory
Invalid memory
access checks
Source code
unicode
Use of Unicode
versus bytes
Source code
s meta
Meta information
for diagnostics
Source code
s
Security Checks
security check
www.aQute.sewww.aQute.se -- 20022002 OSGiOSGi World CongressWorld Congress -- 1111
Life Cycle ManagementLife Cycle Management
Loading policy defined in application code: FlexibilityLoading policy defined in application code: Flexibility
Used by theUsed by the OSGiOSGi specificationsspecifications
Policies implemented by application codePolicies implemented by application code
Traditional
run-time
CPU
code
Java
VM
CPU
= Class Loadernetwork
code code
code
www.aQute.sewww.aQute.se -- 20022002 OSGiOSGi World CongressWorld Congress -- 1212
SecuritySecurity
Language includes security check: Safe codeLanguage includes security check: Safe code
Prevents against viruses and wormsPrevents against viruses and worms
First language with builtFirst language with built--in security architecturein security architecture
Application A
Application B
Application C
method foo SecurityManager
resource x
Verify permissions
for resource x
www.aQute.sewww.aQute.se -- 20022002 OSGiOSGi World CongressWorld Congress -- 1313
But What AboutBut What About
MicrosoftMicrosoft’’s .NETs .NET
??
www.aQute.sewww.aQute.se -- 20022002 OSGiOSGi World CongressWorld Congress -- 1414
What is .NET?What is .NET?
www.aQute.sewww.aQute.se -- 20022002 OSGiOSGi World CongressWorld Congress -- 1515
Java versus .NET CLI/CLRJava versus .NET CLI/CLR
Java VM technology is similar to .NET C#Java VM technology is similar to .NET C#
But the Java environment is:But the Java environment is:
–– More matureMore mature
–– Not controlled by a single vendor: JCPNot controlled by a single vendor: JCP
–– Applicable for embedded devicesApplicable for embedded devices
–– Coherent environment (Coherent environment (singlesingle syntax)syntax)
–– Exists for virtually every OS in existence,Exists for virtually every OS in existence, todaytoday
–– Runs theRuns the OSGiOSGi specifications!specifications!
www.aQute.sewww.aQute.se -- 20022002 OSGiOSGi World CongressWorld Congress -- 1616
ConclusionConclusion
PortabilityPortability
Safety and security featuresSafety and security features
Increased productivityIncreased productivity
Class loaders makeClass loaders make OSGiOSGi possiblepossible
Interpreted language is the right choice for theInterpreted language is the right choice for the OSGiOSGi
Should we use Java today [again]?Should we use Java today [again]?
YES!YES!
www.aQute.sewww.aQute.se -- 20022002 OSGiOSGi World CongressWorld Congress -- 1717
QuestionsQuestions
??
Contact:Contact:
Peter.Kriens@aQute.sePeter.Kriens@aQute.se

More Related Content

What's hot

Android Native Development Kit
Android Native Development KitAndroid Native Development Kit
Android Native Development KitPeter R. Egli
 
SoftwareEngineer
SoftwareEngineerSoftwareEngineer
SoftwareEngineerTodd Nguyen
 
Best practices of project management for small teams
Best practices of project management for small teamsBest practices of project management for small teams
Best practices of project management for small teamsCake YOSHIDA
 
SoftwareEngineer
SoftwareEngineerSoftwareEngineer
SoftwareEngineerTodd Nguyen
 
SoftwareEngineer
SoftwareEngineerSoftwareEngineer
SoftwareEngineerTodd Nguyen
 
Introduction to the Android NDK
Introduction to the Android NDKIntroduction to the Android NDK
Introduction to the Android NDKSebastian Mauer
 

What's hot (8)

Kannan_Resume
Kannan_ResumeKannan_Resume
Kannan_Resume
 
Android Native Development Kit
Android Native Development KitAndroid Native Development Kit
Android Native Development Kit
 
SoftwareEngineer
SoftwareEngineerSoftwareEngineer
SoftwareEngineer
 
Best practices of project management for small teams
Best practices of project management for small teamsBest practices of project management for small teams
Best practices of project management for small teams
 
Kirti_Exp_Datacom_testing
Kirti_Exp_Datacom_testingKirti_Exp_Datacom_testing
Kirti_Exp_Datacom_testing
 
SoftwareEngineer
SoftwareEngineerSoftwareEngineer
SoftwareEngineer
 
SoftwareEngineer
SoftwareEngineerSoftwareEngineer
SoftwareEngineer
 
Introduction to the Android NDK
Introduction to the Android NDKIntroduction to the Android NDK
Introduction to the Android NDK
 

Similar to Why Have The Specifications Been Based On Java™ Technology? - P Kriens

Online gas booking project in java
Online gas booking project in javaOnline gas booking project in java
Online gas booking project in javas4al_com
 
Cr java concept by vikas jagtap
Cr java  concept by vikas jagtapCr java  concept by vikas jagtap
Cr java concept by vikas jagtapVikas Jagtap
 
jVoiD - the enterprise ecommerce Java by Schogini
jVoiD - the enterprise ecommerce Java by SchoginijVoiD - the enterprise ecommerce Java by Schogini
jVoiD - the enterprise ecommerce Java by SchoginiSchogini Systems Pvt Ltd
 
OSGi and Other Technologies - P Kriens
OSGi and Other Technologies - P KriensOSGi and Other Technologies - P Kriens
OSGi and Other Technologies - P Kriensmfrancis
 
Building a modern SaaS in 2020
Building a modern SaaS in 2020Building a modern SaaS in 2020
Building a modern SaaS in 2020Nikolay Stoitsev
 
Eclipse Che - A Revolutionary IDE for Distributed & Mainframe Development
Eclipse Che - A Revolutionary IDE for Distributed & Mainframe DevelopmentEclipse Che - A Revolutionary IDE for Distributed & Mainframe Development
Eclipse Che - A Revolutionary IDE for Distributed & Mainframe DevelopmentDevOps.com
 
(phpconftw2012) PHP as a Middleware in Embedded Systems
(phpconftw2012) PHP as a Middleware in Embedded Systems(phpconftw2012) PHP as a Middleware in Embedded Systems
(phpconftw2012) PHP as a Middleware in Embedded Systemssosorry
 
windows CE
windows CEwindows CE
windows CEbretorio
 
[RHFSeoul2017]6 Steps to Transform Enterprise Applications
[RHFSeoul2017]6 Steps to Transform Enterprise Applications[RHFSeoul2017]6 Steps to Transform Enterprise Applications
[RHFSeoul2017]6 Steps to Transform Enterprise ApplicationsDaniel Oh
 
Java Programming (M&M)
Java Programming (M&M)Java Programming (M&M)
Java Programming (M&M)mafffffe19
 
Modern e2e-testing-for-complex-web-applications-with-cypressio
Modern e2e-testing-for-complex-web-applications-with-cypressioModern e2e-testing-for-complex-web-applications-with-cypressio
Modern e2e-testing-for-complex-web-applications-with-cypressioMarios Fakiolas
 
RISC-V growth and successes in technology and industry - embedded world 2021
RISC-V growth and successes in technology and industry - embedded world 2021RISC-V growth and successes in technology and industry - embedded world 2021
RISC-V growth and successes in technology and industry - embedded world 2021RISC-V International
 
Build a Deep Learning Video Analytics Framework | SIGGRAPH 2019 Technical Ses...
Build a Deep Learning Video Analytics Framework | SIGGRAPH 2019 Technical Ses...Build a Deep Learning Video Analytics Framework | SIGGRAPH 2019 Technical Ses...
Build a Deep Learning Video Analytics Framework | SIGGRAPH 2019 Technical Ses...Intel® Software
 
Arm html5 presentation
Arm html5 presentationArm html5 presentation
Arm html5 presentationIan Renyard
 
[MySQL.Cookbook(第2版)].(美)迪布瓦.中文版.扫描版
[MySQL.Cookbook(第2版)].(美)迪布瓦.中文版.扫描版[MySQL.Cookbook(第2版)].(美)迪布瓦.中文版.扫描版
[MySQL.Cookbook(第2版)].(美)迪布瓦.中文版.扫描版gavin shaw
 
[精通Perl.中文版].(美)福瓦.扫描版
[精通Perl.中文版].(美)福瓦.扫描版[精通Perl.中文版].(美)福瓦.扫描版
[精通Perl.中文版].(美)福瓦.扫描版gavin shaw
 
Pipeline as code for your infrastructure as Code
Pipeline as code for your infrastructure as CodePipeline as code for your infrastructure as Code
Pipeline as code for your infrastructure as CodeKris Buytaert
 

Similar to Why Have The Specifications Been Based On Java™ Technology? - P Kriens (20)

Online gas booking project in java
Online gas booking project in javaOnline gas booking project in java
Online gas booking project in java
 
Cr java concept by vikas jagtap
Cr java  concept by vikas jagtapCr java  concept by vikas jagtap
Cr java concept by vikas jagtap
 
jVoiD - the enterprise ecommerce Java by Schogini
jVoiD - the enterprise ecommerce Java by SchoginijVoiD - the enterprise ecommerce Java by Schogini
jVoiD - the enterprise ecommerce Java by Schogini
 
OSGi and Other Technologies - P Kriens
OSGi and Other Technologies - P KriensOSGi and Other Technologies - P Kriens
OSGi and Other Technologies - P Kriens
 
Building a modern SaaS in 2020
Building a modern SaaS in 2020Building a modern SaaS in 2020
Building a modern SaaS in 2020
 
Eclipse Che - A Revolutionary IDE for Distributed & Mainframe Development
Eclipse Che - A Revolutionary IDE for Distributed & Mainframe DevelopmentEclipse Che - A Revolutionary IDE for Distributed & Mainframe Development
Eclipse Che - A Revolutionary IDE for Distributed & Mainframe Development
 
(phpconftw2012) PHP as a Middleware in Embedded Systems
(phpconftw2012) PHP as a Middleware in Embedded Systems(phpconftw2012) PHP as a Middleware in Embedded Systems
(phpconftw2012) PHP as a Middleware in Embedded Systems
 
windows CE
windows CEwindows CE
windows CE
 
SynapseIndia dotnet development framework
SynapseIndia  dotnet development frameworkSynapseIndia  dotnet development framework
SynapseIndia dotnet development framework
 
[RHFSeoul2017]6 Steps to Transform Enterprise Applications
[RHFSeoul2017]6 Steps to Transform Enterprise Applications[RHFSeoul2017]6 Steps to Transform Enterprise Applications
[RHFSeoul2017]6 Steps to Transform Enterprise Applications
 
Java Programming (M&M)
Java Programming (M&M)Java Programming (M&M)
Java Programming (M&M)
 
Modern e2e-testing-for-complex-web-applications-with-cypressio
Modern e2e-testing-for-complex-web-applications-with-cypressioModern e2e-testing-for-complex-web-applications-with-cypressio
Modern e2e-testing-for-complex-web-applications-with-cypressio
 
RISC-V growth and successes in technology and industry - embedded world 2021
RISC-V growth and successes in technology and industry - embedded world 2021RISC-V growth and successes in technology and industry - embedded world 2021
RISC-V growth and successes in technology and industry - embedded world 2021
 
Build a Deep Learning Video Analytics Framework | SIGGRAPH 2019 Technical Ses...
Build a Deep Learning Video Analytics Framework | SIGGRAPH 2019 Technical Ses...Build a Deep Learning Video Analytics Framework | SIGGRAPH 2019 Technical Ses...
Build a Deep Learning Video Analytics Framework | SIGGRAPH 2019 Technical Ses...
 
Arm html5 presentation
Arm html5 presentationArm html5 presentation
Arm html5 presentation
 
Bhavin_Resume
Bhavin_ResumeBhavin_Resume
Bhavin_Resume
 
[MySQL.Cookbook(第2版)].(美)迪布瓦.中文版.扫描版
[MySQL.Cookbook(第2版)].(美)迪布瓦.中文版.扫描版[MySQL.Cookbook(第2版)].(美)迪布瓦.中文版.扫描版
[MySQL.Cookbook(第2版)].(美)迪布瓦.中文版.扫描版
 
[精通Perl.中文版].(美)福瓦.扫描版
[精通Perl.中文版].(美)福瓦.扫描版[精通Perl.中文版].(美)福瓦.扫描版
[精通Perl.中文版].(美)福瓦.扫描版
 
SynapseIndia dotnet framework library
SynapseIndia  dotnet framework librarySynapseIndia  dotnet framework library
SynapseIndia dotnet framework library
 
Pipeline as code for your infrastructure as Code
Pipeline as code for your infrastructure as CodePipeline as code for your infrastructure as Code
Pipeline as code for your infrastructure as Code
 

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

costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
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 pragmaticsAndrey Dotsenko
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
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
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
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
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 

Recently uploaded (20)

costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
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
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
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
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
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
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 

Why Have The Specifications Been Based On Java™ Technology? - P Kriens

  • 1. Why Have TheWhy Have The OSGiOSGi SpecificationsSpecifications Been Based OnBeen Based On JavaJava™™ TechnologyTechnology ?? ByBy Peter Kriens, CEOPeter Kriens, CEO aQuteaQute OSGiOSGi Technology OfficerTechnology Officer www.www.aQuteaQute.se.se
  • 2. www.aQute.sewww.aQute.se -- 20022002 OSGiOSGi World CongressWorld Congress -- 22 ContentContent Interpreted and Compiled languagesInterpreted and Compiled languages Detailed look at IssuesDetailed look at Issues Comparison with .NETComparison with .NET ConclusionConclusion
  • 3. www.aQute.sewww.aQute.se -- 20022002 OSGiOSGi World CongressWorld Congress -- 33 Interpreted LanguagesInterpreted Languages Interpreter/VM isInterpreter/VM is betweenbetween source code and CPUsource code and CPU Java is an interpreter with a defined executableJava is an interpreter with a defined executable format: VMformat: VM Compiled Source code Compiler CPU Java Source code javac VM CPU Interpreted Source code CPU Interpreter byte-codes
  • 4. www.aQute.sewww.aQute.se -- 20022002 OSGiOSGi World CongressWorld Congress -- 44 PortabilityPortability Interpreters are easier to port to other environmentsInterpreters are easier to port to other environments No Source Code changes requiredNo Source Code changes required Source code Source code Source code Compiler javac VM Interpreted Compiled Java CPUCPU CPU Interpreter Interpreter VM Source code Compiler CPUCPUCPU
  • 5. www.aQute.sewww.aQute.se -- 20022002 OSGiOSGi World CongressWorld Congress -- 55 Illegal Access To MemoryIllegal Access To Memory No Illegal Access: Reduces security threats, ImprovesNo Illegal Access: Reduces security threats, Improves stabilitystability No (more) memory exceptions and buffer overrunsNo (more) memory exceptions and buffer overruns Compiler Interpreted Compiled Java CPUCPU CPU Interpreter javac VM Source code Source code Source code
  • 6. www.aQute.sewww.aQute.se -- 20022002 OSGiOSGi World CongressWorld Congress -- 66 VersioningVersioning Solves many version issues: Simpler deploymentSolves many version issues: Simpler deployment No More: Requires version 5.12.1.4No More: Requires version 5.12.1.4--kwtkwt Interpreters use symbolic linking: more robustInterpreters use symbolic linking: more robust Compiler Interpreted Compiled Java CPUCPU CPU Interpreter javac VM Source code Source code Source code lib liblib
  • 7. www.aQute.sewww.aQute.se -- 20022002 OSGiOSGi World CongressWorld Congress -- 77 Type Problems DetectionType Problems Detection Early detection of bugs: improved productivityEarly detection of bugs: improved productivity Accidental and intended type violationsAccidental and intended type violations Java finds all type errors, and many earlyJava finds all type errors, and many early Compiler Interpreted Compiled Java CPUCPU CPU Interpreter javac VM Source code Source code Source code
  • 8. www.aQute.sewww.aQute.se -- 20022002 OSGiOSGi World CongressWorld Congress -- 88 PerformancePerformance PrePre--processing reduces overhead: faster startupprocessing reduces overhead: faster startup Compiled code is most efficientCompiled code is most efficient JIT techniques can reduce the performance gapJIT techniques can reduce the performance gap Compiler Interpreted Compiled Java CPUCPU CPU Interpreter javac VM Source code Source code Source code
  • 9. www.aQute.sewww.aQute.se -- 20022002 OSGiOSGi World CongressWorld Congress -- 99 Too Many Libraries ...Too Many Libraries ... Foundation library: One App for all platforms!Foundation library: One App for all platforms! Problems increase exponentially!Problems increase exponentially! JavaJava very wellvery well defined, including rundefined, including run--timetime Interpreted Source code mod Interpreter A-lib mod B-lib Compiled Source code mod mod Compiler A-lib B-lib Java Source code mod mod VM rt.jar
  • 10. www.aQute.sewww.aQute.se -- 20022002 OSGiOSGi World CongressWorld Congress -- 1010 Do It Right versus PerformanceDo It Right versus Performance Cannot performCannot perform hackshacks: security versus performance: security versus performance Traditional code hasTraditional code has hackshacks that perform wellthat perform well HacksHacks increase maintenance cost and field problemsincrease maintenance cost and field problems Source code memory = byte= int Conversion through casting Source code memory Invalid memory access checks Source code unicode Use of Unicode versus bytes Source code s meta Meta information for diagnostics Source code s Security Checks security check
  • 11. www.aQute.sewww.aQute.se -- 20022002 OSGiOSGi World CongressWorld Congress -- 1111 Life Cycle ManagementLife Cycle Management Loading policy defined in application code: FlexibilityLoading policy defined in application code: Flexibility Used by theUsed by the OSGiOSGi specificationsspecifications Policies implemented by application codePolicies implemented by application code Traditional run-time CPU code Java VM CPU = Class Loadernetwork code code code
  • 12. www.aQute.sewww.aQute.se -- 20022002 OSGiOSGi World CongressWorld Congress -- 1212 SecuritySecurity Language includes security check: Safe codeLanguage includes security check: Safe code Prevents against viruses and wormsPrevents against viruses and worms First language with builtFirst language with built--in security architecturein security architecture Application A Application B Application C method foo SecurityManager resource x Verify permissions for resource x
  • 13. www.aQute.sewww.aQute.se -- 20022002 OSGiOSGi World CongressWorld Congress -- 1313 But What AboutBut What About MicrosoftMicrosoft’’s .NETs .NET ??
  • 14. www.aQute.sewww.aQute.se -- 20022002 OSGiOSGi World CongressWorld Congress -- 1414 What is .NET?What is .NET?
  • 15. www.aQute.sewww.aQute.se -- 20022002 OSGiOSGi World CongressWorld Congress -- 1515 Java versus .NET CLI/CLRJava versus .NET CLI/CLR Java VM technology is similar to .NET C#Java VM technology is similar to .NET C# But the Java environment is:But the Java environment is: –– More matureMore mature –– Not controlled by a single vendor: JCPNot controlled by a single vendor: JCP –– Applicable for embedded devicesApplicable for embedded devices –– Coherent environment (Coherent environment (singlesingle syntax)syntax) –– Exists for virtually every OS in existence,Exists for virtually every OS in existence, todaytoday –– Runs theRuns the OSGiOSGi specifications!specifications!
  • 16. www.aQute.sewww.aQute.se -- 20022002 OSGiOSGi World CongressWorld Congress -- 1616 ConclusionConclusion PortabilityPortability Safety and security featuresSafety and security features Increased productivityIncreased productivity Class loaders makeClass loaders make OSGiOSGi possiblepossible Interpreted language is the right choice for theInterpreted language is the right choice for the OSGiOSGi Should we use Java today [again]?Should we use Java today [again]? YES!YES!
  • 17. www.aQute.sewww.aQute.se -- 20022002 OSGiOSGi World CongressWorld Congress -- 1717 QuestionsQuestions ?? Contact:Contact: Peter.Kriens@aQute.sePeter.Kriens@aQute.se