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.
- Development tools
Many IDEs (Integrated Development Environments) such as IBM® Rational® Software
Development Platform 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 life cycle of bundles.
Depending on implementation the bundles can be downloaded on demand, and updated
automatically when a new version is available. IBM Rational Software Development Platform
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.