OMG DC Use Cases
Date: June 21,2004
Version: 0.1
Status: draft
Authors: Didier Donsez (UJF-IMAG-LSR-ADELE), ()
Contributors:
1 Introduction
This document intends to illustrate the D & C specification on three use cases of applications that are not component-based.
The application are:
- Standalone Java applications
- Linux applications (or platforms)
- OSGi dynamic applications
Please send comments to the Deployment Mailing List:
deployment@objectweb.org
Standalone Java applications
Standalone Java applications are usually provisionning as a set of Jar files.
An application could be described according to two different ways : the manifest file and the JNLP descriptor
Manifest-based Applications
Application description
The manifest of the "main" jar file contains a Main-Class entry
that identifies the main class and a ClassPath entry
that lists the jar files required by the jar file.
Similary, those jar files can required other jar files in turns.
Examples
Manifest file of jar file a.jar:
ClassPath: b.jar, c.jar
Main-Class: com.mysite.app.MyMin
Manifest file of jar file b.jar:
ClassPath: natlib-win.jar
Manifest file of jar file c.jar:
ClassPath: rsc.jar, rsc-fr.jar
OMG D & C description
TODO
JLNP Applications
Application description
On the other hand, the application can be described by a JNLP descriptor (JSR56).
The JNLP deployer (otherwise named JNLP client) deploys the application
according the descriptor and ignores all manifest entries
in a JAR file specified with the jar element, except in some cases (cf JNLP spec 1.0.1 4.3.1).
Example
Draw!
My Web Company
Arg1
Arg2
OMG D & C description
TODO
Linux applications
Application description
TODO
Examples
TODO
OMG D & C description
TODO
OSGi dynamic applications
Application description
TODO
Examples
Manifest file of bundle main.jar:
Import-Package: a, b
Import-Service: a.A, b.B
Manifest file of bundle a-1.0.0.jar:
Import-Package: a; specification-version=1.0.0
Manifest file of bundle a-2.0.0.jar:
Import-Package: a; specification-version=2.0.0
Manifest file of bundle as.jar:
Import-Package: a ; specification-version=1.5.0, n
Export-Service: a.A
Manifest file of bundle as.jar:
Import-Package: a ; specification-version=1.5.0, n, inexisting
Export-Service: a.A
Manifest file of bundle bs.jar:
Import-Package: b, n
Export-Service: b.B
Manifest file of jar file nw.jar:
Export-Package: n
Bundle-NativeCode: natlib-win.jar
Manifest file of jar file nl.jar:
Export-Package: n
Bundle-NativeCode: natlib-linux.jar
OMG D & C description
TODO
References
JAVA NETWORK LAUNCHING PROTOCOL & API SPECIFICATION (JSR-56), VERSION 1.0.1