OSGi in action BlueDavy 1.1 2007-10-20.

Slides:



Advertisements
Similar presentations
NetServ Dynamic in-network service deployment Henning Schulzrinne (Columbia University) Srinivasan Seetharaman (Georgia Tech) Volker Hilt (Bell Labs)
Advertisements

CTS2 DEVELOPMENT FRAMEWORK CTS2 Overview. Schedule What is it? Why a framework? What does this do for me? Plugins Implementations available now CTS2 Compliance.
SelfCon Foil no 1 Dynamic component systems 1. SelfCon Foil no 2 Pre-structured systems vs. dynamic component systems Pre-structured – emphasis on content.
Introduce OSGi BlueDavy
Apache Struts Technology
Visual Designer for JasperReports
An Agile Approach for Web Systems Engineering A Presentation of an Article by V.E.S. Souza and R.A. Falbo.
Why OSGi matters for Enterprise Java Infrastructures
Eclipse Architecture 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
Spring Dynamic Modules. Startlocation: Documentation: /1.2.1/reference/html/
UNIT-V The MVC architecture and Struts Framework.
Agenda Introduction to the Guidewire platform
Arc: Programming Options Dr Andy Evans. Programming ArcGIS ArcGIS: Most popular commercial GIS. Out of the box functionality good, but occasionally: You.
Component-Based Software Engineering Introduction to Java Beans Paul Krause and Sotiris Moschoyiannis.
Introduction to the JBoss Presented by: Hao Shi. Agenda Application Servers What is JBoss JBoss features Architecture of JBoss Installation and running.
Pittsburgh Java User Group– Dec Java PureFaces: A JSF Framework Extension.
OSGi.
Implementing a custom JIRA UI using plugins 2.0 Andreas Knecht Plugins 2 & REST.
Introduction to the Atlas Platform Mobile & Pervasive Computing Laboratory Department of Computer and Information Sciences and Engineering University of.
Jan Hatje, DESY CSS ITER March 2009: Alarm System, Authorization, Remote Management XFEL The European X-Ray Laser Project X-Ray Free-Electron.
Object persistence with Hibernate in Decision Deck 1.1 Gilles Dodinet 2 nd Decision Deck Workshop 2008, February.
London April 2005 London April 2005 Creating Eyeblaster Ads The Rich Media Platform The Rich Media Platform Eyeblaster.
JBoss at Work JAW Motors Application Chapter 1-3 Jeff Schmitt October 9, 2006.
|Tecnologie Web L-A Anno Accademico Laboratorio di Tecnologie Web Introduzione ad Eclipse e Tomcat
LiveCycle Data Services Introduction Part 2. Part 2? This is the second in our series on LiveCycle Data Services. If you missed our first presentation,
J2EE Structure & Definitions Catie Welsh CSE 432
Extending ArcGIS for Server
Programming for Geographical Information Analysis: Advanced Skills Lecture 1: Introduction Programming Arc Dr Andy Evans.
Comparing JavaBeans and OSGi Towards an Integration of Two Complementary Component Models HUMBERTO CERVANTES JEAN-MARIE FAVRE 09/02.
OSGi Enablement for Tuscany Raymond Feng. Overview.
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.
Migrating Desktop The graphical framework for running grid applications Bartek Palak Poznan Supercomputing and Networking Center The.
Webservice versioning using osgi Allard Buijze, Jettro Coenradie.
Open Service Gateway Initiative (OSGi) Reporter : 林學灝 侯承育 1.
Andrew S. Budarevsky Adaptive Application Data Management Overview.
Shannon Hastings Multiscale Computing Laboratory Department of Biomedical Informatics.
Copyright © IBM Corp., All rights reserved. From SWT to RCP: Experiences implementing RSSOwl 2.0 with RCP Benjamin Pasero.
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.
Jan Hatje, DESY CSS GSI Feb. 2009: Alarm System, Authorization, Remote Management XFEL The European X-Ray Laser Project X-Ray Free-Electron.
Introduction to Java Beans CIS 421 Web-based Java Programming.
Sakai WebApp Structure
Migrating Desktop Bartek Palak Bartek Palak Poznan Supercomputing and Networking Center The Graphical Framework.
Spring and DWR Frameworks for Rich Web Enterprise Application Thomas Wiradikusuma Presentation to the 20 th.
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.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
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.
Bulding a Modular Application with Coherence David Whitmarsh Independent Contractor Technical Architect Investment Banks
Introduction 1 Lars Vogel 4/22/2009.  Who am I?  Eclipse as a platform  What is Eclipse RCP?  Extension Points / Extensions  Equinox  SWT & JFace.
EUFORIA FP7-INFRASTRUCTURES , Grant Migrating Desktop Uniform Access to the Grid Marcin Płóciennik Poznan Supercomputing and Networking Center.
Presentation Title Subtitle DSpace UI Prototype 7 Spring, Angular.js, and the DSpace REST API.
Impala A dynamic module framework for Java web development Phil Zoio Realsolve Solutions Devoxx 12 December, 2008.
Introduction – ORM, Helloworld Application
Introduction to OSGi +ActorFrame Surya Bahadur Kathayat
Google Code Libraries Dima Ionut Daniel. Contents What is Google Code? LDAPBeans Object-ldap-mapping Ldap-ODM Bug4j jOOR Rapa jongo Conclusion Bibliography.
Apache Struts Technology A MVC Framework for Java Web Applications.
1 PSI/PhUSE Single Day Event – SAS Applications – June 11, 2009 SAS Drug Development from the Inside Magnus Mengelbier Director.
ECLIPSE RICH CLIENT PLATFORM Part 1 Introduction.
WebSphere Diego Leone.
Peaberry Stuart McCulloch.
Overall Architecture and Component Model
SAP Hybris Online Training SAP Hybris Online Training
Introduction to J2EE Architecture
Sakai WebApp Structure
ESIS Consulting LLC (C) ESIS Consulting LLC. All rights reserved
The JSF Tools Project – WTP (internal) release review
Presentation transcript:

