AQute Bundle Programming By Peter Kriens CEO aQute OSGi Technology Officer and OSGi Fellow.

Slides:



Advertisements
Similar presentations
1. XP 2 * The Web is a collection of files that reside on computers, called Web servers. * Web servers are connected to each other through the Internet.
Advertisements

Using Matrices in Real Life
Virtual Trunk Protocol
Advanced Piloting Cruise Plot.
Programming with Android: SDK install and initial setup Luca Bedogni Marco Di Felice Dipartimento di Scienze dellInformazione Università di Bologna.
Chapter 1 The Study of Body Function Image PowerPoint
When Applications can Roam Freely OSGi Service Platform R4 Peter Kriens Technical Director OSGi
A Media Subscription Service By Peter Kriens CEO aQute OSGi Technology Officer
©2003 aQute, All Rights Reserved Tokyo, August 2003 : 1 OSGi Service Platform Tokyo August 28, 2003 Peter Kriens CEO aQute, OSGi Fellow
© OSGi, All Rights Reserved - Brussel Jan 22 Ertico/OSGi Tech Spec Overview: Introduction OSGi R3 and Remote Management Ertico/OSGi meeting Jan.
Starting With The OSGi Specifications By Peter Kriens, CEO aQute OSGi Fellow
AQute R4 By Peter Kriens CEO aQute OSGi Technology Officer and OSGi Fellow.
aQute Bundle Programming By Peter Kriens CEO aQute OSGi Director of Technology & OSGi Fellow.
AQute Eclipse Environment By Peter Kriens CEO aQute OSGi Director of Technology and OSGi Fellow.
Communicating in J2EE.
19 Copyright © 2005, Oracle. All rights reserved. Distributing Modular Applications: Developing Web Services.
4 Copyright © 2005, Oracle. All rights reserved. Creating the Web Tier: Servlets.
11 Copyright © 2005, Oracle. All rights reserved. Creating the Business Tier: Enterprise JavaBeans.
6 Copyright © 2005, Oracle. All rights reserved. Using Advanced Techniques in Servlets.
1 Copyright © 2005, Oracle. All rights reserved. Introducing the Java and Oracle Platforms.
9 Copyright © 2005, Oracle. All rights reserved. Modularizing JavaServer Pages Development with Tags.
8 Copyright © 2005, Oracle. All rights reserved. Creating the Web Tier: JavaServer Pages.
J2EE Overview.
6 Copyright © 2005, Oracle. All rights reserved. Building Applications with Oracle JDeveloper 10g.
17 Copyright © 2005, Oracle. All rights reserved. Deploying Applications by Using Java Web Start.
1 The Ken Orr Institute Web 2.0 Wiki Pilot: Tutorial Brand Niemann July 12, 2008
1 State Wildlife Action Plans Wiki: Business Transformation Tutorial Brand Niemann July 5, 2008
Jeopardy Q 1 Q 6 Q 11 Q 16 Q 21 Q 2 Q 7 Q 12 Q 17 Q 22 Q 3 Q 8 Q 13
Jeopardy Q 1 Q 6 Q 11 Q 16 Q 21 Q 2 Q 7 Q 12 Q 17 Q 22 Q 3 Q 8 Q 13
Configuration management
© 2009 VMware Inc. All rights reserved View Pool Image Configuration Considerations for Gold Images around Application virtualization and performance.
1 The phone in the cloud Utilizing resources hosted anywhere Claes Nilsson.
1 Jini Tutorial, Part 3 Jini Programming. 2 Tutorial outline Part 1 Introduction Distributed systems Java basics Remote Method Invocation (RMI) Part 2.
ABC Technology Project
© Copyright by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Tutorial 12 – Security Panel Application Introducing.
25 July, 2014 Hailiang Mei, TU/e Computer Science, System Architecture and Networking 1 Hailiang Mei Remote Terminal Management.
VOORBLAD.
IONA Technologies Position Paper Constraints and Capabilities for Web Services
©2007 First Wave Consulting, LLC A better way to do business. Period This is definitely NOT your father’s standard operating procedure.
Squares and Square Root WALK. Solve each problem REVIEW:
4 Oracle Data Integrator First Project – Simple Transformations: One source, one target 3-1.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 EN0129 PC AND NETWORK TECHNOLOGY I IP ADDRESSING AND SUBNETS Derived From CCNA Network Fundamentals.
31242/32549 Advanced Internet Programming Advanced Java Programming
© 2012 National Heart Foundation of Australia. Slide 2.
DB Relay An Introduction. INSPIRATION Database access is WAY TOO HARD The crux.
Template v5 October 12, Copyright © Infor. All Rights Reserved. 1 Learn LN User interface concepts Bram Vijfhuizen Principal.
Macromedia Dreamweaver MX 2004 – Design Professional Dreamweaver GETTING STARTED WITH.
25 seconds left…...
XP New Perspectives on Browser and Basics Tutorial 1 1 Browser and Basics Tutorial 1.
Services Course Windows Live SkyDrive Participant Guide.
We will resume in: 25 Minutes.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Addressing the Network – IPv4 Network Fundamentals – Chapter 6.
PSSA Preparation.
VPN AND REMOTE ACCESS Mohammad S. Hasan 1 VPN and Remote Access.
A lesson approach © 2011 The McGraw-Hill Companies, Inc. All rights reserved. a lesson approach Microsoft® PowerPoint 2010 © 2011 The McGraw-Hill Companies,
Installing Windows XP Professional Using Attended Installation Slide 1 of 30Session 8 Ver. 1.0 CompTIA A+ Certification: A Comprehensive Approach for all.
Presenter: James Huang Date: Sept. 29,  HTTP and WWW  Bottle Web Framework  Request Routing  Sending Static Files  Handling HTML  HTTP Errors.
Process Trees + Properties Dennis Schunselaar. Process Trees 2 Visualiser 1: Visualiser 2:
Use the buttons on the top to navigate through the presentation 1 PrevNext Menu.
User Interfaces Made Easy With SAS Stored Processes
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 Link-State Routing Protocols Routing Protocols and Concepts – Chapter.
Java Network Programming Vishnuvardhan.M. Dept. of Computer Science - SSBN Java Overview Object-oriented Developed with the network in mind Built-in exception.
OSGi: Open Services Gateway Initiative Richard Chapman 5 Sept
OSGi.
SUSE Linux Enterprise Desktop Administration Chapter 12 Administer Printing.
Webservice versioning using osgi Allard Buijze, Jettro Coenradie.
© 2002, Youngjoon Choi, RESL, Inha University Page : 1 Open Services Gateway initiative OSGi Open Services Gateway Initiative Youngjoon Choi © Realtime.
© OSGi, All Rights Reserved Tech Spec Overview: Introduction Technical Specification Overview Introduction.
Presentation transcript:

