Introduce OSGi BlueDavy 1.0 2007-10-28.

Slides:



Advertisements
Similar presentations
OSGi World Congress Workshop Exercise By Peter Kriens CEO aQute OSGi Technology Officer.
Advertisements

When Applications can Roam Freely OSGi Service Platform R4 Peter Kriens Technical Director OSGi
©2003 aQute, All Rights Reserved Tokyo, August 2003 : 1 OSGi Service Platform Tokyo August 28, 2003 Peter Kriens CEO aQute, OSGi Fellow
© copyright 2005 by aQute SARL All rights reserved. OSGi Basic Architecture OSGi User Group France By Peter Kriens Technical Director OSGi.
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.
Extending Eclipse Kai-Uwe Mätzel IBM OTI Labs Zurich
Building Embedded Systems With Windows® CE Platform Builder 3
NetBeans Platform Compared with Eclipse Rich Client PLatform Kai Tödter, Siemens AG Geertjan Wielenga, Sun Microsystem ID# ????
OSGi Technology Hsin-Han Yang, Cheng-Yi Chien, Po-Cheng Huang.
Developing in CAS. Why? As distributed you edit CAS 3 with Eclipse and build with Maven 2 – Best Practice for Release Engineering – Difficult edit-debug.
JavaScript Micro Services Simon Kaegi 27 March 2012.
Provisioning distributed OSGi applications in a cloud Guillaume Nodet, FuseSource November 2011.
Component Models and Technologies Case Study: OSGI.
WebSphere Diego Leone. Summary Story and birth What is WebSphere?/Goals Main features Advantages/Disadvantages Conclusions.
OSGi as a Framework for Building a Product Line: Experience and Best Practices Ruwan Linton & Afkham Azeez
Why OSGi matters for Enterprise Java Infrastructures
Apache Axis2 - OSGi Integration in WSO2 Carbon Platform
Eclipse Architecture Dwight Deugo Nesa Matic
OSGi: Open Services Gateway Initiative Richard Chapman 5 Sept
Eclipse Introduction Dwight Deugo Nesa Matic
Presented by IBM developer Works ibm.com/developerworks/ 2006 January – April © 2006 IBM Corporation. Making the most of Creating Eclipse plug-ins.
Hello Vaadin! CS 3130 Summer 2015.
Views Dwight Deugo Nesa Matic
1 Plug-in Development Environment (PDE) Guide. 2 Introduction to PDE l What is PDE: »a tool designed to help you develop platform plug-ins while working.
Spring Dynamic Modules. Startlocation: Documentation: /1.2.1/reference/html/
Android Programming Beomjoo Seo Sep., 12 CS5248 Fall 2012.
Web Applications Basics. Introduction to Web Web features Clent/Server HTTP HyperText Markup Language URL addresses Web server - a computer program that.
ANDROID PROGRAMMING MODULE 1 – GETTING STARTED
CRSX plug-in development. Prerequisites Software and Libraries Eclipse RCP (3.5 or higher) –Go –Select.
OSGi.
Introduction to the Atlas Platform Mobile & Pervasive Computing Laboratory Department of Computer and Information Sciences and Engineering University of.
Choon Oh Lee OSGi Service Platform. About OSGi Service Platform What it is, Where it is used, What features it provides are Today’s Content.
CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics NPRG044: OSGi framework Michal Malohlava & Pavel Parízek
OSGi & UPnP Technology 2009 Summer Ya-Lin Huang. 2 Outline What is OSGi Technology Introduction Alliance Specifications Key Benefits OSGi Framework Service.
Introduction to Eclipse CSC 216 Lecture 3 Ed Gehringer Using (with permission) slides developed by— Dwight Deugo Nesa Matic
Comparing JavaBeans and OSGi Towards an Integration of Two Complementary Component Models HUMBERTO CERVANTES JEAN-MARIE FAVRE 09/02.
Jan Hatje, DESY CSS ITER March 2009: Technology and Interfaces XFEL The European X-Ray Laser Project X-Ray Free-Electron Laser 1 CSS – Control.
OSGi in action BlueDavy
In Pieces Breaking down monolithic applications with Spring-DM and OSGi.
Migrating Desktop The graphical framework for running grid applications Bartek Palak Poznan Supercomputing and Networking Center The.
OSGi Service Platform Open Service Gateway initiative.
Webservice versioning using osgi Allard Buijze, Jettro Coenradie.
Open Service Gateway Initiative (OSGi) Reporter : 林學灝 侯承育 1.
Sameera Jayasoma 18 th July, 2009 Senior Software Engineer Introduction to OSGi The Dynamic Module System for Java.
Migrating Desktop Marcin Płóciennik Marcin Płóciennik Kick-off Meeting, Santander, Graphical.
Topic Java EE installation (Eclipse, glassfish, etc.) Eclipse configuration for EE Creating a Java Web Dynamic Project Creating your first servlet.
© 2002, Youngjoon Choi, RESL, Inha University Page : 1 Open Services Gateway initiative OSGi Open Services Gateway Initiative Youngjoon Choi © Realtime.
ICT Strategy Intelligent Highways: Endpoint Adapters.
CSS Build and Update System Kunal Shroff EPICS Spring Collaboration Meeting, June 2010 Aix-en-Provence.
Migrating Desktop Bartek Palak Bartek Palak Poznan Supercomputing and Networking Center The Graphical Framework.
Slide 1 ApacheCon 2011 > Doreen Seider> Using OSGi to Build Better Software > Using OSGi to Build Better Software Lessons from a Telemedicine.
Getting Started with the Open Services Gateway Initiative (OSGi) CNT 5517 Dr. Sumi Helal, Ph.D. Professor Computer & Information Science & Engineering.
Surya Bahadur Kathayat Outline  Ramses  Installing Ramses  Ramses Perspective (Views and Editors)  Importing/Exporting Example.
Plug-in Architectures Presented by Truc Nguyen. What’s a plug-in? “a type of program that tightly integrates with a larger application to add a special.
Jan Hatje, DESY CSS GSI Feb. 2009: Technology and Interfaces XFEL The European X-Ray Laser Project X-Ray Free-Electron Laser 1 CSS – Control.
EUFORIA FP7-INFRASTRUCTURES , Grant Migrating Desktop Uniform Access to the Grid Marcin Płóciennik Poznan Supercomputing and Networking Center.
Introduction to OSGi +ActorFrame Surya Bahadur Kathayat
Intro to the Atlas Platform Raja Bose Dr. Abdelsalam (Sumi) Helal January 23, 2007.
Real-Time Systems Lab. OSGi overview January 23, 2002 Sung-ho Park.
ECLIPSE RICH CLIENT PLATFORM Part 1 Introduction.
Introduction to Android Programming
WebSphere Diego Leone.
OSGi: The Lifecycle Layer. The Extender Pattern
Overall Architecture and Component Model
Application Development using Atlas Platform Sensor Network
ESIS Consulting LLC (C) ESIS Consulting LLC. All rights reserved
Java IDE Dwight Deugo Nesa Matic Portions of the notes for this lecture include excerpts from.
Presentation transcript:

