starting with the osgi specifications by peter kriens, ceo aqute osgi fellow

20
The The OSGi OSGi Specifications Specifications By By Peter Kriens, CEO aQute Peter Kriens, CEO aQute OSGi Fellow OSGi Fellow www.aQute.s www.aQute.s e e

Upload: sydney-gordon

Post on 27-Mar-2015

219 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Starting With The OSGi Specifications By Peter Kriens, CEO aQute OSGi Fellow

Starting With The Starting With The OSGi SpecificationsOSGi Specifications

ByByPeter Kriens, CEO aQutePeter Kriens, CEO aQute

OSGi FellowOSGi Fellow

www.aQute.swww.aQute.see

Page 2: Starting With The OSGi Specifications By Peter Kriens, CEO aQute OSGi Fellow

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

Page 3: Starting With The OSGi Specifications By Peter Kriens, CEO aQute OSGi Fellow

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

Page 4: Starting With The OSGi Specifications By Peter Kriens, CEO aQute OSGi Fellow

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 ...

Page 5: Starting With The OSGi Specifications By Peter Kriens, CEO aQute OSGi Fellow

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

Page 6: Starting With The OSGi Specifications By Peter Kriens, CEO aQute OSGi Fellow

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

Page 7: Starting With The OSGi Specifications By Peter Kriens, CEO aQute OSGi Fellow

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

Page 8: Starting With The OSGi Specifications By Peter Kriens, CEO aQute OSGi Fellow

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

Page 9: Starting With The OSGi Specifications By Peter Kriens, CEO aQute OSGi Fellow

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

Page 10: Starting With The OSGi Specifications By Peter Kriens, CEO aQute OSGi Fellow

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

Page 11: Starting With The OSGi Specifications By Peter Kriens, CEO aQute OSGi Fellow

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

Page 12: Starting With The OSGi Specifications By Peter Kriens, CEO aQute OSGi Fellow

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

Page 13: Starting With The OSGi Specifications By Peter Kriens, CEO aQute OSGi Fellow

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

Page 14: Starting With The OSGi Specifications By Peter Kriens, CEO aQute OSGi Fellow

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

Page 15: Starting With The OSGi Specifications By Peter Kriens, CEO aQute OSGi Fellow

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)

Page 16: Starting With The OSGi Specifications By Peter Kriens, CEO aQute OSGi Fellow

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

Page 17: Starting With The OSGi Specifications By Peter Kriens, CEO aQute OSGi Fellow

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

Page 18: Starting With The OSGi Specifications By Peter Kriens, CEO aQute OSGi Fellow

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!

Page 19: Starting With The OSGi Specifications By Peter Kriens, CEO aQute OSGi Fellow

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

Page 20: Starting With The OSGi Specifications By Peter Kriens, CEO aQute OSGi Fellow

www.aQute.sewww.aQute.se - 2003 IIR Home nrg - - 2003 IIR Home nrg - 2020

QuestionsQuestions

??

Contact:Contact:[email protected]@aQute.

sese