aQute Bundle Programming By Peter Kriens CEO aQute OSGi Technology Officer and OSGi Fellow

© aQute, All Rights Reserved slide #2 Contents

© aQute, All Rights Reserved slide #3 Content R1, R2, R3 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 Preliminary

© aQute, All Rights Reserved slide #4 org.osgi.service.log v1.1 Log Service Simple and small Log service for operator 4 Levels –INFO, DEBUG, WARNING, ERROR Automatically logs framework events in a defined way Other bundles can access log history –Management bundle –Length implementation dependent

© aQute, All Rights Reserved slide #5 org.osgi.service.log v1.1 Log Service a log user a log reader LogService LogEntry LogListener LogReader Service LogReader Service a log service impl. a log service impl. A log entry impl. A log entry impl. A log reader impl. A log reader impl. Log Service Impl. bundle Log a message Store a message for retrieval and broadcast Message log Send new log entry Retrieve log A log user bundle A log reader using bundle

© aQute, All Rights Reserved slide #6 org.osgi.service.http v1.1 Http Service Provides web access to bundles A powerful servlet runner –Supports Servlets Version 2.1 Very simple to export static pages and files (like images) Automatically unregisters servlets when bundle is stopped

© aQute, All Rights Reserved slide #7 org.osgi.service.http v1.1 Http Service Impl. Of Http context Impl. Of Http context Impl. Of servlet Impl. Of servlet HttpContext NameSpace Exception NameSpace Exception HttpService javax.servlet. Servlet javax.servlet. Servlet Default impl. HttpContext Default impl. HttpContext Resource registration Resource registration Servlet registration Servlet registration Bundles main code Bundles main code javax.servlet. Request/ Response javax.servlet. Request/ Response NameSpace alias NameSpace alias An Http Service impl. An Http Service impl.

© aQute, All Rights Reserved slide #8 org.osgi.service.device v1.1 Device Access Dynamic device driver download model Plug & Play –Plugged in devices identify themselves –Device Manager will download appropriate bundle Matching process for best driver Extendable –Driver Selector, Driver locator

© aQute, All Rights Reserved slide #9 Device Access 1.1 Locator bundle Locator bundle Device Manager Device Manager Device A device Driver Locator Driver Locator selector bundle selector bundle Driver Selector Driver Selector Driver References to install selectsattach

© aQute, All Rights Reserved slide #10 Device Access IEEE 1394B Interface Network bundle Driver Locator Driver Locator TV 7. attach 4. find bundle location 5. Install bundle 2. register Camera 1. Insert camera 9. Select camera 8. Register camera 10. Show camera on TV 3. Select device Device Manager Sony CCD654 Driver 6. register TV bundle Camera Device