Introduce OSGi BlueDavy

致力于 OSGi 的推广和发展 OSGi China User Group: 致力于 OSGi 的推广和发展 Agenda  Play OSGi  Who use OSGi  What is OSGi  OSGi R4 Implemention  How to develop OSGi app  OSGi Resources

致力于 OSGi 的推广和发展 OSGi China User Group: 致力于 OSGi 的推广和发展 Play OSGi  Let’s see a short demo  First we see an bulletin application,but only have bulletin list function;  We want to add new bulletin,so we find newbulletin module from module respository,then install & start it,now we can add new bulletin;  We see the feature of OSGi application  modularity  dynamic,”Plug and Play”  extensionable  these features are supported by OSGi,the meaning is that you don’t need realize those features yourself,what you need do is just use it

致力于 OSGi 的推广和发展 OSGi China User Group: 致力于 OSGi 的推广和发展 Agenda  Play OSGi  Who use OSGi  What is OSGi  OSGi R4 Implemention  How to develop OSGi app  OSGi Resources

致力于 OSGi 的推广和发展 OSGi China User Group: 致力于 OSGi 的推广和发展 Who use OSGi  IBM  Websphere  RSA  BEA  microServices,All BEA product will be based on microServices  Eclipse  Apache  Struts 2  Spring  Spring-OSGi  Simens,Nokia,BMW,Cisco etc.  SAP,Oracle,IONA etc. are interested in OSGi,and be OSGi EEG member

致力于 OSGi 的推广和发展 OSGi China User Group: 致力于 OSGi 的推广和发展 Agenda  Play OSGi  Who use OSGi  What is OSGi  OSGi R4 Implemention  How to develop OSGi app  OSGi Resources

致力于 OSGi 的推广和发展 OSGi China User Group: 致力于 OSGi 的推广和发展 What is OSGi  Dynamic Module System For Java  JSR232 JSR291  Universal Middleware  Best practice guide and support for building modularity/dynamic/extensionable system  Modularity with rule;  Dynamic support for module,OSGi service,configuration;  Extension support with OSGi service.

致力于 OSGi 的推广和发展 OSGi China User Group: 致力于 OSGi 的推广和发展 OSGi Basic Concepts  Modularity  Define module in OSGi;  Publish functions for other modules;  Use functions provided by other modules. Bundle JAVA Operating System Hardware OSGi Framework Service registry packages

