The Micro Environment Toolkit for WebSphere Studio provides a set of tools and a runtime environment to facilitate the building, testing, and deployment of server managed client software to devices that run the IBM Workplace Client Technology, Micro Edition platform. The key components of the toolkit and the prerequisites are shown in the following picture:

IBM Workplace Client Technology, Micro Edition (WCTME) provides support for a wide range of devices. For small devices, such as limited Java phones and Java multimedia phones, the WebSphere Everyplace Micro Environment (WEME) component of WCTME delivers a Java Powered runtime configured to support the J2ME CLDC/MIDP 2.0 specifications. The Micro Environment Toolkit provides the following installable features (described in detail in the Installable features section of this page) to enable MIDlets to access enterprise services and data:
For larger devices, such as smart phones, PDAs, communicators, tablet PCs and laptop computers, WCTME provides the Extension Services for WebSphere Everyplace platform, which enables you to create robust enterprise applications. Extension Services can run on a variety of runtime configurations, depending on the characteristics of the device. To run applications on Extension Services with a minimum of device resources, WCTME delivers the WebSphere Everyplace Custom Environment (WECE) configured for the OSGi Minimum Execution Environment (MEE). To provide applications with a richer user experience on Extension Services, WCTME also delivers WEME configured to support the J2ME CDC/ Foundation or Personal Profile specifications. To provide a desktop-like user experience, Extension Services can also run on J2SE. The Micro Environment Toolkit provides the following installable features to develop applications for Extension Services (described in detail in the Installable features section of this page):
All features are installable from the Micro Environment Toolkit update site available through the software update feature of WebSphere Studio Device Developer (WSDD) version 5.7.
Installable features of Micro Environment Toolkit
Enterprise MIDP Tools
The Enterprise MIDP Tools help you to create applications for devices that use the Mobile Information Device Profile (MIDP) 2.0. You can use the Application Creation Wizard to make a skeleton application. You can study the provided application examples to see how to use the vObject Utility Classes in your applications.
Web Services for MIDP
Web Services for MIDP enables you to develop MIDP applications that consume Web Services. The implementation is based on the Web Services for J2ME specifications (JSR 172) and provides support for document literal encoded streams exchanging well-typed data objects.
Service Management Framework Bundle Development Kit
The Service Management Framework (SMF) Bundle Development Kit is a set of Eclipse features that runs within WebSphere Studio Device Developer, providing a developer-friendly environment that allows rapid creation, testing, and deployment of applications and services. The kit includes the following features:
SMF Runtime
The SMF Runtime feature is an implementation of the OSGi Specification Release 3, which defines a software management framework for network-delivered applications called bundles. (OSGi Alliance website link provided in the right-column, under Industry Standards.) The runtime can be managed by the SMF Bundle Server, communicating with the server to request and receive updates. The runtime can be launched and controlled from the SMF Bundle Developer Tools or from the command line.
SMF provides a Web Container that allows application developers to create new web applications, or potentially reuse existing web applications, to run on a range of devices from PDAs to laptops. Application developers can make use of familiar Servlet 2.3 and Java Server Pages (JSP) 1.2 technologies to construct web applications. The web applications can contain all of the user interface and business logic necessary for the application or exploit the OSGi environment to provide componentized model-view-controller components.
In addition to providing a set of services defined by the OSGi specification, SMF also provides two XML parsers: MicroXML, a small non-validating parser, and XML4J, a full-featured validating parser.
SMF Bundle Server
The SMF Bundle Server feature manages the storage and deployment of bundles in a heterogeneous network of devices. The server has the ability to assess the capabilities, capacity, and running state of a runtime client and can send the appropriate prerequisite bundles to a target device when requested. The server provided is for development use only.
SMF Bundle Developer Tools
The SMF Bundle Developer Tools consist of an integrated development environment (IDE) for developing, testing, and deploying OSGi bundles. The tools include an SMF Perspective that provides an interactive view of the current state of the SMF Bundle Server and SMF Runtime. This SMF Perspective also includes command and control functions for starting, stopping, and changing the contents of the Bundle Server and Runtime from the IDE. It also provides helpers in the form of Wizards, Views, and Editors to ease the process of creating bundles.
Installation note: The SMF Bundle Development Kit is installable from the Extension Services for WebSphere Everyplace category of the Micro Environment Toolkit update site.
Extension Services
The Extension Services feature enables you to develop applications for a wide range of platforms and devices. It extends the capabilities provided by the SMF Bundle Development Kit to provide additional enterprise capabilities.
Platform management
The Extension Services feature provides an Open Mobile Alliance (OMA) SyncML/DM based OSGi Agent that interacts with the Device Management Server provided in multiple IBM products, such as WebSphere Everyplace Device Manager (WEDM). By deploying the agent built into the platform, the agent can check for jobs to execute, such as inventory control, configuration, software distribution, and others. The agent provides the base capabilities, but it also provides service interfaces that permit application developers to interact with the agent to initiate jobs. (Open Mobile Alliance website link provided in the right-column, under Industry Standards.)
Data
The Extension Services feature provides two relational databases that run on devices and are accessible via JDBC interfaces:
- DB2 Everyplace is an extremely small footprint relational database. It is especially suitable for embedded devices, where large databases and sophisticated queries are not normally required, but it can also be used on larger devices. DB2 Everyplace provides transaction support covering updates to multiple tables within a single transaction, encrypted tables, and zero client administration. See the DB2 Everyplace product site for further information.
- DB2 Cloudscape is a 100% pure Java relational database, providing SQL-92, partial SQL-99, and SQLJ support, indexes, triggers, transactions, encryption, and the standard features that one expects of a relational database. Since DB2 Cloudscape contains a larger number of features, it may not be suitable for the smaller, resource-constrained devices. See the DB2 Cloudscape product site for further information.
DB2 Everyplace and DB2 Cloudscape can be used as a local database on devices and to synchronize relational data between local databases and remote databases.
The Extension Services feature also includes an implementation of the OMA SyncML/DM and /DS protocols as part of the SyncML4J bundle. This library provides the core SyncML protocol, allowing application developers to create sync adapters on both local and remote nodes to synchronize data objects between them.
Messaging
Extension Services provides support for the Java Message Service (JMS). MQ Everyplace is the messaging provider for JMS and includes support for point-to-point messaging. MQ Everyplace is suitable for small devices and can provide the assured, once-only delivery capabilities consistent with the WebSphere MQ family. MQ Everyplace provides transaction quality messaging through features such as synchronous and asynchronous messaging, authentication, encryption, non-repudiation, compression, once-only assured delivery, and more. MQ Everyplace can also be used effectively in a disconnected environment, setting up a local queue manager to contain messages until a connection to the server infrastructure is available. See the MQ Everyplace product site for further information.
WebSphere MQ Telemetry Transport provides for publish and subscribe messaging capabilities in an extremely tiny footprint. This technology was designed for usage in the extreme embedded space of sensors, actuators, and controllers but can be used anywhere. It operates in a fully connected environment and is useful for sending data updates from a sensor to a controller, or distributing commands to various actuators.
Web Services provides an alternative request-response messaging in a fully connected environment. The web services implementation provides for both client connectivity to server-hosted web services and the hosting of local web services. The implementation is based on the Web Services for J2ME specifications (JSR 172) and provides support for document literal encoded streams exchanging well-typed data objects. In addition, the Web Services implementation provides a web services hosting environment. Application developers can develop OSGi services and, during registration of the service, indicate that it should also be available as a web service.
Graphical User Interface
Extension Services provides a beta implementation of the Embedded Standard Widget Toolkit (SWT) technology. Embedded SWT provides a subset of the SWT technology provided by eclipse.org. Application developers can use the embedded SWT technology to construct client GUIs using familiar widgets such as buttons, text fields, lists, and more. (Eclipse website link provided in the right-column, under Industry Standards.)
Application Tools for Extension Services
The Application Tools for Extension Services provide tooling that enables you to develop, test, and deploy Web applications for pervasive devices with the Extension Services platform. In the standard Web application model, applications run on a Web server and clients access these applications using Hyper Text Transfer Protocol (HTTP) through a browser. The standard model works well when the client and server are connected through a stable Internet connection. However, this model does not address scenarios in which the client is disconnected or sporadically connected to the Internet, such as mobile workforce applications. The Application Tools for Extension Services feature enables you to build Web applications that run on Extension Services and, therefore, can run when a client is connected, disconnected or occasionally connected to the network. These tools support Web applications that use the Servlet 2.3 and Java Server Pages (JSP) 1.2 specifications with a few differences. A command line tool is provided to convert a WAR to a Web Application Bundle (WAB), and plug-ins are provided that extend the Web tooling support in WebSphere Studio Site or Application Developer to produce Web applications that run on Extension Services.