The Application Interworking framework consists of three parts: consumer applications, service providers and the Service Handler component.
An AIW consumer application is an application interested in using AIW services. A service provider module produces AIW services. Service providers are implemented as ECom plug-ins. Service Handler library is a middleware between the consumers and the providers. Its purpose is to hide the complexity of using dynamically loaded service modules and to make it as easy as possible for consumer applications to use services, and for provider modules to produce them. The structure of the AIW framework is shown in Figure 1:
Figure 1: AIW framework structure
An example use case of AIW framework could be as follows:
A consumer application has location information (e.g. as landmarks), and it would like to offer the user a possibility to show the selected landmark(s) on a map, in case that the S60 device in question is capable of providing such services.
In this example, the consumer application creates a Service Handler instance and informs it that the consumer application is interested in finding out whether there are services for showing landmarks. Service Handler module asks ECom framework if there are such AIW modules available. If such modules are found, the consumer application informs Service Handler that it would like to attach those services to a certain part of its options menu. The provider modules add their menu items directly to the consumer application’s menu. AIW framework hides consumers and providers from each other, so the provider module knows nothing about the consumer application’s UI. Nor does the provider module know which application it is serving.