Approach
In order for organizations to embark on the Enterprise Mobile Applications, it is important for them to have the ability to develop a set of prototypes quickly and easily to get validated from the business and the user community. Some of the key components to be addressed are:
Security: This is an important aspect of the overall architecture and needs to be addressed as the core. Security in the Mobile context needs to be addressed at various levels including:
Local authentication – This is required in case the application works in an offline mode. Apart from the user / password, the login can be tied down to other information e.g. IMEI number.
Server side access – Ensure that the connection request is originated from a valid source and have valid credentials.
Using SSL/TSL for encrypting confidential information during connections.
Security policies need to be in-line with the Enterprise security policies especially when accessing Enterprise systems like Oracle E-Business Suite (EBS) e.g. Responsibilities in Oracle EBS can be matched to various dashboards that a user has access to. Further, it is important to maintain the Enterprise System’s security rules while developing mobile applications i.e. which user has access to which part of the data (e.g. a specific list of customers).
It is also important to include Mobile applications in the user management procedures particularly when an employee joins or leaves the organization.
Local persistence: This feature is required when the mobile application needs to work in the absence of a connection or when it is desired to store information locally before sending it across to the server. As an example, a field survey engineer working in a tunnel may have limited or no connection available. In order for him to record his observations, he will require ways to store information on the mobile phone and transmit it across when the connection becomes available.
There are various light weight databases available for Mobile phones. It is important to choose a database which is robust and has capabilities of synchronizing with the server when a connection is established. Oracle Lite is one such database which offers a small footprint SQL database and can be bi-directionally synchronized with an enterprise database server using the Oracle Database Lite Mobile Server.
Connectivity: Availability of connectivity and bandwidth used plays a major role while designing mobile applications. The application should be able to work in an offline or partially connected mode.
Also, it is desirable to reduce traffic between the mobile device and server. Further each opening and closing of a connection has its own overheads which may result in increased latency. This may be a key factor when deciding whether to use an HTML or WML based application (which relies on the server passing on data along with the presentation elements thus resulting in more network traffic) or to use an application running on the Mobile phone which renders the data passed on by the server (which typically reduces network traffic).
User Interface: Due to diverse mobile platforms and display sizes, implementing User Interface for mobile applications is often challenging. This is compounded by the requirement that the mobile UI needs to provide maximum information / functionality with minimum navigation. There are various options for building a client side mobile application:
Using mobile OS specific SDK. This is generally deployed in native platform (e.g. C++, Windows Mobile etc). This type of UI can generally use the maximum number of functionalities supported by a mobile phone and also integrates very well with the base operating system. However, this is generally the least portable way of developing applications (especially across other mobile vendors).
Using Flash Lite. Flash Lite is built along with Adobe’s Flash technology which can be used to feature rich UI relatively quickly which may be good for developing prototypes. However, its support for external mobile databases is limited and is still not available on some of the major mobile platforms (e.g. Blackberry). Further, as Flash was originally developed for building media applications, developing business applications is not intuitive and it does not provide access to some mobile phone functionalities.
Using J2ME. This is most portable platform for developing a mobile client application as it is supported by most of the mobile vendors. Though there may be certain differences in the implementation of the application itself, by and large the application can be ported without much change (and no change in many cases). Apart from providing a basic local persistence feature, it can connect to virtually all mobile databases using JDBC. It is often a lengthy process to develop libraries for building the UI components; however there are many open source libraries available which can be used to build a professional looking J2ME application quickly.
It is important to use the maximum available space for display and use of Soft Keys wherever possible while designing the UI.
Administration: As the mobile user base increases, the ease in administration becomes an important factor. Hence it should be planned from the beginning. Many industry strength mobile databases (e.g. Oracle Lite) have the server side providing some of the administration functionalities e.g. mobile phone inventory, user management etc. Apart from that, many personalization features can be controlled via this layer.
Integration: Integration with the Enterprise application is another key architecture component. This layer should allow communication between the mobile middleware and the enterprise system in a standard and flexible manner. Web service based integration is generally a good way as that allows other systems to be added in the future using WS layer. The Oracle SOA suite provides all the components required for such integration. Apart from data integration, it is important to avoid duplicating business rules in the mobile middleware which are already defined in the Enterprise Systems (including data security).
Wednesday, October 21, 2009
Subscribe to:
Post Comments (Atom)
1 comment:
So basically there is a need of Mobile Middleware that should be powerful enough to connect to any ERP/CRM, mature enough to implement enterprise level security and mobile device administration (remote application installation/ configuration/lock), flexible enough to implement complex business rules and transactions and smart enough to let you develop application seamlessly on popular mobile devices. Luckily, Antenna Software (www.antennasoftware.com) provides this exact Mobile Middleware.
Post a Comment