OSGi the Dynamic Module System for Java. Christer Larsson VP EMEA OSGi Alliance CEO Makewave



Similar documents
Operations and Monitoring with Spring

Town Hall: Business Implications of Open Source OSGi Implementations Moderator: BJ Hargrave OSGi Alliance Fellow & CTO IBM Senior Technical Staff

IRF2000 IWL3000 SRC1000 Application Note - Develop your own Apps with OSGi - getting started

A Mechanism on OSGi Agent for Dynamic Monitoring Service Discovery Protocols in Local Network

Dr. Dimitar Valtchev ProSyst Software. Using OSGi for the Realization of Home Automation Systems

FUSE-ESB4 An open-source OSGi based platform for EAI and SOA

Developing modular Java applications

Introduction to OSGi and Modularity. InfoSphere MDM, Version 11.x Dany Drouin, Senior Software Engineer MDM

Developing Service-Oriented Architecture Applications with OSGi

OSGi Remote Management

Best Practices for Programming Eclipse and OSGi

GlassFish v3. Building an ex tensible modular Java EE application server. Jerome Dochez and Ludovic Champenois Sun Microsystems, Inc.

Server-side OSGi with Apache Sling. Felix Meschberger Day Management AG 124

Building a Modular Server Platform with OSGi. Dileepa Jayakody Software Engineer SSWSO2 Inc.

Oracle WebLogic Foundation of Oracle Fusion Middleware. Lawrence Manickam Toyork Systems Inc

Dr. Dimitar Valtchev. 24 June 2010, Stuttgart, Eclipse Embedded Day

OSGi Service Platform in Integrated Management Environments Telefonica I+D, DIT-UPM, Telvent. copyright 2004 by OSGi Alliance All rights reserved.

Managing Complexity in Mobile Application Deployment Using the OSGi Service Platform

Beyond the SOA/BPM frontiers Towards a complete open cooperative environment

Deploying QoS sensitive services in OSGi enabled home networks based on UPnP

Equinox Framework: A Happier OSGi R6 Implementation

WebSphere Server Administration Course

Apache Karaf in real life ApacheCon NA 2014

White Paper: OSGi-based E-Health / Assisted Living

IBM WebSphere Server Administration

Eclipse Summit Europe 2008

Efficient Monitoring of OSGi Applications

CHAPTER 1 - JAVA EE OVERVIEW FOR ADMINISTRATORS

ProSyst Software AG. for a smarter world. EuroCargo 2004 Joachim Ritter. Technical Consultant, ProSyst Software

Oracle WebLogic Server 11g Administration

Service Oriented Architecture for Mobile Cloud Computing. Xinyi Dong

Kohsuke Kawaguchi Sun Microsystems, Inc. hk2.dev.java.net, glassfish.dev.java.net. Session ID

Course Description. Course Audience. Course Outline. Course Page - Page 1 of 5

InfoSphere Master Data Management operational server v11.x OSGi best practices and troubleshooting guide

Enterprise Application Designs In Relation to ERP and SOA

**Arizona State University Brickyard Suite 470, 699 S. Mill Avenue, Tempe, AZ , U.S.A.

Providing Load Balancing and Fault Tolerance in the OSGi Service Platform

Telecom Italia experiences of OSGi application in Home Networking context

An Introduction to Android

ebay : How is it a hit

Communiqué 4. Standardized Global Content Management. Designed for World s Leading Enterprises. Industry Leading Products & Platform

Take full advantage of IBM s IDEs for end- to- end mobile development

OPEN SERVICE RESIDENTIAL GATEWAY FOR SMART HOMES

An Integrated Service Management Approach Using OSGi Technology and ACAP

Challenges in Building Service-Oriented Applications for OSGi

Portals, Portlets & Liferay Platform

WebSphere Application Server - Introduction, Monitoring Tools, & Administration

