Comments
Richard Davies wrote: The UK has a good crop of technology pioneers in cloud computing - for example ElasticHosts, FlexiScale, Flexiant, OnApp - and also some strong government initiatives such as G-Cloud. We will have to see whether this kind of technical leadership converts into swift mass-market adoption or not.
Cloud Expo on Google News


2008 West
DIAMOND SPONSOR:
Data Direct
SOA, WOA and Cloud Computing: The New Frontier for Data Services
PLATINUM SPONSORS:
Red Hat
The Opening of Virtualization
GOLD SPONSORS:
Appsense
User Environment Management – The Third Layer of the Desktop
Cordys
Cloud Computing for Business Agility
EMC
CMIS: A Multi-Vendor Proposal for a Service-Based Content Management Interoperability Standard
Freedom OSS
Practical SOA” Max Yankelevich
Intel
Architecting an Enterprise Service Router (ESR) – A Cost-Effective Way to Scale SOA Across the Enterprise
Sensedia
Return on Assests: Bringing Visibility to your SOA Strategy
Symantec
Managing Hybrid Endpoint Environments
VMWare
Game-Changing Technology for Enterprise Clouds and Applications
Click For 2008 West
Event Webcasts

2008 West
PLATINUM SPONSORS:
Appcelerator
Get ‘Rich’ Quick: Rapid Prototyping for RIA with ZERO Server Code
Keynote Systems
Designing for and Managing Performance in the New Frontier of Rich Internet Applications
GOLD SPONSORS:
ICEsoft
How Can AJAX Improve Homeland Security?
Isomorphic
Beyond Widgets: What a RIA Platform Should Offer
Oracle
REAs: Rich Enterprise Applications
Click For 2008 Event Webcasts
SYS-CON.TV
Top Links You Must Click On


PowerBuilder Cover Story: Introducing Enable
A framework-level tool for creating multilingual applications

What do you do if suddenly your application has to be used in another country, or even in different areas of the same nation? English and French are spoken in Canada; Italian, French, and German are spoken in Italy; and Switzerland has four official languages.

These days, service requirements dictate that software has to speak the language of the end user, who may even be a member of one of the growing ethnic minority groups.

As a PowerBuilder developer, you can now use Enable to make your applications multilingual. This solution allows you to maintain complete control over your executable at runtime, and without any duplication of the source code. End users and technical support personnel alike may well benefit from your application's new ability to change the active language dynamically.

Enable, which tackles the technical and practical barriers to the development and maintenance of multilingual software, is a framework-level tool from Best In, an Italian PowerBuilder consultancy with extensive localization experience.

This article looks at the reasons for adopting Enable, discusses the implementation work required, and describes Enable's technical characteristics. The closing case study illustrates the practical issues that emerged when Enabling an application for a company that serves the pharmaceutical industry.

Why Enable?
Depending on the technique used, the localization of software could involve major reengineering work. The most well-known technique is to replace text strings with descriptive identifiers that alter the legibility of your code. These strings are read into memory when the user specifies the working language that, however, cannot be changed dynamically at runtime. This is because reloading the text strings would call for a refresh of all open windows, something not contemplated in the original source code.

You could avoid such issues by installing an emulator. Although the adaptation process is not easy, this approach is especially useful for users who don't have access to the application's source code, since they can rely on an overlay that intercepts calls to the operating system, searches a database for the required strings, and replaces them with the related translations. Ignoring the economic costs involved, this situation is not optimal for PowerBuilder developers since they lose control over their software at runtime.

If you have a relatively small application, you might consider using the Translation Toolkit to generate separate monolingual source code for each foreign language, although there are maintenance issues to address. In this regard, many larger business applications evolve steadily, with new releases every few months. Here, experience of the code regeneration, recompilation, and redistribution cycle indicates a sharp rise in maintenance costs, as a function of both the number of languages involved and the frequency of the updates.

Enable Tackles All of the Issues Raised Above
The Enabling process does not ask you to rewrite the original source code or affect its legibility since, as discussed later, it just involves adding a few lines of extra code to your application.

As a developer, you maintain full control over your software at all times, with Enable actually becoming part of your application framework. Although Enable allows the active language to be changed dynamically, you determine the degree of flexibility granted to the user. Dynamic change applies to all properties of all controls: windows (including those already open), reports, generated files, and communications with peripheral devices. Indeed, several languages can even be active at the same time if, for example, your end users need to invoice their clients in multiple foreign languages.

This dynamic change takes place without affecting the functioning of the application. The DataWindow and Edit buffers remain unaltered, as do the end-user's selections; everything is retained when the language is changed. The ability to rapidly switch between languages facilitates the work of your support personnel who, as mentioned before, can flip/flop between languages without interfering with the user's activities.

Last, the retention of one source code and one executable application means that new releases can be made by simply translating the new text strings and distributing the revised multilingual database. Even the addition of extra languages does not require changes to your code.

