starting with the osgi specifications by peter kriens, ceo aqute osgi fellow
Post on 27-Mar-2015
219 Views
Preview:
TRANSCRIPT
Starting With The Starting With The OSGi SpecificationsOSGi Specifications
ByByPeter Kriens, CEO aQutePeter Kriens, CEO aQute
OSGi FellowOSGi Fellow
www.aQute.swww.aQute.see
www.aQute.sewww.aQute.se - 2003 IIR Home nrg - - 2003 IIR Home nrg - 22
ContentContent
About the OSGi AllianceAbout the OSGi Alliance Why? Where?Why? Where? Pro/ConPro/Con Pilot ProjectPilot Project DevelopmentDevelopment Your OSGi Needs You!Your OSGi Needs You! ConclusionConclusion
www.aQute.sewww.aQute.se - 2003 IIR Home nrg - - 2003 IIR Home nrg - 33
About The OSGi AllianceAbout The OSGi Alliance
Established in 1999 to create a Established in 1999 to create a common model for networked servicescommon model for networked services
Active in the car industry, industrial Active in the car industry, industrial automation, entertainment, and of automation, entertainment, and of course home automationcourse home automation
Applicable for the coming generation Applicable for the coming generation of wired appliance that will require of wired appliance that will require management management
www.aQute.sewww.aQute.se - 2003 IIR Home nrg - - 2003 IIR Home nrg - 44
Why is OSGi needed?Why is OSGi needed?
UnconnectedDedicated
Device
Closed universeClosed universe Upgrades are in unityUpgrades are in unity Not necessary to Not necessary to
interact with other interact with other devicesdevices
(Relatively) easy to (Relatively) easy to managemanage
Can be proprietaryCan be proprietary
No Need For OSGi ...No Need For OSGi ...
www.aQute.sewww.aQute.se - 2003 IIR Home nrg - - 2003 IIR Home nrg - 55
Why Is OSGi needed?Why Is OSGi needed?
Needs to inter-work Needs to inter-work with with futurefuture products products
Increased functionality Increased functionality requires off the shelf requires off the shelf componentscomponents
Execute branded Execute branded servicesservices
...... Too much for a single Too much for a single
development development organization!organization!
ConnectedOpen
Device
Bluetooth
802.11
Firewire
MHP
www.aQute.sewww.aQute.se - 2003 IIR Home nrg - - 2003 IIR Home nrg - 66
Products Based On OSGiProducts Based On OSGi
Easy to upgrade with Easy to upgrade with new functionalitynew functionality
Easy to have a Easy to have a family of productsfamily of products
Save cost with Save cost with standard standard componentscomponents
Simplify Simplify developmentdevelopment
www.aQute.sewww.aQute.se - 2003 IIR Home nrg - - 2003 IIR Home nrg - 77
Pro/ConPro/Con
ConCon– Size & Performance. Java requires a heavier Size & Performance. Java requires a heavier
processor and more RAM for the similar processor and more RAM for the similar functionality.functionality.
ProPro– Large Java Developer SocietyLarge Java Developer Society– Third party componentsThird party components– (Much) Wider market opportunities(Much) Wider market opportunities– Hedge your betsHedge your bets
www.aQute.sewww.aQute.se - 2003 IIR Home nrg - - 2003 IIR Home nrg - 88
Pilot ProjectPilot Project
Find an applicable product that is (becoming) Find an applicable product that is (becoming) connected to other devicesconnected to other devices
Train a group of developersTrain a group of developers Analyze the role OSGi can play for the Analyze the role OSGi can play for the
productproduct Analyze the changes required for the deviceAnalyze the changes required for the device Find standard componentsFind standard components Build a prototypeBuild a prototype
www.aQute.sewww.aQute.se - 2003 IIR Home nrg - - 2003 IIR Home nrg - 99
Train a group of Train a group of developersdevelopers
Training is paramountTraining is paramount– Design is on the wrong side of development. We Design is on the wrong side of development. We
have to take decisions before we know the have to take decisions before we know the details.details.
– The dynamic programming model of the OSGi The dynamic programming model of the OSGi specifications are somewhat "different"specifications are somewhat "different"
Technical skills required areTechnical skills required are– Java on Embedded systemsJava on Embedded systems– OSGi service modelOSGi service model– Domain knowledgeDomain knowledge
www.aQute.sewww.aQute.se - 2003 IIR Home nrg - - 2003 IIR Home nrg - 1010
Analyze The Role OSGi Analyze The Role OSGi Can PlayCan Play
Candidate AreasCandidate Areas– Network Application Protocols Network Application Protocols
(HTTP,UPnP,JINI,NEWS)(HTTP,UPnP,JINI,NEWS)– "Intelligence""Intelligence"– Remote ManagementRemote Management– User InterfaceUser Interface– CachingCaching– DatabaseDatabase– SecuritySecurity
www.aQute.sewww.aQute.se - 2003 IIR Home nrg - - 2003 IIR Home nrg - 1111
How To Handle Native How To Handle Native CodeCode
OSGi is Java based but supports native OSGi is Java based but supports native code very wellcode very well
A bundle (an OSGi executable) can A bundle (an OSGi executable) can contain native code for different contain native code for different architecturesarchitectures
Suitable for:Suitable for:– Legacy codeLegacy code– High Performance CodeHigh Performance Code– Low level device controlLow level device control
www.aQute.sewww.aQute.se - 2003 IIR Home nrg - - 2003 IIR Home nrg - 1212
What Changes Are What Changes Are Required?Required?
It is usually better when the OSGi It is usually better when the OSGi Framework is "in control"Framework is "in control"– Simplifies use of componentsSimplifies use of components– Better decompositionBetter decomposition– Prevent the "mixed approach" trap"Prevent the "mixed approach" trap"
OSGi can handle legacy code very OSGi can handle legacy code very wellwell
www.aQute.sewww.aQute.se - 2003 IIR Home nrg - - 2003 IIR Home nrg - 1313
Find Standard Find Standard ComponentsComponents
Many OSGi member companies have developed Many OSGi member companies have developed off-the-shelf componentsoff-the-shelf components– These are usually cheaper than building them in-These are usually cheaper than building them in-
househouse– Very good quality availableVery good quality available– More functionality, more choiceMore functionality, more choice
Companies are, amongst others, IBM, Companies are, amongst others, IBM, Gatespace, ProSyst, Atinav, OpenSugar, SUN, Gatespace, ProSyst, Atinav, OpenSugar, SUN, Acunia, ...Acunia, ...
Select preferred vendor, but work with othersSelect preferred vendor, but work with others
www.aQute.sewww.aQute.se - 2003 IIR Home nrg - - 2003 IIR Home nrg - 1414
OS And VMOS And VM
Most embedded OS's support Java todayMost embedded OS's support Java today– Linux, QNX, Win CE, Win XP embeddedLinux, QNX, Win CE, Win XP embedded
Not all VMs are created equalNot all VMs are created equal– Memory consumption and performance can Memory consumption and performance can
differ significantly between VMsdiffer significantly between VMs Select VM ProfileSelect VM Profile
– OSGi runs on CDC with Foundation Profile (SUN), OSGi runs on CDC with Foundation Profile (SUN), jclGateway (IBM) or other profiles that jclGateway (IBM) or other profiles that implement the OSGi minimum execution implement the OSGi minimum execution requirement requirement
www.aQute.sewww.aQute.se - 2003 IIR Home nrg - - 2003 IIR Home nrg - 1515
QuantifyQuantify
What Memory & CPU is needed?What Memory & CPU is needed?– Java adds a significant overhead.Java adds a significant overhead.– > 100 MIPS> 100 MIPS– > 8 Mbyte RAM> 8 Mbyte RAM
Overhead (space/time) OSGi is minimalOverhead (space/time) OSGi is minimal Note that extra space is needed for Note that extra space is needed for
downloaded services (Include memory downloaded services (Include memory stick like the Ericsson P800)stick like the Ericsson P800)
www.aQute.sewww.aQute.se - 2003 IIR Home nrg - - 2003 IIR Home nrg - 1616
QuantifyQuantify
Applications
Applications
JavaJava
Functionality
Functionality
Overhead Overhead
Ratio < 0 Ratio > 0
Added Value
www.aQute.sewww.aQute.se - 2003 IIR Home nrg - - 2003 IIR Home nrg - 1717
Build a PrototypeBuild a Prototype
Build a prototype, because you will build one Build a prototype, because you will build one anyway …anyway …
Remember performance and size, always!Remember performance and size, always!– Budget memory + performanceBudget memory + performance
Stay vendor independentStay vendor independent– At least do not become proprietary without a At least do not become proprietary without a
decisiondecision Use component model for internal developmentUse component model for internal development Reuse might be higher than you thinkReuse might be higher than you think
www.aQute.sewww.aQute.se - 2003 IIR Home nrg - - 2003 IIR Home nrg - 1818
Your OSGi Needs YouYour OSGi Needs You
Feedback experiences and service Feedback experiences and service definitions into the OSGidefinitions into the OSGi
WhyWhy– Improve the quality by having many eyes Improve the quality by having many eyes
look at it criticallylook at it critically– Discover alternativesDiscover alternatives– If it becomes standardized, you have a head If it becomes standardized, you have a head
startstart– Altruism!Altruism!
www.aQute.sewww.aQute.se - 2003 IIR Home nrg - - 2003 IIR Home nrg - 1919
ConclusionsConclusions
The OSGi/Java combination is going to be The OSGi/Java combination is going to be needed in a connected worldneeded in a connected world
Java simplifies programming, but Java simplifies programming, but embedded devices will remain more embedded devices will remain more complex than desktopscomplex than desktops
The component model can help making The component model can help making devices applicable in new marketsdevices applicable in new markets
Third party development will be a Third party development will be a requirement in the futurerequirement in the future
www.aQute.sewww.aQute.se - 2003 IIR Home nrg - - 2003 IIR Home nrg - 2020
QuestionsQuestions
??
Contact:Contact:Peter.Kriens@aQute.Peter.Kriens@aQute.
sese
top related