Deployment to devices

Following is a list of some of the techniques and tools that can be used to deploy applications to devices. The list is by no means complete and does not go into any detail but is intended to provide an introduction to some of the ways a Java application can be deployed.

Device specific tools

Most devices ship with tools that allow applications to be copied across and installed. For instance:

  • ActiveSync for PocketPC
  • Hotsync for Palm

Development tools

Many IDEs (Integrated Development Environments) such as IBM WSDD (WebSphere Studio Device Developer) provide tools that allow deployment of applications onto a device and debugging of the application from the development environment.

OSGi related management

OSGi or Open Services Gateway Initiative defines define a platform for the packaging of and dynamic delivery of Java software services to networked devices. This is achieved via a consistent, component-based, architecture for the development and delivery of Java software components known as bundles and services. Both MQe components and applications can be turned into OSGi bundles and services for use in an OSGi environment. The bundles are delivered from a bundle server. There are several products that provide bundle servers together with the client code to handle the installation and lifecycle of bundles. Depending on implementation the bundles can be downloaded on demand, and updated automatically when a new version is available. IBM WSDD (WebSphere Studio Device Developer) ships with SMF (Service Management Framework), which assists in the creation and testing of bundles together with a bundle server.

See more at Open Services Gateway initiative (OSGi).

JNLP

JNLP or Java Network Launching Protocol and API, is an emerging standard, for use in packaging and deploying Java applications. It is designed to automate the deployment, via the web, for applications written to the J2SE platform.

Device management products

There are several products on the market that can be used for large-scale deployment of software. One example is Tivoli® Configuration Manager from IBM.

Parent topic: Java deployment