DOC PREVIEW
UCLA EE 202A - OSGi

This preview shows page 1-2-3-24-25-26 out of 26 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 26 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 26 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 26 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 26 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 26 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 26 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 26 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

OSGiWhat is OSGi?Slide 3Services GatewaySlide 5OSGi Java APIFrameworkFramework - ServicesFramework - BundlesBundles - Bundle ContextHow Services Are DeliveredDevice AccessDevice Access ManagerExample Of The Device Access ArchitectureWays Bundles Are Used Within the FrameworkPermission And PolicyLog ServiceHTTP ServiceConfiguration Admin ServicePersistent Data ServicePackage Admin ServiceMetatypePreferences ServiceUser Admin Service And Client Access ServiceConclusionReferencesOSGiHenry LauEric ChimDecember 4, 2001What is OSGi?Open Service Gateway InitiativeA SpecificationA standard for connecting devices to the InternetDefine a set of Java APIs and a service gateway architecture implementationDelivers services from service providers through broadband networks to local networksServices GatewayA gateway between the external networks and the local networks and local devicesA platform for communication-based servicesManages and operates these servicesMultiple instances can be provided for receiving services from multiple service providerswww.osgi.orgOSGi Java API Run on any computer operating system platformDynamic code-loading capabilityLife cycle managementInter-service dependenciesDevice managementData managementClient accessSecurityResource managementFrameworkConsistent programming modelSeparates specification of a service from its implementation in order to develop and use these servicesThe same service interface can have numerous implementationsAllows developers to provide its own code for the service interface and not care for the service implementationExample: logging serviceA logging service stores its messages on a hard drive for a high-end device, while for a disk-less device, it stores its messages on a remote drive. The implementations of the two logging services implement the same interface, but the developers that are going to use the service can write code against the service interface.Framework - ServicesSelf-contained and accessed through a service interfaceJava classes that perform a certain functionalityThe mappings of the services to their implementations is maintained by the Framework, and the Framework manages the dependency between these servicesLDAP (Lightweight Directory Access Protocol) based syntax is the query mechanism used to allow installed services to request and use other available servicesA service is defined by the developer and is provided with its implementations, then it is registered/published into the FrameworkWhen registered, the service is given a set of attributes so that LDAP made be used for retrieval of the service laterThe service registered can also be found through a search filter so that other services made use it by passing a reference to the implementing object along to the ServiceReference of another bundleFramework - BundlesSmall components partitioned from an applicationSelf-installable, and can be downloaded on commandThe basic unit for delivering services, packaged as JAR filesEach JAR file contains resources that implements zero or more servicesResources may be Java class files or any other data like HTML help filesA Manifest file with headers is included to allow correct installation and usage of this bundleParameters in these files include what Java Packages it contains, what packages it needs, how to find the bundle activator, etc.Services it contains can be registered by other bundles for useBundles allow for future expansion, such that new bundles can be installed for added features or to fix bugs without destroying the systemEach bundle has an associated Bundle object that provides information about its class namespace so that there are no class-name conflictsBundles - Bundle ContextHow bundles and the Framework is interrelatedAn execution environment within the Framework where the bundles are activated; created at the instance of activation by the FrameworkWhat it does?Install new bundles into the FrameworkRegister services into the registry of the FrameworkGet references to other registered servicesSubscribe or unsubscribe to events that are transmitted by the FrameworkFind information about other bundles that are in the FrameworkProvide continuous ample supply to the bundle installedHow Services Are DeliveredDevice AccessDevice ManagerAttaches driver services to device servicesWorks with driver locator to download driversDriver LocatorMechanism that dynamically downloads new drivers to an OSGi deviceDriversDriver ServicesDevice ServicesDevice Access ManagerNetwork independenceDevice independenceAutomatic discovery/Plug and playLegacy supportSupport for older network technology that do not support automatic discoverySupport for non-OSGi specific devicesNetwork bundle and device bundleExample Of The Device Access ArchitectureWays Bundles Are Used Within the FrameworkPermission And PolicyThe security of the Framework is based on the security specification of Java 2 (The security specification is available online at: http://java.sun.com/products/jdk/1.2/docs/guide/security/spec/security-specTOC.fm.html)The Framework must provide Java Security API required for Java 2 Security; but if it does not support security, then permission classes may be left outThree types of permission defined by the Framework:AdminPermissionServicePermissionPackagePermissionThe system policy of the gateway must be configured in such a way that bundles running in the gateway are given the appropriate permissions to run correctlyLog ServiceThe only OSGi service requiredDefines a service API to let Java-based OSGi services to read and write entries to a logUseful for operators and developers to pinpoint and resolve problems within the service gatewayThe log service can be implemented in various ways, such as transferring to a central management agent or spooling to a local log fileGeneral capabilities and features:Records current system time, security level, text message, optional Java Throwable object, and the identity of the Java program in the Framework that created the log entryLog entries representing Framework events, and notify listeners of log entries as entries are being createdHTTP ServiceUsing servlets and resources, HTTP service will allow the use of services from the internet and other networks


View Full Document

UCLA EE 202A - OSGi

Download OSGi
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view OSGi and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view OSGi 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?