Download presentation
Presentation is loading. Please wait.
Published byMarvin Williamson Modified over 8 years ago
2
©2001 OSGi, All Rights Reserved The OSGi Gateway and the Network Delivery of Managed Services Dave Marples djm@cs.stir.ac.uk
3
©2001 OSGi, All Rights Reserved 2 Aims and Objective To introduce everyone to the OSGi To show the way in which OSGi is expected to develop To highlight problems that this deployment model will create To start people thinking about how they might contribute to solve the problems of next generation software deployment – both to OSGi and in general
4
©2001 OSGi, All Rights Reserved 3 Overview Introduction Where OSGi fits in – purpose and rationale System Architecture Technical Overview Implications for Feature Design Questions and Open discussion
5
©2001 OSGi, All Rights Reserved 4 Who is OSGi? 2Wire, ABB, Acronet, Acunia, Adtranz PUTCC, Alcatel, AMI-C, BellSouth, Broadband Gateways, Cablevision, CCL/ITRI, Coactive Networks, Compaq, Deutsche Telekom, Domosys, e2-Home, Echelon, Electricite de France, Electrolux Home Products, Elisa Communications, emWare, Enikia, Ericsson, Espial Group, France Telecom, Gatespace, Hewlett Packard, Home Director, IBM, Infomatec, inSilicon, Invensys Controls, KDD R&D, Legend Computer Systems, Lineo, Lucent Technologies, Maytag, Metavector, Motorola, National Semiconductor, Netpliance, Nokia, Nortel Networks, Novell, Oracle, Panasonic, Patriot Scientific, Philips, ProSyst Software, PTSC, Quest, Samsung Electronics, Schindler Aufzuge, Schneider Electric, ShareGate, Sharp, Shell, Siemens, Sonera, Sony, Sprint Communications, ST Microelectronics, Sun Microsystems, Symbol Technologies, TAC AB, Telcordia Technologies, Telia, Texas Instruments, Tokyo Electric Power Company, Toshiba, Tridium, Ucentric Systems, Ubicom, Union Fenosa, VDO Car Communications, Verizon, Villa Montage Systems, Whirlpool, Wind River Systems, Yello Strom
6
©2001 OSGi, All Rights Reserved 5 What’s Missing? DOCSIS, DSL, ISDN, Satellite, W-CDMA… There are many wide area network standards The are many in- home network standards Bluetooth, CEBus HAVi, HomePNA, HomeRF, Jini, L ON W ORKS, UPnP… There is no service delivery standard OSGi
7
©2001 OSGi, All Rights Reserved 6 What Is A Services Gateway? A web phone Anything running the OSGi APIs! A cable modem A DSL modem A dedicated residential gateway A PC A set top box A automotive multimedia gateway
8
©2001 OSGi, All Rights Reserved 7 Benefits of OSGi To Cable Operators Increases “content” available on their systems –Creates new service revenue opportunities –Increases customer loyalty –Reduces customer churn by increasing customer switching costs Transforms set top boxes into an expandable and extensible service delivery platform –Enables provisioning of new services at virtually no incremental cost –Opens new market segments and services
9
©2001 OSGi, All Rights Reserved System Architecture
10
©2001 OSGi, All Rights Reserved 9 End-to-End Model with API Locations Client Open Services Gateway Wide Area Network Local Network Service Provider OSGi Framework Service 1Service 2DeviceClient Devices Service Management System Standardized OSGi API Gateway Operator
11
©2001 OSGi, All Rights Reserved 10 The OSGi API Java Virtual Machine Embedded OS Device Access Log HTTP Client access 1.0 Spec Configuration data Persistent data Active work Services Framework Accounting info
12
©2001 OSGi, All Rights Reserved 11 The OSGi API Enables zero-administration services gateways Supports secure remote operation by a service aggregator Enables multiple services to cooperatively share a common services gateway Supports any combination of remote and local networks Can be used in home, small business, home office, auto, industrial applications
13
©2001 OSGi, All Rights Reserved 12 Software Stack Hardware Bundle Operating System OSGi Java VM Bundle (Application) Driver = service interface exported and imported by bundles
14
©2001 OSGi, All Rights Reserved 13 Local Networks Internet Residential Gateway Platform (OS and Hardware) Java Virtual Machine OSGi Services Framework Service Registry get register get register service Bundle A {...} Bundle B {…} Bluetooth {…} Install, start, stop, update, uninstall Bundle Interaction
15
©2001 OSGi, All Rights Reserved Technical Overview
16
©2001 OSGi, All Rights Reserved 15 Goal Software framework for large scale electronic service deployment on small devices Network delivery of managed services…
17
©2001 OSGi, All Rights Reserved 16 Requirements Reliable –large scale deployments fail without very high reliability Portable –Attract third party developers to create the very much needed innovative services Dynamic –Allow the configuration to adapt to users and operator needs over time
18
©2001 OSGi, All Rights Reserved 17 Requirements Security –Protect service providers from each other –Guarantee a certain quality of service Scalability –Members have very different configurations for their deployment of OSGi frameworks
19
©2001 OSGi, All Rights Reserved 18 Functions Life Cycle Management –Install, Start, Stop, Update, Uninstall Component model Remote management Basic utility services: Logging, HTTP, Device access Clean separation of specification and implementation
20
©2001 OSGi, All Rights Reserved 19 Key Benefits Platform independence (Java) Services can be deployed and upgraded dynamically Multiple independent services within a single services framework Java security
21
©2001 OSGi, All Rights Reserved 20 OSGi Terminology A Bundle is the deliverable application –Like a Windows EXE file It registers zero or more services –A service is specified as a Java interface and implemented by some bundles Lookups can be used to find services from other bundles –Query language
22
©2001 OSGi, All Rights Reserved 21 Dependency Management When a bundle is stopped, it is cleaned up –Registered services are removed –References to other services removed Bundles can be notified when a service they depend on is unregistered Class path dependencies are managed Model will allow long running applications with dynamic software updates
23
©2001 OSGi, All Rights Reserved 22 Management Residential gateways need remote management Management system controls via a bundle Due to the download facility of the resident gateway, APIs can replace protocols Only protocol required is bootstrap –But this is usually implementation dependent anyway –Being considered for standardization
24
©2001 OSGi, All Rights Reserved The Next Steps Work for OSGi 2.0
25
©2001 OSGi, All Rights Reserved 24 New Work Areas… Remote Management –Protocols and APIs Specialist (Vertical?) Segments –In-Vehicle Dedicated Security Group Device Discovery and Excitation User Interface Group, Phones Group, CM Group?
26
©2001 OSGi, All Rights Reserved 25 Approximate Timescales… OSGi Service Platform Release 2 –Publicly available end Q2 2001 Revision of 1.0 specification plus… Accounting, Configuration Management, User Manager, Preferences OSGi Vehicle Release 1 (2001) OSGi Remote Management Release 1 (2001) OSGi Cable Platform Release 1 (???-TBD) Individual specifications can be released when ready, and formed into ‘Releases’ when needed.
27
©2001 OSGi, All Rights Reserved 26 Issues In this multi-vendor world we’re going to see many different services, from independent operators, all needing to work together. HOW? We want to be able to deploy services onto the available in home devices to render the service – how can we describe these capabilities? Our software development and deployment models are not ready for massive scale distribution and interworking – Discuss.
28
©2001 OSGi, All Rights Reserved Technical Backup
29
©2001 OSGi, All Rights Reserved 28 Framework org.osgi.framework Programmable environment for hosting dynamically downloadable services –service inter-dependency –service download and lifecycle –...
30
©2001 OSGi, All Rights Reserved 29 The framework Framework Bundle C { } Bundle A { } = service, java interface Bundle B { }
31
©2001 OSGi, All Rights Reserved 30 Bundle A JAR file (zip) containing –Java classes –Manifest with information about bundle –Resources Can also act like a DLL (Shared Library) Framework can install/update/uninstall bundles Bundles can be started and stopped Bundle A { }
32
©2001 OSGi, All Rights Reserved 31 Service A service is an object registered by a bundle to be used by other bundles The specification of a service is a Java interface Different bundles (read vendors) can implement the same interface Implementation is indistinguishable for users The OSGi defines a standard set of services
33
©2001 OSGi, All Rights Reserved 32 Java Interfaces Log Bundle IBM Log Motorola Log implements Gets (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 ); } }
34
©2001 OSGi, All Rights Reserved 33 The Framework Framework Bundle C { } Bundle A { } Bundle B { } Install A start events: install events: register
35
©2001 OSGi, All Rights Reserved 34 Framework The Framework Bundle C { } Bundle B { } Uninstall stop events: uninstall events: unregister Bundle A { }
36
©2001 OSGi, All Rights Reserved 35 A service defined Object that implements a Java Interface register get events: REGISTERED, UNREGISTERING, MODIFIED
37
©2001 OSGi, All Rights Reserved 36 An example with services Registry Bundle A { } register WAP bundle Events: register, unregister Bundle C { } Bundle B { } Publisher get
38
©2001 OSGi, All Rights Reserved 37 Service Factories A Factory allows a bundle to control what object a bundle gets Framework calls back the factory for service creation Framework Bundle Standard Bundle Factory Bundle A { } Bundle B { }
39
©2001 OSGi, All Rights Reserved 38 Real code! Hello World HelloWorld.java: package ericsson.osgi.hello; import org.osgi.framework.*; public class HelloWorld implements BundleActivator { public void start( BundleContext context ) throws Exception{ System.out.println( "Hello world" ); } public void stop( BundleContext context ) throws Exception { System.out.println( "Goodbye world" ); } } Manifest: Manifest-Version: 1.0 Bundle-Activator: ericsson.osgi.hello.HelloWorld
40
©2001 OSGi, All Rights Reserved 39 To get and register a service public interface GPS { … } public void foo( BundleContext context ) { Garmingarmin = new Garmin(…); Hashtable properties = new Hashtable(); properties.put( "vendor", "garmin" ); ServiceRegistration reg = context.registerService( GPS.class.getName(), garmin, properties ); } public void bar( BundleContext context ) { ServiceReference ref = context.getService( GPS.class.getName() ); GPSgps = context.getService( ref ); … }
41
©2001 OSGi, All Rights Reserved 40 "Process model" A bundle is installed on a framework once Services registered by a bundle can be optionally configurable OSGi will define more extensive configuration management in the next release –IBM Configuration proposal –ERICSSON Task management
42
©2001 OSGi, All Rights Reserved 41 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
43
©2001 OSGi, All Rights Reserved 42 Native code Java Supports native code with the "native" keyword –public class Native { public native void test(); } OSGi has a number of Manifest headers allowing shared libraries to be included –Manifest-Version: 1.0 Bundle-Name: NativeCodeTest Bundle-NativeCode: http.dll;os=Win95;processor=x86 http.so;os=Solaris;processor=x86;language=en http_deutsch.so;os=Solaris;processor=x86;language=de http_sparc.so;os=Solaris;processor=sparc
44
©2001 OSGi, All Rights Reserved 43 Current Service APIs Logging –Standard way for a bundle to provide progress information with access to log information HTTP server, Servlet Engine –Allows registration of servlets, access to resources Device Access –Interface to hardware –Generic model for matching devices to drivers
45
©2001 OSGi, All Rights Reserved 44 LOG Service org.osgi.service.log This service enables the specification, recording, and receiving of messages (e.g., messages related to specific events and errors)
46
©2001 OSGi, All Rights Reserved 45 HTTP Service org.osgi.service.http This service allows the access to resources (e.g., files, images) and server programs (Java servlets) via HTTP (either HTTP 1.0 or 1.1)
47
©2001 OSGi, All Rights Reserved 46 Device Access org.osgi.service.device This service specifies the way in which devices can be found (through matching) and the appropriate device drivers can be associated with the devices
48
©2001 OSGi, All Rights Reserved 47 Device Access IEEE 1394B Interface Network bundle get TV event: register get TV Bundle Device Bundle event: register Camera Device magic register Camera Sony CCD542 Driver Locator match
49
©2001 OSGi, All Rights Reserved 48 Local Ethernet Local Powernet Management, protocols or API? Access Net Residential Gateway Management System Standard protocol Private protocol = Bundle
50
©2001 OSGi, All Rights Reserved 49
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.