Interlink IDE For Wireless Web Services Set to Debut
Java and .NET developers will soon have a full-featured toolkit that removes a lot of the complexity and hassle of tying wireless clients into their traditional client/server or web services projects. Denver-based IT consulting firm Interlink Group Inc. will release the stand-alone mobile apps framework, called the Mobile Intelligence Platform (MIP), in February 2003. See how MIP makes wireless enterprise integration faster, cheaper and easier by letting developers leverage what they've already built.
Java and .NET developers will soon have a full-featured toolkit that will remove a lot of the complexity and hassle of tying wireless clients into their traditional client/server or web services projects.
The Mobile Intelligence Platform (MIP), created by Denver-based IT consultancy Interlink Group Inc., is a "developers' framework with built-in tools that lets developers focus on just those skills they already in many cases already have," Randy Starr, chief of Interlink's mobile and wireless solutions practice, told Integration Developer News.
Based on more than two years of professional services consulting work with end users and ISVs, the MIP will be available as a stand-alone framework IDE product to developers in February 2003, Starr added.
"We initially designed the MIP as an internal toolset for our professional services unit, but as time went on, we were seeing the value of MIP to our customers and partners, and MIP began to take on a more workbench- and product-like look and feel," Starr said. "When we release version 1.0 of a productized version of MIP in February, we'll design it to provide IT departments a reusable framework their development teams can use to create for mobile middleware, or integration support for bringing mobile devices into web services."
Inside the Mobile Intelligence Platform
At its core, the MIP framework is not aimed at facilitating the development of specific point solutions that require a great deal of customized code to support mobile versions of databases, applications and executables. Rather than look at a custom build of an end-to-end mobile version of a legacy application, MIP views wireless development as a weaving together of core components: business rules, application logic, database connectivity, network connectivity, asynchronous communication and wireless presentation.
"In MIP, we created a modular framework that lets developers build only the unique pieces they need and reuse a lot of the code that already exists in the enterprise, " Starr said. "At its base, the MIP uncouples the business rules and applications logic from the underlying connectivity and administration requirements of building wireless/mobile solutions," he added.
Key attributes of MIP include:
The MIP connectivity library is quite extensive and supports links to traditional EAI (enterprise application integration) via Boundary Objects or Queue Manager (for message queues). Further, it has hooks to support Java APIs, .NET or COM objects/services, and application servers based on J2EE or Microsoft BizTalk. At the protocol level, as mentioned, it will support most standard wired and wireless protocols. But more importantly, Starr added, as wireless and web services groups standardize on new protocols (such as upgrades to SOAP, SyncML, etc.), the MIP framework will accommodate those protocols into its communication fabric without requiring the developer to rewrite any operations or business code.
For data access, the MIP framework has built-in hooks to databases using JDBC, ODBC and even XML repositories. A variety of generic services are also provided for the communication of rules, data and state management between the client and the backend server. These MIP features include support for forms, query, dispatch, alerts and reporting.
The MIP Component Approach to Mobile Integration
"We used an interesting approach," Starr said, "We look at the MIP framework as just the technical plumbing between the smart client and the back-end services (that can be encapsulated by web services)."
The MIP's technical plumbing takes care of the core application-level service such as data collection, data search, dispatch, alerting and reporting. "Our value add is above the protocol layer, but well below the actual business intelligence," Starr explained.
Why take this inter-layer approach? "We wanted to build a framework that could be applied to many business solutions, and so we abstracted the business intelligence and specific data elements away from the core framework," Starr said. "Yet we have extenders (or adapters) that will let the framework leverage those specific rules and data sources as the customer needs."
MIP's component approach maps to four key layers for linking mobile users looking for access to remote back-end databases, rules and applications. These include:
- Network Infrastructure: (to support service procurement and provisioning, routers, configuration/device management, security)
- Application Services: (to link to e-mail, web servers, app servers, mobility middleware, business rules, databases, etc.)
- Wireless Network: (compatible with protocols for WWAN carriers, WLAN, security, infrastructure, compression, etc.)
- "Smart Client" Mobile Devices Management: (for administration, security, provisioning, asynchronous access to databases and business rules to allow for central database updates, real-time synchronization, etc.)
Another key component of the MIP framework is the "smart client," which has been implemented in Java and .NET/CE. These smart clients range in size from 120-150 kb, and support most PDA platforms, including WinCE/PocketPC, PalmOS, Linux, Research in Motion's JavaOS, and others. Microsoft showcased MIP's client at last year Fusion event to demonstrate how it can leverage many device capabilities, including GUI, local processing, local storage, connection management and the ability of offload work from the server.
These features were put to great use in a wireless application developed for Denver Health and Hospital Administration (DHHA). Using MIP, data is collected from a variety of WAN-based remote clinics as well as PDAs used by clinicians roaming between clinics and other remote patient locations. DHHA is piloting the system at two of its clinics, Starr said, and plans to implement MIP throughout their public health clinics and other specialty care clinics next year. DHHA officials expect the MIP-driven projects to improve efficiencies, cut cost of wireless development, reduce billing and other database inconsistencies, and ensure that DHHA clinics meet HIPAA and other mandatory government reporting requirements.
Descriptors -- Key To Building Custom Mobile Services
MIP uses XML "descriptors" to define the specific business solution that rides upon the framework. "Our descriptors contain all of the information regarding the data collection points, the business process and the business logic; everything that is necessary to render forms with appropriate controls and to support the desired workflow logic," Starr said.
Developers create these descriptors, which resemble configuration instructions for the wireless device, rather than outright code. The descriptors are then parsed by the wireless smart client and used to generate, at run-time, the business application that the end user interacts with. MIP includes a web-based GUI tool to facilitate the development and management of descriptors and to provision them to the smart clients. "When you create a descriptor, you're doing something different from a traditional EAI job," Starr said. "In a large sense, we're providing a 4GL-type of environment, like using Microsoft Access in the old days to describe the set of data collection forms you want to use."
Another distinction from EAI coding, Starr said, is that the descriptors encourage applications that are "process-centric, rather than data-centric." Through the use of " links" and "expressions, " developers can define branching logic to control process workflow by showing only forms or form groups that are deemed relevant based upon answers to previous questions. This feature comes in particularly handy when combined with MIP's disconnected capabilities. "You can take a paper form and turn it into a mobile application, but if your users are poking their way through 100 questions, they will soon quit using it." It is better to develop an application that streamlines the data collection process and is smart enough to present the users only with questions that are relevant to the given scenario.
The GUI controls and business validators (used to enforce data validation and business rules) are also maintained separately from the smart client. The controls and validators are packaged as " modules" and are simply referenced by the application descriptor, ultimately to be instantiated and invoked by the smart client.
"By decoupling the controls and validators from the smart-client code, we can provide tremendous extensibility by allowing the developer to add new capabilities to the smart client without altering the code on the wireless device," Starr said. MIP's messaging layer supports binary payloads, so new or updated modules can be centrally provisioned in the same manner as descriptors. The result is a framework and toolset that accommodates the current constraints in mobile and wireless technologies, but is not bound by them, he added.