To gain competitive advantage, Global Mobility Systems had to speed its products to market. As the company discovered, this hinged partly on choosing the right Java platform. That is not an easy task because platforms can appear similar - until developers start using them. Global Mobility eventually selected a pure Java platform that readily placed Java's full dynamic power into developers' hands, with remarkable results.
Mike Pirie, Global Mobility's VP of product development, targeted Java early on as the language of choice for its new product development - a vehicle to deliver applications to cellular phone companies (i.e., wireless carriers). This vehicle had to manage large numbers of object-oriented components remotely across heterogeneous IT environments - a hallmark of distributed enterprise solutions.
Setting the Stage
In several industries rapid development bestows a potent advantage on nimble competitors. As a new study by International Data Corporation (IDC) indicates, Java gives development teams that edge. According to IDC, pure Java projects requiring deployment on multiple platforms yield 25% average savings compared with using a conventional OO language.
The project described in this article proves IDC's point and goes further. Global Mobility leveraged Java's power and, by choosing the right Java platform, shortened development by three months - a 30% savings on the company's anticipated 10-month time to market.
With this achievement Global Mobility is differentiating itself from competitors and reducing development time and costs. Choosing the right platform is also enabling the company to build products with more advanced features and lower maintenance costs - highly appealing to its potential customers.
Global Mobility's Market Challenge
The open system and applications developed by Global Mobility help wireless carriers bring advanced services to business users faster and more flexibly than by any other means. One application enables business cellular users to reach colleagues within a company, even when calling long distance, by dialing only the recipient's four- or five-digit in-house extension number. A second application lets cellular users contact their carrier's customer care center by dialing 611, even when roaming outside their home service area.
Advanced capabilities like these give carriers new ways to compete in a cutthroat market, enabling them to capture business customers and retain them on a basis that goes beyond commodity price per airtime minute.
Business customers make a large impact on carriers' profitability because they use the most advanced, high-margin wireless services. But with little differentiation among wireless carriers, the "churn rate" among commercial customers runs as high as 12% per month as these businesses shop for the best price deal. Carriers want to differentiate themselves in new ways. Service products like those from Global Mobility help them do it.
Traditionally, such products are slow to reach market. They are typically developed by large manufacturers as add-ons to proprietary telephony equipment sold to wireless carriers. Global Mobility provides carriers with service products much faster than other manufacturers do - a crucial strategic advantage both for the company and for the wireless carriers that buy its software products and services.
To realize its advantage, Global Mobility must deliver the goods in an open systems environment - unprecedented in this industry - and deliver faster than anyone else.
Global Mobility had to accelerate development of its initial applications plus a client/server vehicle for these and the company's future products. Wireless carriers use this vehicle, called Mobility Operating Environment (MOE), to integrate Global Mobility applications into their networks. At the heart of MOE lies an application manager, a unit that must perform as a distributed enterprise solution, managing remote objects across wireless carriers' disparate computing and network environments - and, in some cases, across environments owned by carriers' business customers.
Global Mobility wanted MOE to be highly portable on both the client and server sides. Furthermore, the application manager had to interact with many MOE subsystems such as protocol stacks; call processing engines; databases that store logging, tagging and provisioning information; a client-provisioning component; and a remote-alarm monitor.
The application manager also had to be able to execute on different server platforms owned by business cellular customers, part of Global Mobility's long-term deployment strategy. On the client side it had to run on Windows 95 and NT, as well as on any other box that supports a Java client, and it also had to execute on intelligent telephony devices.
That's not all. Sitting on a wireless carrier's network, MOE had to handle call processing protocols, talk to telephony switches and other components via the SS7 protocol, interact with a carrier's own TCP/IP backbone, and also reach across TCP/IP networks owned by the carrier's corporate customers in order to interact with customer databases.
All this was a tall order. Yet the technical challenge that faced Global Mobility also confronts many large IT organizations developing enterprise-scale distributed solutions for their own use.
Choosing the Right Platform
Global Mobility's development team needed robust Java facilities to interoperate with many different protocols and systems. If the company had to achieve this by modifying class descriptions using source code, it would stretch out product development. And, as Global Mobility's products evolved in a fast-changing market, it would also make it more costly and time-consuming to reuse components.
As a result, choosing the right Java platform would have a major impact on the company's ability to follow through on its business strategy. Mike Pirie took a systematic approach to the selection process.
"When you adopt a Java Platform, you are also adopting that platform's supplier as your development partner," Pirie observes. With each prospective supplier he addressed issues:
Initially Pirie explored these issues by studying brochures and Web sites, and by talking with sales reps. With this effort, Pirie pared the prospect list.
- Does the supplier and its platform have a significant track record?
- Does the supplier have a methodology certification program?
- Robust professional services?
- Education and training?
Support was also a crucial issue. Many IT organizations, both large and small, can't find enough highly experienced Java developers. In many cases teams accelerate projects by using a platform supplier's expertise to help streamline development. Pirie sought one who was able to provide experts on short notice to work with his development team in Bellevue, Washington. Pirie held frank discussions with his prospective suppliers.
Two platforms were tested in-house. One was quickly rejected because enabling remote messaging by writing stubs and modifying classes to implement IDL interfaces rivaled the manual coding required to program in C++.
The other Java platform, Voyager Professional Edition 2.0 from ObjectSpace, eliminated the need for stubs, helper classes and source code modification. "It freed our developers to focus on their mission: delivering advanced solutions as quickly as possible," Pirie says. "That's what we were looking for."
Less than seven months after Pirie's team began developing the MOE, wireless carriers were beta-testing it along with Global Mobility's initial applications. Voyager provided the Global Mobility team with a dynamic infrastructure that sped development several ways:
- Dynamic proxy generation - "Dynamic proxies kept us from having to build manual stubs for Java classes," Pirie says. With other platforms, he adds, "you have to create extensive IDL and stub classes for most of the Java JDK classes. Voyager eliminated such chores by generating interface code at runtime to enable remote object messaging. This also reduced our configuration management."
His team found that a CORBA-only ORB solution generated up to six objects (plus the associated helper classes), adding unnecessary complexity and more manual work to the solution by multiplying the number of components to be managed. Dynamic proxy generation provided in Voyager also eliminated these chores and simplified Global Mobility's solution design.
- Distributed garbage collection - "We had a major concern about the amount of manual programming imposed by Java platforms to clean up remote objects that were no longer referencing any particular resource within the network or our system," Pirie recalls. Voyager readily implements such distributed garbage collection. "To us, that reclaim capability was one of Voyager's most attractive features."
Advanced features for object communications - Global Mobility developers found it easy to implement sophisticated functionality such as multicasting, i.e., publishing the MOE alarm service to remote clients ranging from Windows 95 PCs to intelligent telephony devices. To accomplish this, Pirie's team used Space, the ObjectSpace scalable group communication medium that came bundled with Voyager Professional Edition.
For Global Mobility Systems, choosing the right Java platform shortened time to market by 30%, reduced development costs and made major positive impacts on the feature set, performance, flexibility and ease of maintenance of the company's products.
"A pure Java platform makes a lot of sense because unlike other platforms, it fulfills the promise of Java by leveraging the vast power of Java's dynamic capabilities. These enable a pure Java platform to interoperate with popular ORBs, allow dramatic reductions in manual coding, enable more advanced features in the solution and free developers to focus on their main mission - building and perfecting a solution without having to devote time and effort to building a distributed infrastructure," said David Norris, president and CEO of ObjectSpace.
As a result, Global Mobility has gained a number of strategic advantages, differentiating itself from competitors and positioning the company for future product enhancement and expansion in a fast-moving market.
About the Author
Lisa Chiranky is director of product marketing for ObjectSpace, Inc., creator of JGL, the Voyager
platform for enterprise Java solutions and C++ toolkits. For more than 20 years she has driven
marketing initiatives at high technology firms ranging from startups including Landmark Graphics
and Convex Computer Corporation to Fortune 500 companies including Hewlett-Packard and Texas
Instruments. She can be reached at