致力于 OSGi 的推广和发展 OSGi China User Group: 致力于 OSGi 的推广和发展 Define module in OSGi  In OSGi module compose of one or more bundles;  Bundle is a normal jar file,the difference is its Manifest.mf file,OSGi add some specical header info property to declarative bundle,such as:  bundle-version,export-package,import-package

致力于 OSGi 的推广和发展 OSGi China User Group: 致力于 OSGi 的推广和发展 Publish functions for other bundles  add export-package header info to provide package for other bundles to use,such as cn.org.osgi.ppt.service;  add Fragment-Host header info to provide all resources for host bundle to use;  publish OSGi service for other bundles;  Use BundleContext.registerService to register normal java interface as OSGi service;  Write xml with rule to declarative normal java class as OSGi component,and provide service interface for other bundles,such as:

致力于 OSGi 的推广和发展 OSGi China User Group: 致力于 OSGi 的推广和发展 Use functions provided by other modules  add import-package header info to import packages provided by other bundles,then you can use the java class in those packages;  add require-bundle header info to use all export packages and resources provider by bundle;  use OSGi service provided by other bundles;  Use BundleContext.getService to get OSGi service provided by other bundles;  Write xml with rule to declarative normal java class as OSGi component,and inject OSGi service provided by other bundles,such as:

致力于 OSGi 的推广和发展 OSGi China User Group: 致力于 OSGi 的推广和发展 OSGi Basic Concepts  Dynamic  Bundle lifecycle  OSGi component lifecycle  Handle the dynamic – when bundle lifecycle changed; – when OSGi component lifecycle changed; – when configuration changed; – when framework changed; – when custom event published;

致力于 OSGi 的推广和发展 OSGi China User Group: 致力于 OSGi 的推广和发展 Bundle lifecycle  OSGi provide an API for manageing bundles lifecycle (Install/Resolve/Start/Stop/Refresh/Update/Unin stall),so OSGi framework RI will control bundle lifecycle self; INSTALLED RESOLVED UNINSTALLED ACTIVE STOPPING STARTING start stop

致力于 OSGi 的推广和发展 OSGi China User Group: 致力于 OSGi 的推广和发展 OSGi component lifecycle  Component that provide no service;  when all need OSGi services(exclued optional service) are usable,the component will be actived;  Component that provide services;  when all need OSGi services(exclued optional service) are usable;  other component call this OSGi service implemention.

致力于 OSGi 的推广和发展 OSGi China User Group: 致力于 OSGi 的推广和发展 Handle the dynamic  when bundle lifecycle changed;  OSGi component lifecycle will change automatically;  OSGi will handle bundle lifecycle dynamic self;  when OSGi component lifecycle changed;  OSGi service tracker can be used to monitor OSGi service;  Declarative Services use bind-method,unbind-method to notify the dynamic of OSGi service.  when configuration changed;  Configuration Admin Service automatically notify the configuration change.  when framework changed;  FrameworkEventListener can be implemented to monitor framework.  when custom event published;  EventAdmin Service can to used to publish & handle custom event.

致力于 OSGi 的推广和发展 OSGi China User Group: 致力于 OSGi 的推广和发展 OSGi Basic Concepts  Extensionable  Service filter supported by OSGi can be used to extension function;  Multi service reference supported by OSGi can be used to extension function;  Extension point provided by Equinox can be used to extension function.

致力于 OSGi 的推广和发展 OSGi China User Group: 致力于 OSGi 的推广和发展 Agenda  Play OSGi  Who use OSGi  What is OSGi  OSGi R4 Implemention  How to develop OSGi app  OSGi Resources

致力于 OSGi 的推广和发展 OSGi China User Group: 致力于 OSGi 的推广和发展 OSGi R4 Implemention  Equinox  Realized by Eclipse team;  As the OSGi R4 RI;   Used by Eclipse RCP & Eclipse other products.  Felix  Realized by Apache Team; 

致力于 OSGi 的推广和发展 OSGi China User Group: 致力于 OSGi 的推广和发展 Agenda  Play OSGi  Who use OSGi  What is OSGi  OSGi R4 Implemention  How to develop OSGi app  OSGi Resources

致力于 OSGi 的推广和发展 OSGi China User Group: 致力于 OSGi 的推广和发展 How to develop OSGi app  Get started  Write your first bundle  Deploy & Manage first bundle  Publish and use OSGi Service  FAQ

致力于 OSGi 的推广和发展 OSGi China User Group: 致力于 OSGi 的推广和发展 Get started  Download Eclipse from  Download Equinox bundles from  most bundles exist in eclipse

致力于 OSGi 的推广和发展 OSGi China User Group: 致力于 OSGi 的推广和发展 Write your first bundle  New plugin-project,select this plug-in is targeted to run with an OSGi framework in project wizard page;