OSGi in action BlueDavy

致力于 OSGi 的推广和发展 OSGi China User Group: 致力于 OSGi 的推广和发展 Agenda  Use OSGi with popular framework  Deploy exist system to OSGi  The feature of OSGi application  OSGi application design best practices  OSGi application develop best practices  Resources

致力于 OSGi 的推广和发展 OSGi China User Group: 致力于 OSGi 的推广和发展 Use OSGi with popular framework  Use with Hibernate  Use with Spring  Use with Webwork  Intergration key factors

致力于 OSGi 的推广和发展 OSGi China User Group: 致力于 OSGi 的推广和发展 Use with Hibernate  Download Hibernate-OSGi   install cn.org.osgi.hibernate bundle or import Hibernate-OSGi source project to eclipse.  Write demo bundle with Hibernate-OSGi to use Hibernate

致力于 OSGi 的推广和发展 OSGi China User Group: 致力于 OSGi 的推广和发展 Use with Hibernate  Change the connection info in hibernate.cfg.xml of cn.org.osgi.hibernate bundle;  New Plug-in project,and write persistent class as you always do,then generate persistent class hbm file;  Implemention DAO class with cn.org.osgi.hibernate.service.CommonDaoServi ce or other common Hibernate DAO API;

致力于 OSGi 的推广和发展 OSGi China User Group: 致力于 OSGi 的推广和发展 Use with Hibernate  Register Persistent class as extension point;  create plugin.xml,then input following content into the file,just like this: –  Start the application,then finish the demo that use OSGi with Hibernate

致力于 OSGi 的推广和发展 OSGi China User Group: 致力于 OSGi 的推广和发展 Use with Hibernate  Summary  the difference between use with hibernate and use with OSGi & hibernate only two sides: –don’t add resource mapping element to hibernate.cfg.xml any more; –Use extension point to register po.

