Enterprise Applications On the Move: Web Services on Mobile Devices
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.