致力于 OSGi 的推广和发展 OSGi China User Group: 致力于 OSGi 的推广和发展 Write your first bundle  Then enter the plug-in content page  Write associate info,then click finish to create the project.

致力于 OSGi 的推广和发展 OSGi China User Group: 致力于 OSGi 的推广和发展 Write your first bundle  Write activator class  Say ‘hello’ when bundle started;  Say ‘byebye’ when bundle stopped;

致力于 OSGi 的推广和发展 OSGi China User Group: 致力于 OSGi 的推广和发展 Deploy & Manage first bundle  Deploy in eclipse  Deploy outside alone  Manage bundle in console

致力于 OSGi 的推广和发展 OSGi China User Group: 致力于 OSGi 的推广和发展 Deploy in eclipse  Open run dialog,new in Equinox OSGi Framework, select Workspace Plug-ins and org.eclipse.osgi in Target platform;

致力于 OSGi 的推广和发展 OSGi China User Group: 致力于 OSGi 的推广和发展 Deploy in eclipse  Click Run button,then you can see this in console;

致力于 OSGi 的推广和发展 OSGi China User Group: 致力于 OSGi 的推广和发展 Deploy outside alone  Create equinox framework app outside alone first;  create Equinox directory,then create configuration,plugins directory in Equinox directory;  put org.eclipse.osgi.jar & org.eclipse.osgi.services.jar to plugins directory;  create config.ini in configuration directory,content in config.ini like this: osgi.noShutdown=true osgi.bundles.defaultStartLevel=4 osgi.configuration.cascaded=false eclipse.ignoreApp=true  create run.bat in Equinox directory,content in run.bat(windows) like off java -jar plugins/org.eclipse.osgi_3.2.1.R32x_v jar - configuration configuration -console

致力于 OSGi 的推广和发展 OSGi China User Group: 致力于 OSGi 的推广和发展 Deploy outside alone  Start equinox framework and install first bundle in OSGi console;  install first bundle use directory mode; – Input command like this in OSGi console: install file:/D:\work\workspace\OSGi-Bulletin\FirstBundle  install first bundle use jar file; – package first bundle into jar file; – Export the project as deployable plug-ins and fragments – Input command like this in OSGi conosle: install file:/D:\Opendoc\Equinox\plugins\FirstBundle_1.0.0.jar

致力于 OSGi 的推广和发展 OSGi China User Group: 致力于 OSGi 的推广和发展 Manage bundle in console  use ss to find bundle id  use start,stop,update,uninstall to manage bundle with bundle id  start 2 (start bundle)  stop 2 (stop bundle)  update 2 (update bundle on the fly)  uninstall 2 (uninstall bundle)

致力于 OSGi 的推广和发展 OSGi China User Group: 致力于 OSGi 的推广和发展 Publish OSGi Service  Use OSGi declarative services to publish and use OSGi Service,then when you run OSGi application,you need install Equinox DS plugin;  Create ServiceBundle to publish OSGi service;  Create cn.org.osgi.ppt.service.HelloService Interface;  Create cn.org.osgi.ppt.component.HelloComponent to implemention HelloService;  Publish HelloService as OSGi service using DS component xml;  Add component.xml to MANIFEST.MF Service-Component property  Export package cn.org.osgi.ppt.service

致力于 OSGi 的推广和发展 OSGi China User Group: 致力于 OSGi 的推广和发展 Use OSGi Service  Add cn.org.osgi.ppt.service to import-package;  Use HelloService in firstbundle with two kind methods;  context.getService method – In Activator class: ServiceReference serviceRef=context.getServiceReference(HelloService.class.getName()); if(serviceRef!=null){ HelloService service=(HelloService) context.getService(serviceRef); service.say("Activator"); }  Declarative Services method –create cn.org.osgi.ppt.firstbundle.FirstComponent class with inject service method: public void setService(HelloService service){ this.service=service; } public void unsetService(HelloService service){ if(this.service!=service) return; this.service=null; System.out.println("HelloService 不可用 "); } –write ds component xml to inject OSGi service; –Add component.xml to MANIFEST.MF Service-Component property

致力于 OSGi 的推广和发展 OSGi China User Group: 致力于 OSGi 的推广和发展 Agenda  Play OSGi  Who use OSGi  What is OSGi  OSGi R4 Implemention  How to develop OSGi app  OSGi Resources

致力于 OSGi 的推广和发展 OSGi China User Group: 致力于 OSGi 的推广和发展 OSGi Resources  OSGi R4 SpecificationsOSGi R4 Specifications  《 OSGi 实战》 Opendoc 《 OSGi 实战》 Opendoc  《 OSGi 进阶》 Opendoc 《 OSGi 进阶》 Opendoc    

Click to edit company slogan. OSGi China User Group