Open Source SOA with Service Component Architecture and Apache Tuscany. Jean-Sebastien Delfino Mario Antollini Raymond Feng

Apache Sling A REST-based Web Application Framework Carsten Ziegeler cziegeler@apache.org ApacheCon NA 2014

WebSphere Training Outline

Java and the Internet of Things

{kiev.gama, ABSTRACT. Categories and Subject Descriptors D.1.m [Software]: Programming techniques miscellaneous

Mobilize Your ERP with ADF Mobile

SUBSYSTEMS IN THE WILD

IBM Tivoli Composite Application Manager for WebSphere

Alcatel-Lucent IMS Application Server

M 2 M IWG. Eclipse, M2M and the Internet of Things. Overview. M 2 M Industry WorkGroup! M2M?

Creating an application with the Virgo Web Server

How To Deploy A Banking System In Java On A Server With A Bank On A Network (E-Banking) On A Microsoft Server (Ebt) On An Ebt (Eb) On The Network (Jee) On Your

<Insert Picture Here> Betting Big on JavaServer Faces: Components, Tools, and Tricks

UDDI v3: The Registry Standard for SOA

Glassfish, JAVA EE, Servlets, JSP, EJB

OSGi Technology for Developers DECEMBER 2013

Java ME & NetBeans Mobility. Petr Suchomel Architect, NetBeans Mobility Sun Microsystems

OSGi Technology for System and Network Architects DECEMBER 2013

Medical Billing and Device Management on IBM W3C

OUR COURSES 19 November All prices are per person in Swedish Krona. Solid Beans AB Kungsgatan Göteborg Sweden

ITG Software Engineering

M2M Service Platform to Support Carrier Cloud

The Enterprise Service Bus

Principles of a Vehicle Infotainment Platform

How To Use Ibm Tivoli Composite Application Manager For Response Time Tracking

Introduction to SunOne Development Tools by Mr. Mickey Fan, Java Architect, Sun Microsystems. Good morning. Ladies and Gentlemen.

Learning GlassFish for Tomcat Users

GETTING STARTED WITH ANDROID DEVELOPMENT FOR EMBEDDED SYSTEMS

Master Thesis. Arnold Kemoli. Design and Implementation of a Dynamic Component based Web Application Framework

SW5706 Application deployment problems

Deploying to WebSphere Process Server and WebSphere Enterprise Service Bus

ECG-1615A. How to Integrate IBM Enterprise Content Management Solutions With Microsoft SharePoint and IBM Connections. elinar.com

Web4thejob. About Web4thejob. ZK x Web4thejob

Client-Server Architecture & J2EE Platform Technologies Overview Ahmed K. Ezzat

OSGi Service Platform Release 4

Converting Java EE Applications into OSGi Applications

NetBeans IDE Field Guide

OWB Users, Enter The New ODI World

Enabling Smart Data on M2M Gateways and Aggregators

SOA REFERENCE ARCHITECTURE: SERVICE ORIENTED ARCHITECTURE

APAC WebLogic Suite Workshop Oracle Parcel Service Overview. Jeffrey West Application Grid Product Management

An OSGi based HMI for networked vehicles. Telefónica I+D Miguel García Longarón

Avaya Aura Orchestration Designer

<Insert Picture Here> GlassFish v3 - A Taste of a Next Generation Application Server

Effective and Best practices of load and performance testing Oracle Applications using BSD Oracle plug-in for Rational Performance Tester

How To Develop An Open Play Context Framework For Android (For Android)

Developer s Guide. How to Develop a Communiqué Digital Asset Management Solution

Tool Support for Software Architecture Documentation

SOA Fundamentals For Java Developers. Alexander Ulanov, System Architect Odessa, 30 September 2008

PEtALS Quick Start. PEtALS Team Roland NAUDIN - February

Service Component Architecture, Apache Tuscany & WebSphere SOA Feature Pack Beta

SuperOffice Pocket CRM

Basic TCP/IP networking knowledge of client/server concepts Basic Linux commands and desktop navigation (if don't know we will cover it )

Transcription:

OSGi the Dynamic Module System for Java VP EMEA OSGi Alliance CEO Makewave

Innehåll Några ord om Makewave Introduktion till OSGi Lite om historien bakom OSGi Genomgång av OSGi teknologin Exempel på hur OSGi används Ytterligare fördjupning 2

Makewave (formerly Gatespace Telematics) - Taking middleware forward Nomadic Device Residential Telematics Industrial Software Developers Universal Middleware OSGi Platform (Knopflerfish, Java, Ubiserv, Ubicore), License Management (Lime) SmartPhone PDA DSL Set-top IPTV HomeHub TCU Navigation system Diagnostics M2M Equipment monitoring Software protection & License Management Global Services Design, Implementation & Integration,Workshops, Seminars and Training Expertise in Java, Embedded Systems, Compilers,.Net, License Mgmt) 3

Makewave Short facts Company Facts OSGi member since 1999 Located in Gothenburg, Sweden Highly educated personnel, all with PhD or Master degree in engineering and computer science Privately owned Management, CEO, co-founder Makewave, board member of Telematics Valley, VP EMEA of OSGi Alliance. Staffan Truvé, Chairman, founder of Gatespace, CEO of SICS and Interactive Institute Per Gustafson, CTO, co-founder Makewave, OSGi expert group repr. Subsidiaries Secureon AB, fully owned, License Management System 4

Knopflerfish Project The Knopflerfish project is a open source implementation of the OSGi Specifications Maintained by Makewave www.knopflerfish.org BSD style licence, free for all use, no run-time licences Implements OSGi R4 Knopflerfish Pro is the fully certified and supported version for commercial use OSGi Certified Comes with Support Agreements (SLA) Expertise, training and consulting services 5

Introduktion till OSGi Några ord om Makewave Introduktion till OSGi Lite om historien bakom OSGi Genomgång av OSGi teknologin Exempel på hur OSGi används Ytterligare fördjupning 6

The OSGi Alliance The OSGi Alliance is an independent non-profit corporation comprised of technology innovators and developers and focused on the interoperability of applications and services based on its component integration platform. Established in 1999, members worldwide Service Providers Membership spans many industries Auto Makers Device Manufacturers Residential, Automotive, Industrial, Mobile, Enterprise IT Providers OSGi Alliance ISV Membership information at www.osgi.org Solution Providers Developers Others 7

What is OSGi Technology? OSGi technology is a dynamic module system for Java OSGi technology is component-based OSGi technology is service-oriented OSGi offers standardized ways to dynamically manage the lifcycle of software on the Java platform updates of software no longer require a restart of the JVM! OSGi technology is Universal Middleware 8

OSGi Architecture 9

Lite om historien bakom OSGi Några ord om Makewave Introduktion till OSGi Lite om historien bakom OSGi Genomgång av OSGi teknologin Exempel på hur OSGi används Ytterligare fördjupning 10

Ericsson e-services Architecture / Business Model (1998/99) Service Provider 1 Switches Metric Equipment Sensors Service Provider 2 Cameras Service Provider 3 Service Provider 4 Display Units White Goods Telephone Equipment Service Providers e-box Operator / ESP End User 11

One slide from the OSGi Congress 2003: As usual, new technology takes more time to get adopted than the enthusiasts want to believe: Example: First 802.11 work group meeting was held in 1990, broad market acceptance was not until around 2001 Corollary: The OSGi World Congress in 2009 will be spectacular! :-) 12

