|
Helping ordinary people create extraordinary websites! |
A New Strategy of Language Pack Management for Wireless AppsBy Huang Chang & Tong Chun Jie2005-04-18
Design Model for an Exemplary Implementation Our implementation consists of a few bundles described as: • LPProxy: An intelligent proxy manipulates all LP bundles and provides developers with a simple-to-access interface. • LP_en_US and LP_zh_CN: Two of the LP bundles involved in this case study. In a real environment, the number of LP bundles might vary from just one to many. • LPService: Extracts all the methods that LPProxy and LP bundles provide and presents them in an abstract manner. Additionally, it contains two Java interfaces, one for LPProxy and one for LP bundles. • LPInvoker: This simple bundle is used as a simulated bundle application that delegates the LPProxy bundle to read data from language packs. Figure 3 shows the relationship between the classes in different bundles. In detail, LPProxyService and LPService belong to the LPService bundle and are implemented by LPProxy and LP bundle respectively. In addition to LPProxyImpl, an implementation of the LPProxyService interface, the LPProxy bundle contains two other classes: LPProxyFactory, which creates the instance of the LPProxyImpl, and LPProxyActivator, which registers the bundle to the Service Management Framework run time. Each LP bundle must implement the LPService, and also includes LPServiceFactory and LPServiceActivator to register the LP bundle when the bundle starts. The LPInvoker bundle has only one class, LPInvokerActivator, which renders the localization data to you as it starts or stops. Figure 3. Class diagram for bundles
Tutorial Pages: » Use the Service Management Framework to Develop Globalized Wireless Apps » Introduction » PC Versus Mobile Devices » OSGi Overview » OSGi-based LP Loading Strategy » Service Management Framework » Design Model for an Exemplary Implementation » Language Pack Bundle » LPProxy Bundle » LPInvoker Bundle » In Summary » Resources First published by IBM DeveloperWorks |
|