致力于 OSGi 的推广和发展 OSGi China User Group: 致力于 OSGi 的推广和发展 Use with Hibernate  The implemention method of Hibernate-OSGi  Refactor AbstractClassGenerator.getClassLoader() method to sure use the AbstractClassGenerator class’s classloader to load the associate class –Why do this? –Just because AbstractClassGenerator use po class’s classloader to load cglib associate class,but now the bundle including po class don’t need import cglib jar.  Based on extension point to register/unregister po –Why do this? –Just because module seperation rule. –Use extension point so we can register po outside of HibernateModule. –The session service use Configuration.addClass to register po from other bundle.

致力于 OSGi 的推广和发展 OSGi China User Group: 致力于 OSGi 的推广和发展 Use with Hibernate  The weakpoint of Hibernate-OSGi  Not support many hibernate po advanced configuration just like po class cache etc. currently;  Not support multi sessionfactory currently;  Need support register connection info from other bundles;  When new pos added or exist pos removed,SessionFactory need be restarted;  Let’s improve Hibernate-OSGi together  If u want to join this group,pls visit this webpage: –

致力于 OSGi 的推广和发展 OSGi China User Group: 致力于 OSGi 的推广和发展 Use with Spring  Download Spring-OSGi;   Create the build and run environment  Publish Spring bean as OSGi service  Inject OSGi service to Spring bean  Best practices  The weakpoint of Spring-OSGi

致力于 OSGi 的推广和发展 OSGi China User Group: 致力于 OSGi 的推广和发展 Use with Spring  Create the build and run environment  install these bundles to eclipse or equinox –aopalliance –aspectjrt –backport-util-concurrent –spring-aop –spring-aspects –spring-beans –spring-context –spring-core –spring-dao –spring-osgi-core –spring-osgi-extender –spring-osgi-io

致力于 OSGi 的推广和发展 OSGi China User Group: 致力于 OSGi 的推广和发展 Publish Spring bean as OSGi service  It’s very simple to do this  just write this element – –You can add osgi:service-properties to realize the properties configuration in OSGi component’s xml

致力于 OSGi 的推广和发展 OSGi China User Group: 致力于 OSGi 的推广和发展 Inject OSGi service to Spring bean  It’s also very simple to do this, just write this element   We can use two method to inject this OSGi service to spring bean – –add osgi:listener to osgi:reference – –The bind-method need change to this kind signature public void some-method-name(service interface,Dictionary)  The difference between these two methods –The first method cann’t get the OSGi service’s dynamic changination,but the second method can do this.

致力于 OSGi 的推广和发展 OSGi China User Group: 致力于 OSGi 的推广和发展 Best practices  Only publish those pojo needed export as OSGi service;  Use osgi:listener method to inject OSGi service to spring bean;  Handle the OSGi service dynamic change;  If can publish the pojo in DS style,then use DS style;

致力于 OSGi 的推广和发展 OSGi China User Group: 致力于 OSGi 的推广和发展 The weakpoint of Spring-OSGi  Cann’t dynamic load spring bean bundle;  Spring-OSGi bundle must start before other bundles;  Spring-OSGi depends excessive bundles.

致力于 OSGi 的推广和发展 OSGi China User Group: 致力于 OSGi 的推广和发展 Use with Webwork  Download Webwork-OSGi   Install cn.org.osgi.webwork bundle or Import Webwork-OSGi project to eclipse  The bundle did realize webwork intergration with Spring-OSGi  Write demo bundle with Webwork-OSGi to use webwork with OSGi

致力于 OSGi 的推广和发展 OSGi China User Group: 致力于 OSGi 的推广和发展 Use with Webwork  New Plug-in project,write action class and action xml as always you do;   Class property upside map to its OSGi service’s property –  Publish action class as OSGi service in ds style or spring-OSGi style;  Export the package where your action classes and action resource files in;  Register action xml file to extension point;  <extension point=“cn.org.osgi.webwork.actionextension">  Start the application,then u can visit the action

致力于 OSGi 的推广和发展 OSGi China User Group: 致力于 OSGi 的推广和发展 Use with Webwork  Summary  the difference between use with webwork and use with webwork-OSGi –the action class property is not the action class true name,but is the osgi service command property the action class published; –the action xml file is not write to a singlepoint xwork.xml,but register to webwork-OSGi based on extension point;