The evolution of the OSGi technology 2003 2000 2006?! 2010 13

The residential OSGi market Three reasons why the residential OSGi market can resurrect: BOM for a R/G is now 1/6 of the price Wireless devices / sensors Broadband penetration 14

The e-ebox set the original requirements In the e-box we wanted a: Platform Java based Load software / services / applications dynamically Multiple Service Providers can co-exist Integrity between applications, no sneaking Remotely managed And the result was OSGi R1! So the platform designed for the intelligent fridge is now becoming a corner stone in JEE app servers. Without any major makeover / redesign 15

Genomgång av OSGi teknologin Några ord om Makewave Introduktion till OSGi Lite om historien bakom OSGi Genomgång av OSGi teknologin Exempel på hur OSGi används Ytterligare fördjupning 16

What is OSGi Technology? OSGi Technology is currently based on Java Java provides a high degree of platform independence Abstracts Hardware Architectures Abstracts Operating Systems JNI links Java and the native platform Java lacks a good module/component system! Java lacks dynamism - updates of software require a restart of the JVM! 17

What is OSGi Technology? OSGi technology is a dynamic module system for Java OSGi technology is Universal Middleware OSGi technology provides a service-oriented, componentbased environment for developers and offers standardized ways to manage the software lifecycle. These capabilities greatly increase the value of a wide range of computers and devices that use the Java platform. Addresses the lack of a good module system and lack of dynamism in the Java platform OSGi Class Loaders on Steroids 18

