Teams Winter 2011/team1/OSGI/Create the Service Interface

From CDOT Wiki
Jump to: navigation, search

1. Create the Service Interface

First thing to do in building an OSGI application is to define the service interface so that the developer who creates the GUI part of application knows what services will be available, and what are their requirements and outcome.In order to do this please follow these steps:

1.1. Create the interface bundle

Create a new Plug-in project in eclipse using File>New> Plug-in Project:
1CreateNewPlugInProject.JPG
Give it a proper name and Choose the target platform to be an OSGI platform:
2CreateNewPlugInProject.jpg
Make sure you check off the , so that no Activator class is created in the project (this bundel is just interfaces so it does not run).
3CreateNewPlugInProject.jpg
4CreateNewPlugInProject.jpg

1.2. Create Interfaces
Add a package to the src folder in your project.Then Add following items to your package:

  1. A Java class named BusRoute.
  2. A Java class named BusRouteNotFoundException which extends java.lang.Exceptions class.
  3. A Java class named InvalidNumberOfSeatsException which extends java.lang.Exception class.
  4. An Interface named Ticketing
5CreateInterfaces.jpg
Enter the code for the classes and the interface as per the following screen-shots:
BusRout Class:
6CreateNewClass.jpg
BusRoutNotFoundException Class:
7CreateNewClass.jpg
InvalidNumberOfSeatsException Class:
71CreateNewClass.jpg
Ticketing Interface:
8CreateInterface.jpg

1.3. Export Package

In order to be able to register our service we need to export our package in the interface bundle. To do so, select MANIFEST.MF in the package explored and then brows to the Runtime tab.Click on "Add" in Exported Packages section.
9ExportPackge.jpg
Select the Ticketing package and press Ok button.
10ExportPackage.jpg
12ExportPackage.jpg
The Interface is Exported and now it's time to build the service implementation project where you add all the implementations of the interface and register it at run time.