Wednesday, December 15, 2010

Enterprises Applications and Mobility

When the enterprise business applications took the market by storm, many would have believed it to be one of the final steps towards perfection in business computing. Common Enterprise Applications, with features and flexibility has made them a very obvious choice when compared with traditional mainframe style of applications.
I do not intend to explore the reasons for the success of Applications from Siebel, Oracle, SAP etc because it is a widely known and publicized fact. Of several other things that might have led to the success of these applications I would like to point out one reason that stands out - These Applications have continuously evolved since their inception. There was a steady and focused effort from the software majors to learn from customer experiences and better the applications.

We have all witnessed the user experience improving enormously over the last decade. Heavy and shaky user interfaces have slowly evolved into an intuitive and easily manuveravble user interface. Customizations and Business rule integration have consistently become more and more seamless. Integration has come a long way from the days of file drop to current shift towards service oriented architecture. Computing speed and storage has multiplied allowing these applications to support several features which would have been unthinkable a few years ago.

Enterprise Applications have truly come of age. It has now become close to indispensable for driving every day business. A sales representative logs in to one of these Applications to get a list of assignments he needs to take care of on a day to day basis. Several trucks roll in and out of a huge warehouse with clearly marked out pieces of goods  those details move in and out of the system with every scan.  Shortage of inventory is escalated and in some cases purchase order prepared and transmitted to a partner. Customer deadlines are heard loudly across the ranks. An Enterprise Application acts like a diligent manager looking after the minutest details of the business and running with unquestionable efficiency. A manager who does not complain when an additional task is programmed in. All's well. It does what it is supposed to. Are we looking at a point in near future where the enterprise Applications will continue to improve, to patch in lose ends but not shift dramatically or a take a big leap in the way they are perceived today?

To be able to make a decent prognosis we need to first analyze areas of improvement in the present day enterprise applications, because weak areas drive change and evolution. When I try to think of it the first thing that comes to my mind is the limitations of Client Server Architecture. In spite of several prompt talks of introducing SOA governed plug and play services the fact remains that the architecture at a high level remains simple. There is a server that processes and there is a client that asks to process. The Clients can be diverse like a dedicated offline client residing on a user's laptop or a browser based client interacting via internet. There are several choices that a user can opt for as far as a client is concerned. But if the need is to get data real-time (Or near Real-time, for, nothing is truly real-time) our choices are vastly limited. The old browser based client ends up being the only choice in front of us which leads to severe limitations because it works only when we have internet connectivity. This might not be a problem for office users who have access to internet virtually round the clock, but is a definite handicap for a field guy. Unfortunately a user in field is more likely to need latest information than a back office user and it is here that the enterprise applications fail to deliver. An Enterprise application can be extended to a set of predefined clients but fall short of being able to extend its functionalities beyond the set of clients it is comfortable with.

Enterprise SOA administrators please do not get me wrong. There is no doubt that modern day enterprise applications do have a wonderful ability to expose its functionalities as web services, but this extension has limitations that does not allow an external application utilizing these services to function like a typical client.

The problem stated above was taken seriously by several Enterprise Application vendors that saw a set of wireless clients being introduced in the market. These either came from one of the Enterprise Application vendors like Siebel Wireless or a third party (Antenna, Sybase etc) that came with a customizable platform that can be used to create an application that run on various mobile devices and an Enterprise Connector(A set of adapters that could plug these custom made applications into the enterprise applications and sync in a near real-time fashion).

While applications developed by the enterprise application vendors had the advantage of a seamless integration with the enterprise application itself, the wireless application lacked from a shortsightedness of the enterprise application developers who could not get out of the Enterprise Application style of development. It led to the a rigid, fragile and non user friendly applications with several limitations (Siebel Wireless for instance supported only Windows Mobile OS based devices that made it useless to a vast majority of other smart phone users like Blackberry.

This led to the emergence of several third party mobility vendors with an expertise in developing user friendly mobile applications and a decent adapter to plug into the enterprise applications. Antenna leads the list with a unique philosophy of write once and deploy everywhere which allows a mobile application to run across several Mobile platforms making it immediately a top choice amongst enterprise users. Being a third party vendor there is a perpetual challenge of integrating with the enterprise applications. With a continuous shift towards SOA, this gap is becoming narrower and the integration more seamless.

I will take this further in my next post and discuss some of the challenges often faced in Mobile - Enterprise Applications integration.