OSGi Remote Manageability OSGi is specifically designed with an eye towards remote management of networked services OSGi is management protocol agnostic meaning it fits in several different markets that each prefer their own protocols This is achieved by providing access to neccesary resources and functionalities inside the framework to Management Agents Management Agents implement management protocols 19

What does OSGi specify? Core - The framework and system services A general purpose middleware software platform Service-oriented, component-based Security and platform management related system services A Compendium of Services Different subsets of these services are relevant for different markets A subset can be formalized as a profile E.g. Mobile Profile, Vehicle Profile 20

Where is OSGi used? It can be used almost everywhere Java is used Used in desktop applications Eclipse Lotus Notes Used in embedded environments Mobiles Printers Telematics Used on server side Enterprise Application containers (J2EE) 21

Software Architecture 22

The OSGi framework The base - runs multiple applications and services Single VM instance Separate class loader per bundle Class loader network Independent namespaces Class sharing at the Java package level Lifecycle management Install, Start, Stop, Uninstall, etc. Versioning Multiple versions of same packages/classes can co-exist Intra VM publish/find/bind service model Operational Control Java Permissions to secure framework 23

Framework Layering SERVICE MODEL L3 Provides a publish/find/bind service model to decouple bundles LIFECYCLE L2 - Manages the lifecycle of bundle in a bundle repository without requiring the VM be restarted MODULE L1 - Creates the concept of modules (aka. bundles) that use classes from each other in a controlled way according to system and bundle constraints Execution Environment CDC CDC L0 - OSGi Minimum Execution Environment CDC/Foundation J2SE 24

Concepts of OSGi - bundles Bundles A plain jar-file with a special format manifest file Java code Resources Native code Internationalization Loaded into the framework 25

Concepts of OSGi - collaboration Bundle collaboration Sharing Java packages Exporting packages Importing packages Services Ways to get notified with bundles are installed, started, etc Isolation, own name space per bundle 26

Concepts of OSGi - class loaders Each bundle has its own class loader to: Provide integrity beween bundles Avoid namespace collisions A bundle class loader can only load classes from: The system class loader Imported packages The bundle s jar file 27

Concepts of OSGi - class loaders A bundle can export Java packages. Framework determines the actual exporter if several bundles offer the same package. The exporter with the highest specification version for the package will be the first candidate. A bundle with no specification version will be the last export candidate. A bundle can import Java packages from other bundles. If the package is not exported, the importing bundle cannot be resolved and is not started. To use classes imported from another bundle, use the regular import clause in the Java code. Imports and exports are stated in a bundles manifest. 28

