Changes

Jump to: navigation, search

OSGi : Develop Simple Apps

1,527 bytes removed, 23:56, 24 January 2011
no edit summary
{{Ecl_activities|type=OSGi|type-repo=osgi}}__NOTOC__<h2>Bundels and Java Applications</h2>
# Check out the [https://guest:1673852@zenit.senecac.on.ca/svn/ecl500/Lectures/trunk/w11-osgi-simple-interface/ Service Interface]
# Check out the [https://guest:1673852@zenit.senecac.on.ca/svn/ecl500/Lectures/trunk/w11-osgi-simple-serviceprovider/ Service Provider]
# Check out the [https://guest:1673852@zenit.senecac.on.ca/svn/ecl500/Lectures/trunk/w11-osgi-simple-serviceconsumer/ Service Consumer]
<h3>[[Steps for Building Applications from Bundels]]</h3>
<strong>Steps for Building Bundels</strong> <h4>1. Study the Interfaces</h4> * [http://www.osgi.org/javadoc/r4v42/org/osgi/framework/Bundle.html Bundle]* [httpFile://wwwOSGi-DS.osgi.org/javadoc/r4v42/org/osgi/framework/BundleContext.html BundleContextpng|border|SOA in JVM|400px| ]* [http://www.osgi.org/javadoc/r4v42/org/osgi/framework/BundleActivator.html BundleActivator<h4>2. Define the Bundle that provide the service (Provider Bundle)</h4><h5>2.1 Define the Java Interface that exposes the services</h5>Let us suppose that you want to define a service that allows the user to find a book from the book isbn. Then the interface should look similare with this one:<source lang="java">package cs.ecl.osgi.simple.bookfinder; public interface BookFinder { Book findBook(int isbn) throws BookNotFoundException;}</source>Define in the same bundle the classes that you need such as: Book and BookNotFoundException<source lang="java">package cs.ecl.osgi.simple.bookfinder; public class Book { private int isbn; private String title; public Book(int isbn, String title) { super(); this.isbn = isbn; this.title = title; }  public String getTitle() { return title; }  public void setTitle(String title) { this.title = title; }  public int getIsbn() { return isbn; }  public void setIsbn(int isbn) { this.isbn = isbn; }} package cs.ecl.osgi.simple.bookfinder; public class BookNotFoundException extends Exception { private static final long serialVersionUID = -6184839510952070091L;  public BookNotFoundException() { super(); }  public BookNotFoundException(String arg0) { super(arg0); }}</source> 
Define in the MANIFEST.MF that cs.ecl.osgi.simple.bookfinder is <h2>Bundels and the '''Exported-Package'''Declarative Services<source lang="xml"/h2>Manifest-Version# Check out the [https://guest: 11673852@zenit.0Bundle-ManifestVersion: 2Bundle-Name: BookfinderBundle-SymbolicName: cssenecac.eclon.ca/svn/ecl500/Lectures/trunk/w11-osgi.-simple.bookfinder-declarativeservice-consumer Declarative Service Consumer]Bundle-Version# Check out the [https://guest: 11673852@zenit.0senecac.0on.qualifierBundleca/svn/ecl500/Lectures/trunk/w11-RequiredExecutionEnvironment: JavaSEosgi-1.6Bundlesimple-Vendor: Seneca College declarativeservice- Eclipse CourseExport-Package: cs.ecl.osgi.simple.bookfinder</source>provider Declarative Service Provider]<h5h3>2.1 Define the Java classes that implement that services[[Steps for Building Declarative Services]]</h5h3>

Navigation menu