How to Reduce Complexity of Mobile Business Application Development
How to Reduce Complexity of Mobile Business Application Development
Reducing the complexity of mobile business application development, deployment and integration is important to IT managers in a wide variety of organizations. Enterprises building their own applications need a development platform that gives them unitary development of both front-end mobile clients and back-end server-side programs.
"Going mobile" means deploying applications to business phones and PDAs (such as Windows Mobile devices) that can handle mobile Rich Internet Applications (RIAs). In addition to front-end functionality, going mobile also means effectively integrating these rich mobile applications to back-end enterprise systems. Therefore, it is important that IT executives anticipate these issues before they create impossible pressures on IT departments and business users.
IT departments should carefully weigh the advantages and disadvantages of their chosen mobile strategy, including choice of device, development platform and, most importantly, which business functions should be handled in a mobile context and which ones should not.
Here are some of the factors that enterprises need to consider when weighing their mobile business application development options:
Mobile applications need to be available across a wide variety of business users. An application platform should give the developer straightforward capabilities to implement the security, user rights and provisioning needed to span a wide variety of requirements.
Mobile business application platforms need to include data transport and communication layers that allow servers to process requests from large numbers of mobile devices. Most mobile platforms today require developers to engage in extensive amounts of programming to broker these communications between client and server.
Mobile application platforms also need to provide the same degree of application development productivity for the client-side interface, data and business logic layers of an application. But development efficiency is only a dimension of the requirements for a strong mobile application platform.
Scalability, operational reliability and transactional integrity are more important than ever before. Since communication failures are commonplace with mobile devices, the platform selected needs highly robust capabilities for error recovery and exceptions management. In addition, the likelihood of carrier-class transaction volume requirements means the platform must not be simply scalable but highly scalable to many proven levels of transactions.
Mobile enterprise application strategies need to consider that differences in business processes may be needed to achieve the highest degree of integration, security and transactional integrity. Part of that strategy may involve cloud-based servers and even software as a service (SAAS)-style deployment and consumption of business applications.
Regardless of approach, provisioning of users is a key consideration in any mobile strategy. Is the chosen approach to provisioning sustainable? Do new users require human intervention? How are users validated? What rights do they inherit? Only by a process of detailed business analysis can an organization establish the right procedural and strategic approach.
Many procedures and data structures may simply be "artifacts" left behind by manual processes or past approaches to automation. If that's the case, then the organization needs to ask if this step in the process is really necessary. What business need, accounting requirement or regulatory provision makes this data or process necessary? How can the new possibilities brought about by mobile computing enhance the customer or user experience? What is possible now that was impossible before?
By their very nature, mobile business applications may be enhanced by relevant geospatial data. At the IT level, device location and usage can be tracked and recorded for asset management purposes on a continuous and transparent basis. In ordinary business transactions, the location of a data entry terminal is typically fixed. In mobile applications, the location of the device may be changing all the time, and its current location and proximity to other mobile devices or known fixed locations may be a relevant aspect of a business process.
In a business application involving asset management, for example, the GPS location of the device at the time of data entry may be highly relevant. Midday routing and dispatching adjustments can be enhanced when the location of other mobile devices are known. Existing business applications may have been designed without the proper data structure to track geospatial metadata. Integration requirements should be addressed at a strategic level so that they can also be resolved on a practical level.
Standard approaches to integration are complicated when mobile devices are used instead of traditional, fixed-location clients. Asynchronous integration is no longer an exception to a standard business process; it becomes one of the primary business scenarios.
As such, an integration platform needs to have robust asynchronous capabilities for what are known as "long-running processes" or processes that may take hours, days or even weeks to be completed-as opposed to synchronous processes such as those that might be conducted from within a network.
In those traditional scenarios, if communication is broken between the client and the server, the business process simply stops. Most of us have probably been at a bank and heard a teller say, "I'm sorry, our systems are offline and you'll have to wait." With a mobile integration scenario, offline status is to be expected much of the time. Therefore, a process must be able to be transacted as far as it can be and then resume once communication is established.
For this reason, e-mail integration is likely to be an important requirement. On a practical basis, we cannot expect a mobile application user to keep checking back into the application to see if the process has resumed. An approach that would be easier for users would be for an e-mail notification to be incorporated into the mobile device application design.
An e-mail message such as "Mrs. Jones, your travel request has been approved. Please click on the link below to complete your travel itinerary" will be far more welcome than an application data screen that says "No data available." An application integration platform with support for mail servers and protocols will enhance the return of the business user to the RIA to complete transactions.
Combination of Technology and Process
Combination of technology and process
Mobile application developers are faced with the "chicken or the egg" dilemma: Should they first choose a mobile business application platform and then detail their business requirements according to what's possible with that platform? Or should they map out the business requirements first and then choose a mobile platform that can best support those needs?
A combination of both approaches is recommended. An initial, high-level requirements analysis is essential in pursuing an effective mobile strategy. But the specifics of what you can accomplish will be important to the details of your business processes.
If ease of development is important to your IT department, factor it into your mobile application platform selection. If Time to Completion (TTC) is an important criterion, factor that into your platform selection. If platform stability and security are key requirements, elevate them when choosing your platform.
Once you have tentatively selected a platform, you may be able to engage professional services from the vendor to help you develop detailed business requirements that best reflect the capabilities of that platform.
The good news is that metadata-driven, mobile business application platforms are available today; they can help you achieve an optimal convergence of IT and business strategies. These platforms can deliver the kind of highly sought after business applications that users expect-while simultaneously preserving the security and integrity of your IT business practices.
Regev Yativ is President and Chief Executive Officer at Magic Software Enterprises (Americas). Regev is responsible for the company's business operations in the Americas (North America, Canada and Latin America). Prior to his appointment in January 2008, Regev served as senior vice president of international sales for Magic Software. In this position, Regev was responsible for Magic's offices and operations in Europe and Japan, and managed the distribution network team in charge of Asia Pacific, Latin America and South Africa.
Prior to joining Magic Software, Regev was COO of Agro Marches International S.A Group in Paris, a company specializing in Oracle-based software and eBusiness platforms. There, Regev managed all of its branches worldwide. Regev was also the CEO of G.E.D B.V. (Kardan Group) in Amsterdam, an investments and business development group dealing in software and eBusiness solutions throughout Europe. He was also vice president of sales at the Nasdaq-traded Edusoft, specializing in educational software and Web-based eLearning and assessment platforms. Regev holds a B.A. from Israel's Tel Aviv University. He can be reached at firstname.lastname@example.org.