Corporate information on handheld devices is becoming more necessary than ever. Learn about the opportunities and challenges in developing Web services applications on mobile devices.
According to industry reports, existing host systems still hold 70 percent of mission-critical data and most of the pivotal business logic that runs worldwide commerce, and will continue to be a foundation for success for most organizations. An organization's ability to leverage these legacy systems in combination with newer applications for improved speed and power, therefore, will increasingly become a critical success factor in designing and implementing new business initiatives.
In building mobile applications for the enterprise, integration and the corresponding challenges are as central to its design as pure application development. Because mobile applications are created simply to enable a mobile workforce to continuously access corporate business processes and information in real time, they are very rarely standalone applications in their own right. Rather, they apply the existing business logic of these host applications (to ensure data integrity, security, and so forth) as an extension and not re-create this logic in new systems.
To provide a complete view of a data set to the user, many mobile enterprise applications must access multiple existing business systems. For example, to supply the sales team with a complete profile of the customer, the mobile application may need to connect to the corporate SAP system for sales information, the Siebel system for customer care issues and a mainframe for customer records. To design mobile enterprise solutions that execute such information access and integration efficiently, the developer must consider realistically the resource limitations (limited real estate, data bandwidth, and so on) and create the applications to only provide the specific data required for the task and not try to be general purpose.
Mobile integration follows the same guiding principles and tenets as do any other integration issues: service-oriented architecture (SOA) for integration and XML and Web services for the delivery of integration. With the implementation of XML and Web services, SOA can decouple the end devices and their operating environments from the integration of mobile services with corporate applications.
Industry experts today agree that the adoption of mobile middleware best deliver corporate business processes and applications to mobile devices, by enabling the combination of off-the-shelf integrated application adapters with process management capabilities to define and coordinate transactions across multiple back-end corporate applications.
Mobile Computing: Background and Key Findings
The sales of laptop, notebook, and tablet type devices have grown tremendously over the last few years as these devices have become essential tools for many different types of mobile workers, from sales people to service technicians, who need to access and enter data electronically. In recent years, the market for small handheld computers such as Personal Digital Assistants (PDAs) has been evolving even more rapidly than the market for conventional PCs and laptops, and trends are pointing toward exploiting mobile technology even more.
With this rapidly increasing popularity, these modern devices are often fully equipped with extensive capabilities. Most of these devices come with more than one wireless data communications options including Bluetooth, Wi-Fi, General Packet Radio Service (GPRS) and other 3G network technologies such as EDGE. They also provide Browser capabilities, most of them beyond simple Wireless Application Protocol (WAP) to support standard HTML-based Web sites. These mobile devices allow new opportunities to develop solutions beyond mobile e-mail with development frameworks, such as Linux, J2ME, and the Microsoft .NET Compact Framework. The virtually limitless functionality of mobile devices and the availability of literally thousands of Wi-Fi hotspots can lead to the reality of delivering the mobile infrastructure needed by the enterprise, much further beyond just mobile e-mail.
Mobile Internet pioneers have learned some important lessons:
- Discretionary selection of applications that best cater to the needs of the mobile worker and match the screen space and speed constraints of today's mobile devices is crucial in creating a mobile enterprise infrastructure. This may include a combination of applications that provide on-the-spot order entry, sales force automation, customer lookups, and equipment service.
- Mobile Internet technology is evolving very rapidly. Handsets, network speeds, interoperability standards, and protocols are all becoming developed at an increasing rate as mobile phone manufacturers, network infrastructure players, and mobile network providers are investing massive amounts of resources into creating the next-generation networks.
- Mobile network technology is not geographically bound, GSM-specific ,or tied to any transport network or technology but blankets over local differences and enable worldwide deployment of mobile applications.
In the current reality, corporate applications cannot inherently support access from all devices and will not be able to do so for some time. However, the concept of multi-channel and multi-modal applications has evolved to create application middleware solutions that allow both legacy custom-developed applications and contemporary packaged applications to be accessed from handheld devices from a multiplicity of vendors. Obviously, any mobile middleware solution should have built-in support for as many enterprise applications, old and new, as possible.
WAP-Enabling Corporate Information
A mobile phone with a specialized piece of software called a WAP browser (also called a micro-browser) used to be considered "Internet capable." Although the capabilities of the phone and its form factor have changed significantly in the past years, many cellular providers still rely on the WAP browser to offer Internet services.
The Wireless Application Protocol (WAP) is a suite of standard protocols that interact to display data on a mobile phone screen, and consists of two major parts:
- The transport protocols define the transmission of the information into the phone, managing the over-the-air links, error detection and recovery, and session management.
- The presentation protocols dictate the human/machine interface—how information is displayed usefully on the small screen of a mobile phone and how the phone keypad is used to enter information and interact with applications.
The WAP browser accepts a "card deck" in which each card can be thought of as a tiny Web page. However, instead of HTML (the language used to describe Web pages on the Internet), another language called WML (Wireless Markup Language) is used to describe the layout and behavior of each card in the deck. Users navigate through a WAP application by selecting from a menu of choices, and often the entire card deck that is downloaded into the phone and contains an entire menu structure, all limited to the local structure of the mobile phone and not communicating over the wireless link.
Although it is called a browser and it can be useful to think of a WAP card as a "minimalist Web page," the screen and keypad of a mobile phone present very different challenges for the application designer than do the rich output and input capabilities of a modern Web browser. And existing Web sites—with their frames and graphical navigation aids—cannot be translated easily into the menu-oriented approach of the WAP browser.
At first glance, the easiest way to get corporate information deployed to mobile users is just to take existing application screens or Web pages and push them out to the WAP browser. In fact, mobile server products often offer the ability to do "on the fly" publishing—take existing text files or Web pages and boil down the text to appear on one or more WAP screens. The conversion process is mechanical and many Web pages with frames and complicated formatting do not easily translate to WAP applications. The results can range from passable to comical to awful, but almost certainly do not make the best use of the capabilities of the mobile browser.
At the other end of the simplicity spectrum, well-designed and highly efficient WAP applications that replicate corporate applications can be custom built. This people-intensive process is expensive and the ongoing cost to maintain both the standard and WAP (and possibly HTML) versions of the application is high.
The Old WAP vs. the New Web
Mobile technology has progressed to the next set of mobile devices with much more extended capabilities than a simple micro-browser. With various types of underlying technology (Palm, Microsoft Windows Mobile, Symbian, or Java), the display capabilities are greatly enhanced from the simple monochrome WAP micro-browser with small text-only screens. Additionally, user interaction now ranges from touch screens to thumb-operated keypads, with fully capable Web browsing capabilities and support for many of the standards found on a desktop or laptop browser, such as Internet Explorer, Mozilla Firefox, or Opera.
The underlying structure of Web-based support on mobile devices is very similar to that of a desktop or a laptop computer. Web-based support relies on the same standards as does the Internet:
- IP, the underlying communications technology
- the Internet, the underlying network
The end-user application is a Web browser that can produce very complex, graphical, and highly interactive interfaces from data delivered in HTML and XML or their mobile equivalents, therefore bringing the mobile corporate enterprise one step closer to reality through the mobile Web. However, these mobile browsers still do not provide the full functionality of a desktop Web browser; this presents some limitations on the full Web experience.
To make such mobile extensions of corporate applications, it is crucial to have products that provide a comprehensive development and deployment platform and also support the creation of new corporate applications and transactions that can be Web-enabled for PDAs and Smartphones. These products also should enable the extraction and re-presentation of transactions from a corporate application to create and deliver real-time mobile enterprise applications.
The Next Step: Mobile Applications
The expansion of mobile devices and their built-in capabilities, particularly toward programmable operating systems, has led to the growth of the possible range of new applications to be built and added to them. Windows Mobile devices provide full support for the Microsoft programming environment; the Compact .NET Framework is implemented on PDAs, Phone Edition PDAs, and Smartphones. Support for J2ME on Palm devices and many phones based on the Symbian operating system (such as Nokia and Sony-Ericsson) allow Java programs to be written for and run on even generic cell phones. These applications can be delivered and installed to the mobile device automatically and wirelessly through a capability called Over-The-Air provisioning (OTA).
With these new, diverse options for developing applications, organizations have new opportunities for corporate use of mobile devices and integration with corporate applications. With Microsoft .NET Compact Framework (.NET CF), it is possible to develop applications to run on the mobile device thats interact seamlessly with corporate assets over GPRS or Wi-Fi networks. For example, a GPRS wireless PDA application can be built to interact with a mobile middleware solution, which in turn interacts with the mainframe legacy system or contemporary systems such as SAP.
Let's look at an example: A mobile application on a wireless PDA would allow a salesperson on the road to access customer contact information. Through an application that runs locally on the PDA, this salesperson can tap the PDA's touch-sensitive screen and enter the name of the customer or the company to retrieve contact details. This would trigger the application running on the PDA to communicate with a mobile middleware server through the GPRS network, which then would wirelessly connect to an IBM iSeries system that runs the customer database. Then, in a reverse path, information from the iSeries system would be gathered and passed back completely transparently by the middleware server to the PDA application, seeming to the salesperson as though the whole process has run locally on the PDA—the salesperson has simply tapped the screen to access the needed information. The key standard delivering this transparency for future mobile applications will be Web services.
Looking Ahead: Mobile Web Services
Web services, lying within the broader world of SOA, will be the driver for the new mobile economy. The underlying principles of SOA are not new; existing client-server systems, such as DCE, CORBA and DCOM, have delivered distributed applications for quite some time. Unlike these client-server systems however, SOA allows information providers to be developed entirely independently from information consumers through intercommunications standards that are manifested through Web services. The information providers—legacy IBM mainframe applications, the more modern contemporary applications like SAP, or a combination thereof—that span various platforms will remain the core drivers of business in the enterprise. As an integration layer is needed between the "old" applications and the "new" Internet-enabled mobile economy for standardized information integration, the challenge then becomes Web-enabling or mobile-enabling existing corporate assets to transform the transactions lying in the disparate systems into services that can be consumed by other applications and systems.
The information consumers in the mobile economy are the mobile devices. These mobile devices are no longer simple gadgets for presenting static information such as WAP card decks or Web pages, but they are fully programmable interactive systems with applications built for them by conventional development environments for desktop and laptop computers like Microsoft Visual Studio. In today's world, applications for mobile devices can consume Web services and work easily with any corporate systems.
Moving Into the Future: Mobile Middleware Platforms
Selecting a mobile middleware platform that provides real-time access to backend business systems and the tools for transforming specific business functions from those systems into Web services is critical in building enterprise mobile solutions. This platform must offer a wide array of business systems connectors out of the box and connect to legacy systems because this is a core business platform for most large organizations. Accomplishing this with the limitations of the screen size and reduced bandwidth on mobile devices requires the mobile solutions to choose and only expose the functions of backend business systems critical to the application's use.
Many of the current mobile middleware solutions available today have roots in database synchronization with infrastructures based around this technology; however, unstructured data (the majority of business information) by its nature does not lend itself to a database-centric solution. As a mobile middleware platform should not require the developer to create new logic but build an extension of the existing logic, a new approach is required to deliver true real-time enterprise mobility.
Mobile technology opens excellent competitive opportunities for companies by enabling crucial corporate information to travel with employees, partners, and customers wherever they go. The "go anywhere" coverage of mobile networks and the exponential growth of Internet-enabled mobile phones and PDAs make the mobile enterprise a viable and cost-effective proposition.
Web services are the lingua franca for the mobile enterprise; they are also the common denominator among business systems, the Java world, and the .NET world. The more a company's application assets are Web-enabled and the business processes are presented as Web services (or perhaps more accurately as business services), the more those company assets can be utilized to easily deliver high-value mobile solutions.
About the Author
Roy Mitchell is a senior product manager at NetManage (www.netmanage.com) a software company that provides solutions for accessing, Web enabling, and integrating enterprise information systems. Mitchell has more than 10 years of product management experience in enterprise software solutions.
This article was first published on PDAStreet.com.