Getting Started with the Open Services Gateway Initiative (OSGi) CNT 5517 Dr. Sumi Helal, Ph.D. Professor Computer & Information Science & Engineering.

Slides:



Advertisements
Similar presentations
Copyright © 2002, Peter Kriens, All Rights Reserved OSGi versus UPnP??? There is no "versus" here. OSGi is fully complimentary to UPnP. No overlap. UPnP.
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
© OSGi, All Rights Reserved - Brussel Jan 22 Ertico/OSGi Tech Spec Overview: Introduction OSGi R3 and Remote Management Ertico/OSGi meeting Jan.
CPSC 875 John D. McGregor Architecture evolution.
Component Models and Technologies Case Study: OSGI.
OSGi Remote Services with SCA using Apache Tuscany Raymond Feng
Notes to the presenter. I would like to thank Jim Waldo, Jon Bostrom, and Dennis Govoni. They helped me put this presentation together for the field.
6/11/2015Page 1 Web Services-based Distributed System B. Ramamurthy.
Eclipse Architecture Dwight Deugo Nesa Matic
OSGi: Open Services Gateway Initiative Richard Chapman 5 Sept
JAVA BEANS By Madhuri Kakumanu. What is a Java Bean? “ A Java Bean is a reusable software component that can be visually manipulated in builder tools.”
Jun Peng Stanford University – Department of Civil and Environmental Engineering Nov 17, 2000 DISSERTATION PROPOSAL A Software Framework for Collaborative.
Spring Dynamic Modules. Startlocation: Documentation: /1.2.1/reference/html/
ANDROID PROGRAMMING MODULE 1 – GETTING STARTED
Gayle J Yaverbaum, PhD Professor of Information Systems Penn State Harrisburg.
OSGi.
1/151/15 ENT Metamodel Implementation & Applications ENT metamodel, prototype implementation Component substitutability checking, ENT based component comparison.
Introduction to the Atlas Platform Mobile & Pervasive Computing Laboratory Department of Computer and Information Sciences and Engineering University of.
1 3. Implementing Web Services 1.Create SOAP proxy interfaces and WSDL based service descriptions 2.Register/publish services 3.Stores service descriptions.
© 2005 by IBM; made available under the EPL v1.0 | March 1, 2005 Tim deBoer Gorkem Ercan Extend WTP Server Tools for your.
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
Presentation: SOAP in a distributed object framework, Application Servers & AXIS SOAP.
AN OVERVIEW OF SERVLET TECHNOLOGY SERVER SETUP AND CONFIGURATION WEB APPLICATION STRUCTURE BASIC SERVLET EXAMPLE Java Servlets - Compiled By Nitin Pai.
Service-Oriented Component Model April 18,2007.
© 2006 IBM Corporation IBM WebSphere Portlet Factory Architecture.
|Tecnologie Web L-A Anno Accademico Laboratorio di Tecnologie Web Introduzione ad Eclipse e Tomcat
CS 584 Lecture 18 l Assignment » Glenda assignment extended to the Java RMI Deadline » No Java RMI Assignment l Test » Friday, Saturday, Monday.
OSGi & UPnP Technology 2009 Summer Ya-Lin Huang. 2 Outline What is OSGi Technology Introduction Alliance Specifications Key Benefits OSGi Framework Service.
Review: OSGi – a component framework for Java Bundle OSGi Framework Bundle Java Runtime Environment (JRE) Operating System (OS) Hardware “Dynamic Modules.
Presentation: SOAP/WS in a distributed object framework, Application Servers & AXIS SOAP.
Aspect Oriented Programming Sumathie Sundaresan CS590 :: Summer 2007 June 30, 2007.
LAB 1CSIS04021 Briefing on Assignment One & RMI Programming February 13, 2007.
Comparing JavaBeans and OSGi Towards an Integration of Two Complementary Component Models HUMBERTO CERVANTES JEAN-MARIE FAVRE 09/02.
Ambient Intelligence for the networked home environment Palantir demo, tutorial and Crash Course Thibaud Flury & Anne Gerodolle (France Telecom)
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.
Presentation: SOAP/WS in a distributed object framework, Application Servers & AXIS SOAP.
Sameera Jayasoma 18 th July, 2009 Senior Software Engineer Introduction to OSGi The Dynamic Module System for Java.
CPSC 875 John D. McGregor Architecture evolution.
Project II Rule Optimizer for the Atlas Reactivity Engine CNT Dr. Sumi Helal Computer & Information Science & Engineering Department University.
Service Discovery Protocols Mobile Computing - CNT Dr. Sumi Helal Professor Computer & Information Science & Engineering Department University.
Migrating Desktop Bartek Palak Bartek Palak Poznan Supercomputing and Networking Center The Graphical Framework.
Application Ontology Manager for Hydra IST Ján Hreňo Martin Sarnovský Peter Kostelník TU Košice.
Surya Bahadur Kathayat Outline  Ramses  Installing Ramses  Ramses Perspective (Views and Editors)  Importing/Exporting Example.
EUFORIA FP7-INFRASTRUCTURES , Grant Migrating Desktop Uniform Access to the Grid Marcin Płóciennik Poznan Supercomputing and Networking Center.
Introduction to business component technologies. Component definitions Szyperski: A software component is a unit of composition with contractually specified.
UMBC Distributed Computing with Objects RMI/Corba CMSC 432 Shon Vick.
1 Lecture 15 Remote Method Invocation Instructors: Fu-Chiung Cheng ( 鄭福炯 ) Associate Professor Computer Science & Engineering Tatung Institute of Technology.
Introduction to OSGi +ActorFrame Surya Bahadur Kathayat
Net-centric Computing Web Services. Lecture Outline  What is Web Service  Web Service Architecture  Creating and using Java Web Services  Apache Axis.
CPSC 875 John D. McGregor C22 - Architecture evolution.
Intro to the Atlas Platform Raja Bose Dr. Abdelsalam (Sumi) Helal January 23, 2007.
Principles of Software Development
Chapter No. : 1 Introduction to Java.
Outline SOAP and Web Services in relation to Distributed Objects
What is RMI? Remote Method Invocation
The Improvement of PaaS Platform ZENG Shu-Qing, Xu Jie-Bin 2010 First International Conference on Networking and Distributed Computing SQUARE.
Outline SOAP and Web Services in relation to Distributed Objects
Application Development using Atlas Platform Sensor Network
Project II Rule Optimizer for the Atlas Reactivity Engine CNT
Introduction to Web Services
Distributed System using Web Services
Java Remote Method Invocation
Distributed System using Web Services
Plug-In Architecture Pattern
Presentation transcript:

