Application Architecture Overview

APPARC provides access to a cached list of applications, and their properties, on the device. APPARC also provides a mechanism for launching applications and switching between tasks.

Purpose

The main purpose of APPARC is to

  • manage and register applications with the device

  • scan the device for installed applications and associate data types to the applications based on the information in the registration file

  • load applications and manage the creation and destruction of application objects and document objects

  • support the registration of non-native applications

  • define a Server Application Framework, which allows applications to communicate through the client-server architecture

  • support multiple service types over the client-server link and establish a client-server connection to an already running server application

  • monitor the lifetime of the server application

  • define the basic polymorphic interfaces that applications must conform to, such as, CApaApplication and CApaDocument

  • provide a list of available control panel applications present on the device.

Key concepts and terms

Server Application Framework

The Server Application Framework provides generic service support over a client-server link, on which real services can be created. A service typically provides a client-side interface that clients can use directly, and a server-side interface that server applications have to implement.

Architecture

The following diagram shows the interaction of APPARC with other components.

The following list describes the interaction between APPARC and each of the components depicted in the APPARC architectural diagram:

  • APPARC provides the basic behavior for GUI-based applications. APPARC also provides basic behavior for documents in a document-view based application. Uikon builds on the basic behavior that APPARC provides for GUI applications. PIM application components (Contacts and Calendar) derive the basic behavior for GUI-based applications from APPARC.

  • APPARC maintains a list of installed applications on the device. APPARC supports rule-based application launching which is implemented as ECOM plug-ins. These plug-ins define rules that enable APPARC to either deny or accept the application launch requests.

  • Software Install (SWI) allows installing, uninstalling and upgrading of native software on the device. When an application needs to be installed, SWI uses APPARC for launching applications if run-on-install or run-on-uninstall is specified.

  • When an application is launched APPARC interacts with the GDI and BIT GDI components to associate the application with the appropriate application icon, caption and display screen.

API summary

API

Description

CApaApplication

A class that defines the basic twin roles of an application class:

  • as a factory that creates concrete document objects

  • as a supplier of utility functions not specific to any particular instance of a document.

CApaCommandLine

A class that provides information for launching an application. This class is often referred to as a command line and it contains

  • the name of the application EXE to be launched

  • the document name

  • a command code that defines the way an application is launched (the structure of this depends on the application to be launched).

CApaDocument

The base class for all documents. A document contains the data associated with the content of the application.

RApaLsSession

A session with the APPARC server providing access to a cached list of applications on the device.

Typical uses

Developing a GUI-based application

A GUI-based application can be developed using the CApaApplication and CApaDocument interfaces. For more information, see A Minimal UI Application.

Related concepts