Technical Characteristics of Enable
The philosophy of Enable is to allow PowerBuilder developers to retain a single source code and a single multilingual database across several platforms. In addition to supporting client/server, distributed, and PocketBuilder platforms, Enable also works with Appeon 3 so that monolingual software can be transformed into a multilingual Web application.

Enable comprises:

  • A database manager and related databases
  • An engine to apply translated strings
  • Tools for the developer
The development environment comprises (see Figure 1):
  • Enable Author, which administers the databases
  • Enable Extractor, a parser of PowerBuilder grammar that reads the source code (libraries and *.SR* files) and writes text strings and their contexts to the temporary file
There are two databases: the multilingual database (.ENA, a structured file) and the temporary file (.ENT, a sequential file).The database manager, used both by Enable Engine and Enable Author, is responsible for reading and writing the two types of database.

The multilingual database is a small flat file, in binary Unicode format, that contains the project settings as well as the source and translated strings. This database is created and modified by Enable Author and is optimized to be read by Enable Engine, regardless of the PowerBuilder platform/version actually used. The temporary file is written by Enable Engine, running in authoring mode, and is imported into the multilingual database using Enable Author's "Temporary file analysis" function.

All current versions of PowerBuilder, from 8 to 10, are supported and Enable also works with PowerBuilder 5, 6.5, and 7 (deployed upon request).

Enable supports all languages and all character sets. The use of Unicode characters requires the PowerBuilder 10 runtime and an operating system that supports Unicode, such as Windows 2000 or Windows XP. It is possible to stay with an earlier version of PowerBuilder if, for example, end users are still using operating systems that are not compatible with PowerBuilder 10. In this case, the earlier version is compiled using PowerBuilder 10 whenever Unicode characters are required.

In addition, Enable also supports jargon, which is a variant of the official language such as English for end users (which is frequently different than that used by developers), and English for special purposes. Even the application's source code can be multilingual. This is important for the use of international libraries that have not been localized into the developer's native language, or when development is outsourced abroad.

About Lluís Martorell
Lluís Martorell is CEO of XMi, a Spanish software house based in Barcelona. He has worked with PowerBuilder since 1991.

In order to post a comment you need to be registered and logged in.

Register | Sign-in

Reader Feedback: Page 1 of 1

PowerBuilder Cover Story: Introducing Enable
What do you do if suddenly your application has to be used in another country, or even in different areas of the same nation? English and French are spoken in Canada; Italian, French, and German are spoken in Italy; and Switzerland has four official languages.

PowerBuilder Cover Story: Introducing Enable
What do you do if suddenly your application has to be used in another country, or even in different areas of the same nation? English and French are spoken in Canada; Italian, French, and German are spoken in Italy; and Switzerland has four official languages.


Your Feedback
PBDJ News Desk wrote: PowerBuilder Cover Story: Introducing Enable What do you do if suddenly your application has to be used in another country, or even in different areas of the same nation? English and French are spoken in Canada; Italian, French, and German are spoken in Italy; and Switzerland has four official languages.
PBDJ News Desk wrote: PowerBuilder Cover Story: Introducing Enable What do you do if suddenly your application has to be used in another country, or even in different areas of the same nation? English and French are spoken in Canada; Italian, French, and German are spoken in Italy; and Switzerland has four official languages.
Enterprise Open Source Magazine Latest Stories . . .
With Cloud Expo 2012 New York (10th Cloud Expo) just four months away, what better time to start introducing you in greater detail to the distinguished individuals in our incredible Speaker Faculty for the technical and strategy sessions at the conference... We have technical and st...
AMD said late Tuesday that its chief sales officer Emilio Ghilardi had left the company and that CEO and president Rory Read is going to do his job while a replacement is sought. AMD didn’t say why Ghilardi left but it’s assumed Read wants his own people. Read is relatively new to th...
During the lifespan of M3 (Monitis Monitor Manager) there has always been something lacking – timers. M3 execution procedure was outlined in this previous article. The execution mentioned in the latter was a one-time-execution, whereas server monitoring requires periodic invocati...
Red Hat is putting its bought-in Gluster scale-out NAS storage technology, acquired in October, on the Amazon cloud. It’s styled Red Hat Virtual Storage Appliance for Amazon Web Services and other clouds are supposed to follow in short order.
A new episode of the screencast series is now available at the OpenNebula YouTube Channel. This screencast demonstrates the new easily-customizable self-service portal for cloud consumers. Its aim is to offer a simplified access to shared infrastructure for non-IT end users. The scree...
C12G Labs has just announced an update release of OpenNebulaPro, the enterprise edition of the OpenNebula Toolkit. OpenNebula 3.2, released two weeks ago, brings important benefits to cloud providers with a new easily-customizable self-service portal for cloud consumers, and builders w...
Subscribe to the World's Most Powerful Newsletters
Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
Click to Add our RSS Feeds to the Service of Your Choice:
Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
Publish Your Article! Please send it to editorial(at)sys-con.com!

Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021


SYS-CON Featured Whitepapers
ADS BY GOOGLE