Getting Started with the Open Services Gateway Initiative (OSGi) CNT 5517 Dr. Sumi Helal, Ph.D. Professor Computer & Information Science & Engineering Department University of Florida, Gainesville, FL Most of this presentation was developed by Hen-I Yang

Outline Introduction to OSGi Introduction to the Knopflerfish reference implementation

OSGi ™ Platform A dynamic module system for Java™. –It provides the standardized primitives that allow applications to be constructed from small, reusable and collaborative components. –Components can be composed into an application and deployed. Allow changing of the composition dynamically on the device of a variety of networks, without requiring restarts. A service-oriented architecture that decouples components, and enables these components to dynamically discover each other for collaboration. Many standard component interfaces for common functions like HTTP servers, configuration, logging, security, user administration, XML and many more are available and well- tested.

OSGi ™ Platform

OSGi Bundles Bundles: Basic components in OSGi environment Standard Bundle Composition: –Manifest –Code Interface class –Methods that will be exposed to other bundles –Defines the visible external behavior of the bundle –Methods that would allow other bundles to invoke Activator class –Life cycle management –The class that gets invoked first when an bundle becomes active –Handles details such as a) The starting condition b) The cleanup actions c) The plan of action when other bundles joins or leaves d) bind the local variables to instances of the bundles that would be used later Implementation class –The real deal: the actual implementation of the functionalities/methods specified in the interface class –Actual usage of the variables specified and bound in the activator class –Where the real application logic is

OSGi Bundles -- Interface package demo.test; import com.pervasa.atlas.dev.service.AtlasClie nt; public interface Demo extends AtlasClient { public void shutdown(); }

OSGi Bundles -- Activator public class DemoActivator extends AtlasActivator { private DemoImpl service = null; public void start(BundleContext context) throws Exception { final String c[] = {Demo.class.getName()}; service = new DemoImpl(context, this); //Registering the Demo Service context.registerService(c, service, new Properties()); new Thread(service).start(); } public void stop(BundleContext context) throws Exception { service.shutdown(); } public void serviceChanged(ServiceEvent event) {... } }

OSGi Bundles -- Implementation public class DemoImpl extends AtlasImpl implements Demo { protected InterlinkPressureSensor ps; protected LED led; protected HS322Servo servo; protected boolean running; public void assignEntity(Object obj) { if (obj instanceof InterlinkPressureSensor) {this.ps = (InterlinkPressureSensor) obj; } else if (obj instanceof HS322Servo) {this.servo = (HS322Servo) obj; } else if (obj instanceof LED) {this.led = (LED) obj; } } public void unassignEntity(Object obj) { … } public void ReceivedData(String arg0, Properties props) { // Real Application Logic Comes Here } }

OSGi Bundles – Manifest Bundle-Name: Demo Bundle-Activator: demo.test.impl.DemoActivator Device-Type: Application Import-Package: org.osgi.framework,com.pervasa.atlas.dev.servic e,org.sensorplatform.sensors.pressure,org.senso rplatform.actuators.servo.hs322 Bundle-Vendor: Pervasa Bundle-Author: Pervasa Bundle-SymbolicName: Demo Bundle-Category: application Bundle-Version: 1.0.0

Download Knopflerfish Knopflerfish is an open source OSGi reference implementation The goal with the Knopflerfish project is to develop and distribute easy to use open source code, build tools and applications, related to the OSGi framework. –Download Knopflerfish – fish_fullbin_osgi_1.3.5.jarhttp:// fish_fullbin_osgi_1.3.5.jar –Self extracting and easy installation

Exercise 2: Implementing an Application Bundle Work in groups of 2 – 3 Download the sample Atlas Application from: It is an Eclipse project so, use the File → Import option in the Eclipse IDE. Implement the Interface Implement the Activator class Implement the Implementation class Try to compile and deploy the bundle to verify if that it actually works!