致力于 OSGi 的推广和发展 OSGi China User Group: 致力于 OSGi 的推广和发展 Use with Webwork  The implemention of Webwork-OSGi  Write own action xml file configuration provider class –so webwork-OSGi can dynamic load and unload action xml file outside webwork-OSGi bundle;  Write own ObjectFactory to load action and other class –so webwork-OSGi can load action class instance from OSGi service registration and then realize intergration with spring- OSGi; –Other class loading as webwork always do  Change webwork action xml file configuration provider and ObjectFactory

致力于 OSGi 的推广和发展 OSGi China User Group: 致力于 OSGi 的推广和发展 Use with Webwork  The weakpoint of Webwork-OSGi  Maybe we need write a webwork-OSGi bundle so when webwork update,we can update quickly;  Not support servlet filter configuration,but this is httpservice problem

致力于 OSGi 的推广和发展 OSGi China User Group: 致力于 OSGi 的推广和发展 Intergration key factors  Classloader factor  Can use OSGi Dynamic-ImportPackage and Export- Package to solve this factor.  Resource loader factor  Can use extension point to realize load resource dynamically and so resource can be placed in module style.  The most important factor:”modularity” & “Plug and Play”

致力于 OSGi 的推广和发展 OSGi China User Group: 致力于 OSGi 的推广和发展 Agenda  Use OSGi with popular framework  Deploy exist system to OSGi  The feature of OSGi application  OSGi application design best practices  OSGi application develop best practices  Resources

致力于 OSGi 的推广和发展 OSGi China User Group: 致力于 OSGi 的推广和发展 Deploy exist system to OSGi  Use bnd tool to do this    Step  Separate project packages in module style logically;  Define module need import package and export package;  Write bnd file for per module;  Run bnd tool then get the module jar file;  Deploy the module jar file to OSGi framework

致力于 OSGi 的推广和发展 OSGi China User Group: 致力于 OSGi 的推广和发展 Agenda  Use OSGi with popular framework  Deploy exist system to OSGi  The feature of OSGi application  OSGi application design best practices  OSGi application develop best practices  Resources

致力于 OSGi 的推广和发展 OSGi China User Group: 致力于 OSGi 的推广和发展 The feature of OSGi application  Strict and clear modularity  Quickly know the module dependency;  Quickly know the module exported function;  Quickly know how the module can be extensioned;  Reusable  Build company bundle respository  Dynamic  “Plug and Play”  Extensionable

致力于 OSGi 的推广和发展 OSGi China User Group: 致力于 OSGi 的推广和发展 Agenda  Use OSGi with popular framework  Deploy exist system to OSGi  The feature of OSGi application  OSGi application design best practices  OSGi application develop best practices  Resources

致力于 OSGi 的推广和发展 OSGi China User Group: 致力于 OSGi 的推广和发展 OSGi app design best practices  Clear and strict define module;  Module’s Export Function;  Module’s Dependency;  Module’s Extension Point;  Interface-oriented and SOCM;  Bundles compose of components,components communicate each other with OSGi service;  All service publish in interface type;  Split Interface & Implemention into separate bundles;

致力于 OSGi 的推广和发展 OSGi China User Group: 致力于 OSGi 的推广和发展 Agenda  Use OSGi with popular framework  Deploy exist system to OSGi  The feature of OSGi application  OSGi application design best practices  OSGi application develop best practices  Resources

致力于 OSGi 的推广和发展 OSGi China User Group: 致力于 OSGi 的推广和发展 OSGi app develop best practices  Keep the dynamic feature  Don’t suppose the dependence service usable;  Handle the dynamic change such as extension added/event published/service unavaible;  If the service is used only inside bundle,then don’t publish it as OSGi service;  Don’t make static dependency to other bundles;

致力于 OSGi 的推广和发展 OSGi China User Group: 致力于 OSGi 的推广和发展 Agenda  Use OSGi with popular framework  Deploy exist system to OSGi  The feature of OSGi application  OSGi application design best practices  OSGi application develop best practices  Resources

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

Click to edit company slogan. OSGi China User Group