BBj Sparks GUI Hotel Solutions
By Elizabeth Barnett

Bj® was the trigger, says Enrique Weber, Chief Technology Officer at Java Technologies de Mexico, S.A. de C.V. Speaking about the decision to update the company's hospitality package with a graphical interface, he adds, "When we saw what we would be able to do in BBj, we knew we needed GUI."

Eight months and more than 2,500 programs later, Mexican application developer Java Technologies is marketing its new GUI application, Hotel Solutions.

Hotel Solutions comprises three modules: the front office, which is essentially the operations module including programs to handle reservations, cashier functions, housekeeping and reception; the back office, which is the administrative and accounting module; and a point-of-sale module, which can handle guest charges from the bars and restaurants. Hotel Solutions can also be interfaced with call accounting systems for telephone calls, Pay-Per-View, Room Status, Time & Attendance and other services systems.

The market for Hotel Solutions is broad, Enrique says. The modules are scalable to accommodate the business processing needs of small hotels that may have only one PC with a modem for Internet access, to mid-sized hotels with local area networks, to large chain hotels with facilities across Mexico and in other countries.

The application was originally written in character, part in PRO/5® and part in TAOS: The Developer's Workbench® software. Because forms in TAOS define applications' screens and data dictionaries, Java Technologies had a head start on the migration. In addition to already having standardized screens for the migration, data was already normalized in order to implement Open Database Connectivity (ODBC) functionality in the GUI version.

The 10-person GUI migration team began with the reservations and front office programs because those looked to be the most difficult, Enrique explains. "We kept the same philosophy as in the character application," he adds. The team retained three fundamental characteristics of the original application:

  1. Screen logic and definitions
  2. TAOS input subsystem logic
  3. Business rules

In the old character version, Java Technologies kept all screen information, such as the fields, field lengths, position on the screen, Boolean values, pre-process and post-process, in one file. That file was then read during run time.

In the new GUI version, the process is essentially the same: the application reads .brc files with the information generated by GUIBuilder®, treating each screen as an object. All the values recovered by the application are used to create the program logic and pass that information to the main process where Java Technologies kept the business rules.

Web Enabled Through Sockets
But Hotel Solutions is more than just GUI now. It is an Internet-enabled application. All transactions are processed using socket connections. Java Technologies has a proxy server "dispatcher" set up to listen for requests from a client and forward them to the system server. Every single Input/Output command is translated internally to process the I/O tasks.

"The hardest part," Enrique says, "was to make the application Internet-aware." That involved creating the proxy server and writing the socket routines to allow the server to respond to the client. A local server acts as a backup in case the Internet connection is lost in the middle of data transmission. "We created a 'store and forward' approach to help our customers in case of contingencies," Enrique says.

The "store and forward" approach is simple: locally, the hotel must have a LAN with a small PC acting as a server for Visual PRO/5® licensing and backups. The Hotel Solutions application detects when connection to the Internet is lost, sends messages to the users and starts keeping all the main transactions in a log file.

Figure 1. The Hotel Solutions system uses socket connections to simultaneously store data on the local hotel system server and on Java Technologies' system server. (Click on graphic to enlarge.)

Critical transactions are written to both servers, the Internet server and the local server, so the hotel can keep running the system for the most important operations, such as check-ins, check-outs, room assignments and point-of-sale transactions. Once communication with the Internet server is reestablished, the local server sends the transactions stored in the log file to the Internet server and the database is updated.

Figure 2. If Internet connection is temporarily lost, the local system continues to process critical transactions and stores the data in an interim log file on the local server. (Click on graphic to enlarge.)

Figure 3. When Internet connection is reestablished, the local server sends the transactions stored in the interim log file to the Java Technologies server and the main database is updated. (Click on graphic to enlarge.)

Java Technologies also partnered with BASIS Development Partner SCS Consulting, a Florida-based firm specializing in GUI migrations, to test the application. Connecting from Mexico City to remote workstations in Santo Domingo, Dominican Republic, Java Technologies and SCS were able to work out bugs before release.

Once Hotel Solutions wins a reasonable market share, Enrique looks forward to running the package on BBj. "Mostly, we would use the BBj Thin Client," he says. "We want to use a browser and Java." Although functionally, the socket system provides everything the application needs to work through the Internet, BBj would make installation and cross-platform deployment much easier. Enrique also looks forward to adding functionality to the package using Java applets.

Casting A Market Net
Java Technologies is setting itself up as an application service provider (ASP) and marketing the Hotel Solutions application to large hotel associations. Working through large associations, Java Technologies hopes to amass broader interest in the application than the company can by going "door to door, hotel to hotel," Enrique says. The company has also planned participation in road shows around Mexico hosted by Caldera/SCO, Compaq and Prodigy. Enrique estimates the potential market through various associations in Mexico to be about 11,000 hotels. Associations located in the larger resort cities, such as Acapulco, Cancun and Puerto Vallarta, are on the list of high-priority prospects.

The company also plans to market the application internationally. Chile, Colombia, Venezuela and Costa Rica as well as Spain are the top prospects on the international list. All these countries boast well-organized and active hotel associations.

Challenges: Infrastructure & Ignorance
Java Technologies faces some market challenges, however, with the Web-enabled Hotel Solutions. One is the high cost of Internet access in the recently deregulated Mexican telecommunications industry. Currently, Enrique pays about $1,300 (U.S.) a month for his 128K connection. Teléfonos de México (TelMex) used to be a monopoly and this kept prices high. Now with other telecom providers competing for market share, the cost of Internet connection, broadband access and other technologies should be dropping. Adoption of Internet-deployed applications will be slow until prices drop, Enrique says, but it will happen, beginning in the larger cities.

Another challenge is that ASPs are virtually unheard of in Mexico. The business model of paying a fixed monthly or usage-based fee to rent software has not yet become widespread.

But the IT industry in Mexico is growing up, Enrique says. "And we are getting some of the big players with Prodigy, Terra, Oracle, J.D. Edwards, PeopleSoft and others." Enrique is hopeful that with the influx of well-known IT companies, some of which are also beginning to market and implement ASP solutions, more and more Mexican businesses will warm to the ASP model. "In the ASP market, we have no competition," he adds.

Additionally, Mexican telecommunications companies, like telecom companies in the United States, are eager to move into the more lucrative areas of selling other types of information technologies, providing not only telephony, but private branch exchange (PBX) networks, computer hardware and peripherals, Internet services and application hosting. Java Technologies plans to capitalize on this interest and has scheduled meetings with several Mexican telecom giants to discuss possibilities. "TelMex, Telefónica Española and Alestra (AT&T) are very interested in the prospect," Enrique says.