Concepts of OSGi Manifest file Manifest-Version: 1.0 Ant-Version: Apache Ant 1.6.5 Created-By: 1.4.2_11-b06 (Sun Microsystems Inc.) Bundle-Category: service Bundle-ManifestVersion: 2 Export-Package: com.makewave.bundle.example.hello_world2 Bundle-Vendor: Makewave Bundle-SubversionURL: https://www.knopflerfish.org/svn/ Bundle-Activator: com.makewave.bundle.example.hello_world2.activator Bundle-SymbolicName: org.knopflerfish.bundle.hello_world2 Bundle-DocURL: http://www.knopflerfish.org Bundle-APIVendor: Makewave Import-Package: org.osgi.framework,com.makewave.bundle.example.hello_w orld2 Bundle-Version: 0.0.1 Bundle-UUID: org.knopflerfish:hello_world2:0.0.1 Bundle-Description: A Hello World Bundle 2 Bundle-ContactAddress: http://www.knopflerfish.org Bundle-Name: Hello World 2 Bundle-Classpath:. Build-Date: Mon January 28 2008, 18:38:38 Built-From: C:\x\knopflerfish_osgi_2.0.3\knopflerfish.org\osgi\example s\hello_world2 29

Concepts of OSGi Manifest The framework guarantees that only classes that are declared in the manifest as imported or exported can be used as such. No sneaking No unvoulantary leaking The manifest can be inspected prior to installing by an administrator Bring in 3 rd party lib => inspect it first! 30

Concepts of OSGi bundle management Bundle primitives Install <=> load the bundle into the framework Start <=> start the bundle by calling a predefined method Stop <=> stop the bundle by calling a predefined method Uninstall <=> remove the bundle from the framework Update <=> update the code of the bundle (without restarting JVM) 31

Concepts of OSGi - Services Services A means for inter-bundle communication A means for providing functionality Dynamic publish/find/bind service model A service registered under one or more Java interfaces OSGi defines a number of standard services X.sayHello() Bundle A Bundle B Bundle C Publish service X Framework Get service X 32

OSGi Service Platform Overview HTTP HTTP server server Log Log Config Config admin admin + + Pref. Pref. Device Device Access Access User User admin admin Service Service Admin Admin JVM Register Register Lookup Lookup Active Bundle Active Bundle Start Start Install Bundle Bundle File File (JAR) (JAR) Native Service Registry OSGi Service Platform Bundles 33

OSGi Compendium Services (R4) Defines the compendium of OSGi defined services Will be updated from time to time as new services are finalized Log Service Http Service Device Access Configuration Admin Preferences Service Metatype Wire Admin User Admin IO Connector Initial Provisioning UPnP Device Declarative Services Event Admin Service Tracker XML Parser Position Measurement and State Execution Environments 34

OSGi & Remote Management The OSGi technology enables remote management But it does not dictate how to do it (so far) I.e. there is no management protocol defined (except OSGi MEG) Instead the model assumes a Management Agent This is a bundle that is the link between the OSGi platform and its management system 35

OSGi & Remote Management OSGi MEG defines an OMA-DM based provisioning through a management agent But it is not enforced, and the model is completely flexible. Arbitrary agents can be installed supporting any protocol! Application Manager OMA-DM bundle provisioning Management Agent (OMA-DM) Log Service HTTP Serice Preferences CM Service CM Service CM Service OSGi Framework But voices have been raised saying that a std protocol is a missing feature! 36

Typical Remote Management Architecture Administrator Ubicore Agent Industrial Ubicore Agent End Users Telematics Ubicore Ubicore Agent Residential Databases CRM Ubicore Default Portal Ubicore Agent Billing Legacy Systems Web Services Device Mgmt Service Mgmt User Mgmt Service Provisioning Provisioning Distribution Configuration Mobile Device Client Devices 37

