ISO IEC 23004-8:2009 pdf download - Information technology — Multimedia Middleware — Part 8: Reference software

ISO IEC 23004-8:2009 pdf download – Information technology — Multimedia Middleware — Part 8: Reference software

ISO IEC 23004-8:2009 pdf download – Information technology — Multimedia Middleware — Part 8: Reference software
5.3.4 Using the reference software
5.3.4.1 The Service Manager interfaces
There are two interfaces are defined in the ISO standard for Service Manager.
1) rcISMClient Client can access service instance through this interface. Client only needs to know which logical component contains the functionality it requires, and it will get the service instance implements the functionality by using this interface. There are two operations in this interface, they are related to query service and get service instances. The operations are as follows: rcResult isServiceAvailable(in pUUID lcID, out Bool retValue) ; We can use this operation to check the availability of implementation for a specific logical component.
If there is service implements the logical component with UUID lcID, this operation will return true. rcResult getInstanceForLogicalComponent(in pUUID lcID, out prcIService *retValue) ;
This operation will return the service reference of the service corresponding to the required logical component. Service Manager will search in its metadata collections to find the service implements the logical components, and then get the service reference from RRE and return it.
2) rcISMControl This interface provides optional operations to manage the metadata collections. Service Manager should record all metadata files and parse the files to form a dependency relationship tree for all logical components and services. There are four operations defined in this interface, they are used to register and unregister the logical component and service metadata files.
rcResult registerLogicalComponentMetadata (in String path, out Bool retValue) ;
rcResult unregisterLogicalComponentMetadata (in pUUID lcID, out Bool retValue) ;
The two operations will add and remove the logical component metadata to the Service Manager.
rcResult registerServiceMetadata (in String path, out Bool retValue) ;
rcResult unregisterServiceMetadata (in pUUID srvID, out Bool retValue) ;
The two operations will add and remove the service metadata to the Service Manager.
All the metadata files records are stored in two files: /usr/local/metadata/components and /usr/local/metadata/services. When Service Manager is running, it will load all the recorded metadata files and parse them. The parsed logical component/service structures will be stored in memory for later query and other operations. We use the local files to store the records of metadata files because the shared library implementation in Linux can’t guarantee the singleton of Service Manager. This means there will be one instance of Service Manager and RRE for one client applications.
So we can’t keep the metadata records in memory but have to write them into a local file. This file will be shared by all instances of Service Manager.
5.3.4.2 Installation of the components and clients With Service Manager, the process of a client application can be like this:
1) If the Service Manager begins with empty service registered, there should be one application (client or middleware administrator’s application) that registers the services and logical components. This step only need run once. If you register the same metadata file multiple times, the metadata parser will ignore the duplicated ones.
2) Once the services and logical components are registered, client applications can begin to run and use Service Manager. Client applications need to know only logical component, which means it knows which logical component can provide the functionalities it needs. But to use the required functionalities, client application must inquiry Service Manager to get the service instance that provides the logical component functionalities.
3) Through Service Manager, client applications can get the service instance and begin to use the provided functionality. To install a logical component to the M3W system, we can follow the steps introduced by Roboarch to install the logical component/service/interface suite.
After installation, we should write the logical component and service metadata and register them. The example of Logical Component metadata can be as the following:
To register the logical component metadata file, we can add the file path to the “/usr/local/metadata/Components”, to register the service metadata file, we can add the file path to “/usr/local/metadata/Services”. We should make sure there are no duplicate paths in two files.

Leave a Reply

Your email address will not be published. Required fields are marked *