VARBusiness Hands On: Web Services
"You want to think Web services when you need to connect to a lot of heterogeneous systems," says Bob Sutor, IBM's director of Web services.
Mobile and wireless professional services worldwide will exceed $30 billion in 2006, growing at a compounded annual rate of 58.5 percent, according to market analyst IDC. In particular, the North, South and Central American markets are growing at 73 percent per year, and is expected to reach $13.3 billion by 2006.
"Companies are looking for ways to leverage their existing assets, and 60 percent of IT executives are making mobile a high priority," says Tom Smith, president of Countermind Ventures, a sister company of professional services firm Interlink Group, which focuses on enterprise mobile applications.
With as many as 15 percent of all developers working on mobile applications, according to Ed Kaim, product manager for Microsoft's .Net Mobile Development Platform, new development tools and extensions to established IDEs have been popping up to support mobile Web services developers. Here's a half-dozen worth knowing about.
Borland JBuilder Enterprise With MobileSet 3
JBuilder Enterprise is a top-tier IDE, with a powerful editor, compiler and debugger. Its advanced features include support for multiple JVMs and run-times, Unified Modeling Language (UML) visualization tools, tools for designing application logic (e.g, visual EJB designers), integrated unit-testing support, refactoring tools and JavaDoc tools. By itself, however, the only J2ME platform that JBuilder supports is Mobile Information Device Profile (MIDP).
But add JBuilder MobileSet 3 and you get support for the J2ME Wireless Tool Kit (J2MEWTK), Nokia, Siemens and Sprint PCS SDKs. It also allows you to switch between JVMs and run-times in a project, which simplifies multiple platform development.
Countermind Mobile Intelligence Platform
Countermind has productized an application-development framework that was developed more than two years ago for the company's internal use. Its Mobile Intelligent Platform (MIP), set to debut this month, enables developers to write an application once and deploy it on .Net CF (see page 52), J2ME or both, even within the same enterprise.
"The MIP back-end server acts as a routing mechanism using Web services," says Randy Starr, Countermind's director of mobile and wireless solutions practice. "It receives messages from mobile clients and routes them to other Web services or to logic, which ties them to back-end databases. Once inside the firewall, other Web services-integration technologies can tie these requests into the enterprise's systems."
The MIP connectivity library supports links to EAI with Boundary Objects or Queue Manager. It has hooks to Java APIs, .Net or .Com objects/services, and J2EE or Microsoft BizTalk application servers. It supports most wired and wireless protocols, and it can accommodate new protocols without requiring developers to rewrite operations or business logic code.
IBM Web Services Toolkit For Mobile Devices
IBM's Web Services Toolkit for Mobile Devices (WSTK) includes a Java run-time environment that is supported on Pocket PC, Palm and RIM Blackberry platforms.
The Web-services implementation is based on kSOAP and kXML,very lean open-source implementations of Web services designed to run on low-end mobile devices. The WSTK supports only a subset of SOAP 1.2, which better matches the limited memory of small devices and the limited abilities of J2ME.
The Web-services run-time environment and tools plug into WebSphere Studio Device Developer 5.0 (WSDD), which, with WSTK, can develop, deploy and debug applications that use Web services on J2ME mobile devices.
Of note, WSTK is supported by Metrowerks' CodeWarrior (below) for C-based Web-services development on Palm devices. The WSTK also integrates with WebSphere Studio Device Developer, IBM's mobile applications IDE.
Metrowerks CodeWarrior Wireless Studio 7
Metrowerks was the second company to license Java technology from Sun and the first to fully support J2ME. The CodeWarrior Wireless Studio reflects this experience in its finely tuned, richly featured IDE. Standard productivity features include source editing, building and debugging, which supports remote debugging over TCP/IP. CodeWarrior is one of the few IDEs that includes visual GUI builders for MIDP LCD GUI components and PersonalJava Abstract Windowing Toolkit (AWT).
CodeWarrior comes bundled with Softwired's iBus/Mobile mobile messaging system and several Pointbase micro SQL databases. On high-end devices, these packages enable development of wireless applications using local databases and messaging services.
Microsoft .Net Compact Framework
Microsoft's entry is .Net Compact Framework (.Net CF), a subset of the desktop .Net framework designed for smart devices. Officially released in November, .Net CF has actually been in beta long enough to establish a track record.
For example, the home-delivery division of British supermarket giant Tesco set out to replace drivers' paperwork with industrialized Pocket PC devices from Symbol Technologies. In the store, a customer's order and location data are transmitted to the devices over a WiFi network. On the road, a GPS device connected to the handheld's cradle provides mapping and driving directions. At the customer's home, the handheld captures the customer's signature, rejection/acceptance of an order, the van's position and time of day.
All of that and more took one developer just eight weeks to complete. "I could come to grips with programming for .Net Compact Framework with very little extra learning," says Angela Walker, already a Visual Studio .Net and C# developer. "The Pocket PC emulator and remote debug tools were particularly useful and enabled me to discover%85unexpected behaviors quickly."
Sun One Studio 4 Mobile Edition
Sun One Studio 4 employs NetBeans technology to integrate external modules into the IDE. The Mobile Edition supports and facilitates development of CLDC/MIDP applications for J2ME environments. It includes the J2MEWTK, basic tools for general Java development, and the J2MEWTK and J2ME Wireless Module, which supports MIDP development with templates, CLDC compilation, integration with mobile device emulators that use the Universal Emulator Interface and a wizard. Mobile Edition requires the Java 2 SDK and the Java 2 Platform Standard Edition version 1.3.1 or higher.
While Mobile Edition is free and comes ready for J2ME work, its IDE features are not as rich as the Enterprise edition, at $1,995. The J2ME Wireless Module easily can be added to Enterprise.