OSGi Spec Evolution and Contents R4 Core Framework Layering Conditional Permission Admin Declarative Services Event Admin R1 Framework Http Log Device Access R2 Package Admin Configuration Admin Permission Admin User Admin Preferences MetaType Service Tracker 2000 2001 2003 2005 38 R3 UPnP Initial Provisioning Name Space Jini Start Level IO Connector Wire Admin XML Parser Measurement & State Position Execution Environments URL Handler Mobile DMT Admin Deployment Admin Foreign Applications Mobile Management Tree Vehicle Power Management Metatype 2 Diagnostic Vehicle API

The OSGi Specifications Core Specification Service Compendium Framework Implementer s spec Bundle Programmer s guide Service Service Service Service EE Normative Informative Document Mobile Ref Arch / Guide Service Service Service Vehicle Ref Arch / Guide Other Ref Arch / Guide Constraints Constraints Constraints } Service } Service } Service Service Service Service 39

The OSGi Expert Groups are creating the specs Core Platform Expert Group (CPEG) Responsible for the Framework and core services as well as overall architecture Vehicle Expert Group (VEG) Responsible for vehicle related requirements and designs Mobile Expert Group (MEG) Responsible for mobile device related requirements and designs Enterprise Expert Group (EEG) Responsible for enterprise/server related requirements and designs Residential Expert Group (REG) Responsible for residential related requirements and designs 40

OSGi open source adoption Significant open source adoption Three open source projects / implementations of the OSGi specification (R4) Equinox / Eclipse Felis / Apache (Oscar) Knopflerfish / Makewave Used by several other open source projects Spring DM Important to understand The OSGi Alliance maintaines the spec, and certifies for compliance The open source projects are implementations of the spec. I.e. the implementation is not the spec!! 41

Programming with OSGi Pros Easy to get going Dynamic Non-stop applications Basic functionality for free (standard services) A new level of modularization (bundles) Cons Dynamic 42

Programming with OSGi What if I don t care about dynamics, service lookup etc.? One application, one vendor, one installation By using OSGi in any Java based system the modules/services often just falls into the right place. See the OSGi design philosophy as your guide to designing modular java applications. 43

Some examples Hello World package com.makewave.bundle.example.hello_world; import org.osgi.framework.*; public class HelloWorld implements BundleActivator { } /** * Bundle is starting */ public void start(final BundleContext bc) { System.out.println("\n*** Hello World!\n\tHere I am\n"); } /** * Bundle is stopping */ public void stop(bundlecontext bc) { System.out.println("\n*** Hello World!\n\tI bid you farewell\n"); } 44

What is the whiteboard model A service offers addlistener and removelistener methods Instead define a listener interface that other bundles use to register in the framework to create a listener design Now the framework takes care of the house-keeping when bundles come and go and This can be thought of as inversion of control. 45

Using the white board model The telematics R&D project called GST defined the concept of an Application Manager (Service Browser) The desktop of the in-vehicle system The component / service through which the end-user can manage applications from within the CVIS host 46

A telematics application manager 47

The white board model applied Bundles that has a GUI registers an App.View service in the registry. The bunde is not aware of the appl.mngr, has not registered a addactivatelistener(mylistener). App.View HMI / drawing area of App4 Client Desktop App3 App4 App1 App.View App2 Application Manager App.mngr picks upp all applications that implement the ApplicationView service and calls methods in the ApplicationView interface OSGi 48

