Figure 10.5 SystemAMS
to check if there are any connections registered in the Push Registry. If
a preinstalled MIDlet has registered a connection, then the SystemAMS
initializes the connection and waits for an inbound notification request.
If there are no registered connections, then the AMS has no reason
to remain active and can exit gracefully. Later, if the user launches
an installed MIDlet or starts a new installation, then the Symbian OS
Recognizer or the Installer connects to the SystemAMS IPC server which
starts the SystemAMS.
In a similar way, after a running MIDlet has finished its execution, the
SystemAMS checks if it is still needed to manage any resource and if not,
it can exit gracefully.
By now you've probably noticed that the key areas of installation
and launching involve entities from outside the Java ME subsystem.
The MIDP installation process is the joint responsibility of the Sym-
bian OS Software Installer within the Symbian OS Security Component
and the SystemAMS Installer Component. SystemAMS must be involved in
the installation process which implies maintaining an IPC interface to the
Symbian OS Software Installer. The same applies to launching MIDlets,
which also implies maintaining an IPC interface to the Symbian OS
10.3 MIDP Push
As defined by the MIDP 2.0 specification, there are two types of Push
connection: static and dynamic. Static connections are specified by
a MIDlet suite upon installation in the JAD file and are created at
installation time. During suite installation by the Symbian OS MIDP
Installer, SystemAMS attempts to open the specified Push connections. If
this fails, the suite installation is rejected. Dynamic connections are set
up programmatically when the MIDlet is already running.
From the point that a Push connection is registered, both types of
connections are handled identically by SystemAMS. Upon reception of