Download presentation
Presentation is loading. Please wait.
Published bySeth Bailey Modified over 10 years ago
2
©2003 aQute, All Rights Reserved Tokyo, August 2003 : 1 OSGi Service Platform Tokyo August 28, 2003 Peter Kriens CEO aQute, OSGi Fellow www.aQute.biz MailPeter.Kriens@aQute.biz AIMpkriens Tel+33 467871853
3
©2003 aQute, All Rights Reserved Tokyo, August 2003 : 2 What is the OSGi Service Platform? A Java framework for developing remotely deployed service applications, that require: – Reliability – Large scale distribution – Wide range of devices – Collaborative Created through collaboration of industry leaders Spec 3.0 publicly available at www.osgi.org
4
©2003 aQute, All Rights Reserved Tokyo, August 2003 : 3 Release 3 Planned Extensions Framework OSGi Specifications Content Execution Environment Device ManagerLog ServiceHttp Service R1 User Admin Service TrackerConfiguration Admin Preferences Service Package AdminPermission Admin R2 Connector Service Position XML Parser Service UPnP ServiceJini ServiceWire Admin Measurement Start LevelURL Handler R3
5
©2003 aQute, All Rights Reserved Tokyo, August 2003 : 4 Essentials Reliable – Large-scale deployments fail without extremely high reliability Portable – Attract third-party developers to create essential innovative services Dynamic – Allow configuration to adapt to user & operator needs over time Secure – Protect service providers from each other – Guarantee a prescribed quality of service Scalable – Members have very different configurations for their deployment of OSGi frameworks
6
©2003 aQute, All Rights Reserved Tokyo, August 2003 : 5 Core Functions Life Cycle Management – Install, Start, Stop, Update, Uninstall Dynamic Service Registry Version management Open remote management architecture Strict separation of specifications and implementations – multiple implementations
7
©2003 aQute, All Rights Reserved Tokyo, August 2003 : 6 OSGi Environment Hardware Bundle Operating System OSGi Java VM Bundle (Application) Driver = service interface exported and imported by bundles
8
©2003 aQute, All Rights Reserved Tokyo, August 2003 : 7 Framework Allows applications to share a single Java VM Manages applications – Life cycle, Java Packages, Security, Dependencies between applications Service registry for collaboration Extensive notification mechanism Policy free
9
©2003 aQute, All Rights Reserved Tokyo, August 2003 : 8 Framework Entities OSGi Framework Bundle A {} = service, java interface Bundle B {} Bundle C {}
10
©2003 aQute, All Rights Reserved Tokyo, August 2003 : 9 Bundles A bundle is the deliverable application – Like a Windows EXE file Contains programs + resources A bundle registers zero or more services – A service is specified in a Java interface and may be implemented by multiple bundles Searches can be used to find services registered by other bundles – Query language (filters) The Framework itself is represented as the system bundle
11
©2003 aQute, All Rights Reserved Tokyo, August 2003 : 10 Cooperative Model Bundles can cooperate through: – service objects – package sharing A dynamic registry allows a bundle to find and track service objects Framework fully manages this cooperation – Dependencies, security More than an Applet, MIDlet, Xlet runner
12
©2003 aQute, All Rights Reserved Tokyo, August 2003 : 11 Cooperative Model JAVA Operating System Hardware Java Application Manager Service registry packages Midlet, Xlet, or Applet Midlet, Xlet, or Applet No native code No management bundles Service registry packages No package management (versions!) No cooperation
13
©2003 aQute, All Rights Reserved Tokyo, August 2003 : 12 Service Specifics A service is an object registered with the Framework by a bundle to be used by other bundles The semantics and syntax of a service are specified in a Java interface service
14
©2003 aQute, All Rights Reserved Tokyo, August 2003 : 13 Services & Java Interfaces Log Bundle IBM Log Motorola Log implements Gets from Framework (with query) interface public interface Log { public void log(String s); } Simple Log public class SimpleLog implements Log { public void log(String s) { System.out.println( s ); } }
15
©2003 aQute, All Rights Reserved Tokyo, August 2003 : 14 Dependencies The Framework manages the dependencies between bundles Bundles that are installed and started will register services Framework will automatically unregister services when a bundle stops Event notifications for all important events
16
©2003 aQute, All Rights Reserved Tokyo, August 2003 : 15 Dependencies Framework Bundle C { } Bundle A { } Bundle B { } Install A start events: install events: register
17
©2003 aQute, All Rights Reserved Tokyo, August 2003 : 16 Framework Dependencies Bundle C { } Bundle B { } Uninstall stop events: uninstall events: unregister Bundle A { }
18
©2003 aQute, All Rights Reserved Tokyo, August 2003 : 17 The Classpath in OSGi Each bundle has its own class loader Bundles can only shares packages when: – Import and export clauses in the manifest match – Have permission to do so for those packages The framework manages the overall CLASSPATH for bundles Assures that all bundles use the same class (of the same version) Tracks shared usage of packages between between bundles
19
©2003 aQute, All Rights Reserved Tokyo, August 2003 : 18 Native code JAR file contains both Java classes + native code Matching of correct operating system, processor and language Life cycle bound to bundles life cycle Requires Java 1.2 support Notice that JAR format is only delivery format
20
©2003 aQute, All Rights Reserved Tokyo, August 2003 : 19 OSGi Security Separates bundles from each other, in all aspects Optional – Base Framework API not linked to java.security OSGi uses a single (1) protection domain per bundle Framework is policy free Administration is done via the Permission Admin service
21
©2003 aQute, All Rights Reserved Tokyo, August 2003 : 20 Remote Management Framework provides mechanisms, but is policy free Management policy provided by a bundle specific to the operator: – Called a Management Bundle Management policies made/selected by the operator Enables standardized OSGi management bundles from network management vendors
22
©2003 aQute, All Rights Reserved Tokyo, August 2003 : 21 Local Ethernet Local Powernet Management, protocols or API? Access Net OSGi Environment Management System = Bundle Private protocol for example: SNMP, CIM, SyncML, etc.
23
©2003 aQute, All Rights Reserved Tokyo, August 2003 : 22 Conclusion Open specification process, not a patented API Java Based Cooperative (Remote) Managed Secure Component Market Contact www.aQute.biz for further information
24
©2003 aQute, All Rights Reserved Tokyo, August 2003 : 23
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.