© aQute, All Rights Reserved slide #11 org.osgi.service.cm v1.0 Configuration Admin Service Configures bundles –At startup, or any later moment Maintains a repository of configurations –Local –Management system Configurations are key/value pairs –Typed with Meta Types Can be extended with plugins

© aQute, All Rights Reserved slide #12 Configuration Admin client bundle client bundle Configuration Admin impl Configuration Admin impl Configuration Admin Configuration Admin Configuration bundle Configuration bundle Managed Service Managed Service client bundle client bundle Managed Service Factory Managed Service Factory Configuration n Configuration Plugin Configuration Plugin Plugin impl Configuration Exception Configuration Exception

© aQute, All Rights Reserved slide #13 org.osgi.service.metatype V1.0 Meta Typing Data Descriptors for generic editors –Configurations, Properties Supports –Basic types like String, Integer, Byte, Short … –Arrays and Vectors Uses LDAP Objectclass, attribute model Can be localized for different languages General validation support

© aQute, All Rights Reserved slide #14 Meta Typing Class Diagram MetaType Provider MetaType Provider ObjectClass Definition ObjectClass Definition Attribute Definition Attribute Definition 1..n 1 1 Locale PID

© aQute, All Rights Reserved slide #15 org.osgi.service.prefs v1.0 Preferences Service Simple hierarchical model like Windows Registry Uses simple hierarchical names –/bundle/121/httpport=81 Different trees –Multiple named trees per bundle –One system tree Storage can be local or on management system

© aQute, All Rights Reserved slide #16 org.osgi.service.prefs v1.0 Preferences Service root Named or System c2 /c2 d1 c1 /c1/d2 foo=8 bar=9 lex=acme d2 d1 foo=8 bar=9 lex=acme d2 properties /c1/d2 /c1/d2/d1/d2 properties /c1/d2/d1/d2

© aQute, All Rights Reserved slide #17 Preferences Class Diagram BackingStore Exception BackingStore Exception a bundle Preferences Service Preferences Service Bundle preferences Bundle preferences Service impl. Preference Node impl. Preference Node impl. Preferences nodes 0..n Root user nodes Root system node User name

© aQute, All Rights Reserved slide #18 org.osgi.service.useradmin v1.0 User Admin Service Repository of users Maintains data for authentication and other purposes –Private keys, passwords, bio-profile, User Preferences Powerful role based authorization model –Users, group of users, and groups of groups Administrative functions

© aQute, All Rights Reserved slide #19 User Admin Class Diagram User admin impl User admin impl UserAdmin Listener UserAdmin Listener UserAdmin Role User Group Role impl User impl Group impl UserAdmin Permission UserAdmin Permission User name Request Authenticator Request Authenticator User Listener impl. User Listener impl. Action impl Authorization UserAdmin Event UserAdmin Event authenticate Consult for authorization Has roles Perform action Receive events Send event Basic member Required member

© aQute, All Rights Reserved slide #20 Wire Admin Service (R3) Connects Producer services to Consumer services via Wire object Wire objects have properties for configuration WireAdmin Producer Consumer Wire

© aQute, All Rights Reserved slide #21 Position, Measurement, State Support classes for Wire Admin Position –Supports GPS like position Measurement –SI measurement system to prevent calculation errors –Error calculations –Timestamp State

© aQute, All Rights Reserved slide #22 Start Levels (R3) Allows Management Agent to control startup/shutdown sequence of installed bundles Supports many levels System service, implemented by Framework

© aQute, All Rights Reserved slide #23 URL Stream & Content Manages the URLStreamHandlerFactory and URLContentHandlerFactory of Java –These factories can only be set once so the Framework must manage them Bundles can register a URLStreamHandlerService or ContentHandler The Framework will automatically add these to the standard set

© aQute, All Rights Reserved slide #24 Universal Plug n Play (R3) Popular UPnP specifications adapted to OSGi Service Platform Makes it very easy to write a UPnP control point or device Involves registering a simple UPnPDevice service

© aQute, All Rights Reserved slide #25 Jini (R3) Defined how Jini devices can cooperate with an OSGi service platform Service Platform very good environment for Jini services, but Security issues

© aQute, All Rights Reserved slide #26 Execution Environment (R3) OSGi defined 2 execution environments Minimal –Intended for really small devices Foundation Profile –Adapted from JCPs Foundation Profile Finally!

© aQute, All Rights Reserved slide #27 IO Connector Service (R3) Adopted J2ME javax.microedition.io package Process in JCP is intended to make this stand-alone Connection type + address selected by a single string Connection interfaces allows client code to adapt to different schemes –Datagram, Sockets, Servers

© aQute, All Rights Reserved slide #28 XML Parser Service Allows different bundles to register an XML parser Supports finding best parser for a specific application Based on standard Java JAR service

© aQute, All Rights Reserved slide #29 aQute ,