An example of a bundle using this package org.cvisproject.service.hello_cvis.impl; import java.util.dictionary; import java.util.hashtable; import org.osgi.framework.bundleactivator; import org.osgi.framework.bundlecontext; import org.osgi.framework.serviceregistration; import com.makewave.service.appmanager.applicationview; public class Activator implements BundleActivator { private BundleContext context; private ServiceRegistration viewregistration; private View view; public void start(bundlecontext context) { this.context = context; view = new View(context.getBundle()); Dictionary properties = new Hashtable(); properties.put(applicationview.application_id, view.getviewid()); viewregistration = context.registerservice(applicationview.class.getname(), view, properties); } public void stop(bundlecontext context) { viewregistration.unregister(); } 49

Exempel på hur OSGi används Några ord om Makewave Introduktion till OSGi Lite om historien bakom OSGi Genomgång av OSGi teknologin Exempel på hur OSGi används Embedded Desktop Server Ytterligare fördjupning 50

OSGi in embedded - Ricoh Ricoh ships MFPs with Knopflerfish OSGi on all '05A and coming' Ricoh models 51

OSGi in embedded - Ricoh OSGi enables a printer plug-in model. 3rd party apps can be loaded on the printer, extending the printer functionality. Core printer functions are available as OSGi services. Printer plug-ins are developed using an SDK. 52

OSGi in telematics - BMW BMW 5 and 6 series ships with an OSGi framework Used as platform for telematics applications where multipe applications co-exist 3 rd party applications can be enabled Possible to remotely manage. 53

OSGi in desktop eclipse Eclipse is fundamentally based on a plug-in model Up until release 2 of Eclipse they lacked dynamics restart required! In release 3 of eclipse they moved to an OSGi based architecture Runs an OSGi framework All plug-ins are bundles OSGi is still hidden inside eclipse, but is becoming more and more visible 54

OSGi in the server side Spring OSGi Spring has added support for OSGi such that a Spring application can be deployed in an OSGi environment. Benefits of using Spring OSGi for enterprise applications Better separation of application logic into modules The ability to deploy multiple versions of a module concurrently The ability to dynamically discover and use services provided by other modules in the system The ability to dynamically deploy, update and undeploy modules in a running system Use of the Spring Framework to instantiate, configure, assemble, and decorate components within and across modules. A simple and familiar programming model for enterprise developers to exploit the features of the OSGi platform. 55

OSGi in the desktop / server side John Kellerman IBM product manager:...ibm today consumes and redistributes 15 projects from Eclispe in over 350 products... The whole Lotus suite is now running OSGi for instance... 56

Server side OSGi is just beginning... There is really exciting work going on inside the Enterprise Expert Group OSGi R5 will include new features for better supporting enterprise Companies involved: Siemens (co-chair) Iona (co-chair) BEA Oracle RedHat (JBoss) IBM SpringSource Makewave 57

OSGi EEG work items includes Scaling including multi-container and multi-process environments Language bindings for enterprise services including, but not limited to the Java language Distributed and/or federated service model: within multiple Service Platforms with external, heterogeneous systems Requirements for extensions to the OSGi publish/find/bind service model bundle dependencies profiling and matching enterprise-class life-cycle and configuration management from initial provisioning through software and asset management, patching, etc. focused on desktops, laptops, and servers including reliability, availability, serviceability concerns 58

Ytterligare fördjupning Några ord om Makewave Introduktion till OSGi Lite om historien bakom OSGi Genomgång av OSGi teknologin Exempel på hur OSGi används Ytterligare fördjupning 59

Resources OSGi Alliance www.osgi.org Peter Kriens blog: www.osgi.org/blog Specification: www2.osgi.org/specifications/homepage Open source implementations Knopflerfish, www.knopflerfish.org Equinox, www.eclipse.org/equinox Apache Felix, felix.apache.org User s Forums in Japan, Korea, Spain, France OSGi User Forum Japan has ~80 member companies! and there is one in Sweden too! 60

OSGi User s Forum Sweden Det finns en svensk OSGi-användarförening En ideel förening 2 Föreningens syfte Föreningen har till ändamål att främja medlemmarnas intressen genom att aktivt delta i diskussion och utveckling av OSGi teknologi, samt att främja dess användning. Öppen för alla, juridiska personer såväl som individer Webplats: http://sweden.osgiusers.org/ maillista 61

Articles on OSGi SD times named OSGi: a quite contender for the title of most important technology of the decade. http://www.sdtimes.com/article/story-20070601-27.html 62

Thank You! CEO www.makewave.com cl@makewave.com 63