Java Reference
In-Depth Information
invoke operations in the run-time process, and other cases which require
the run-time process to invoke operations in the AMS. For example, when
a Push connection is dynamically registered, the Java connection object
will be managed by the MIDlet in the Java ME run-time environment and
the native connection will live in the AMS process. The Java ME run-time
environment will instruct the AMS to carry out the operation of opening
the connection. For that purpose, and others, there are inter-process com-
munications (IPC) mechanisms to allow each process to invoke remote
operations on the other process.
The MIDP/CLDC run-time environment in Symbian OS is built from
two major components: a replaceable VM that can come from different
VM vendors (e.g., Sun and IBM) and a proprietary Symbian-developed
Profile (e.g., MIDP 2.0) including the various JSR implementations. This
separation is done to get the benefit of existing implementation reuse
where possible.
There are two main insulation layers in the MIDP/CLDC run-time
environment (see Figure 10.4). The first is the porting layer that every
VM would have, which lets it receive basic services from the underlying
operating system. The second is a layer which insulates between the
MIDP layer and the VM. We will talk more about this separation and
insulation layer in Section 10.4.
MIDP/CLDC EXE
Profile
I PC
AMS EXE
Insulati on layer
VM
VM port i ng layer
DLL 1
DLL n
DLL n
DLL 1
Figure 10.4 IPC mechanisms
Let's discuss how common functionality and customizable functional-
ity are architected in the Java ME subsystem.
Due to the need for different licensees to customize various elements
of the AMS and the Java ME run-time environment, both are delivered as
a series of executable files. Such a design allows Symbian OS licensees to
implement a specific variant of the functionality by localizing changes in a
designated plug-in. The AMS and the Java ME run-time process each have
one main executable (EXE) that is built from the common functionality
code, and many smaller dynamically loaded libraries (DLLs) that are built
from the variant functionality code. To give just a few examples: the AMS
has DLLs for customization of the security module, MIDP Push modules,
and so on; the MIDP run-time process has separate DLLs for customization
Search WWH ::




Custom Search