Towards the standardization of globalization of applications and components using URI annotations and REST-based service-oriented architecture resource locator.
Original Publication Date: 2005-Sep-07
Included in the Prior Art Database: 2005-Sep-07
Using URI to annotate localizable elements of applications and components makes globalization more consistent with added benefit of being able to be centrally-managed.
Towards the standardization of globalization of applications and components using URI annotations and REST-based service-oriented architecture resource locator .
Disclosed is a concept of using URI to annotate all localizable elements of any target application that is to be globalized. The wide-spread use of different schemes to annotate application elements that are potentially localizable and how those resources are resolved is due to lack of a standard way to annotate the application elements with the resource that they need at runtime. Since URI is a universal web standard widely adopted, it is logical to reuse the same notational format to provide some sort of "namespace". The key concepts proposed here are:
1. Annotates uniformly all its globalization elements with an URI-based key scheme.
2. A centralized software component/layer that uses a Service-Oriented architecture (SOA) resource locator mechanism to retrieve the required resource(s) into the application.
3. A centralized SOA "locale service" serving the needs of hundreds of clients.
The above solution has several advantages over the previous solutions as follows:
1. An application element is uniquely identified by an URI; no tag/key naming scheme is needed. It is also more intuitive, rather than, say a 128-bit UUID.
2. All code and logic for resolving a localized resource is centralized.
3. Because of use of SOA, a resource may be dynamically changed at runtime since a centralized "locale resource" server can dynamically update and serve several client applications at once.
4. Improves testability of the software across multiple locales without having to install "language packs".
Example: A cool button with tool tip string "Create base ClearCase view " in an Eclipse plugin application might be annotated using the key:
This is definitely more readable and self-explainable and might, for example could be interpreted as follows:
I18N - this is a globalization annotation scheme com.ibm.rational.com -company/organization that originate this annotation clearcase -the product family ccrc - the sub product plugin - eclipse plugin version of the product toolbar - relates to toolbar basic - basic cool bar within toolbar tooltip - the tool...