Resources | Resources |



Runtime environment

In a deployed Brew MP device, the runtime configuration is expected to consist of a single kernel process hosting the component infrastructure and privileged services. In Brew MP, applications are implemented as applet objects, which are loaded and executed in their own environments under the Brew application framework (Brew Shell), as shown in the figure below.

To perform various tasks, applications can leverage utilities or services available on the platform to access additional functionality. Most of the generic utilities or services are already exposed to Brew MP applications through platform APIs (see the Any additional services can be implemented and provided in the following ways:

  1. Provide the utility as an in-process object. For example, providers of an image decoder such as a software JPEG decoder can provide an implementation of the IImageDecoder interface that is directly instantiable in the context of the Brew MP application that needs this functionality.
  2. Provide the utility as a Brew MP service, an advertised remote object. This service is hosted in the kernel process, which has access to a hardware JPEG codec or DSP and is able to provide JPEG decoding service to any Brew MP application or any other client that has the privileges to use this service. A server resource (see the Resource File and Markup Reference included with the Brew MP SDK) describes the parameters that are passed to create the server, including, most importantly, the set of Privileges and ACLs that are granted to the server process. A service resource (see the Resource File and Markup Reference included with the Brew MP SDK) identifies which server hosts the object, which class should be used to instantiate the object in that host process, and any privileges that are required to access the service.