Smartphone Enterprise Applications Proc. of Int. Conf. on Advances in Computer Science 2010
Smartphone Enterprise Applications Rahul Pandhare, Sunil Joglekar Innovation & Research Labs, Patni Computer Systems Ltd, Seepz, Andheri(E) Mumbai 400 096. firstname.lastname@example.org, email@example.com Abstract— Smartphones like iPhone, Blackberry, Android, etc. are a wonderful combination of computers and cellphones. They include many multi-media features that seem to be capturing the interests of individuals. With the growing popularity of these devices, enterprises have discovered them to be useful for employees who are distant / dispersed from the office. Therefore, developing smartphone applications for the enterprises has become necessary.
A. Assessing business processes for smartphone enablement Mapping the advantages that mobility offers against characteristics of the business activities could be of help in identifying the potential business process suitability for smartphone enablement. Once we identify the potential candidates, we should check maturity of the existing IT infrastructure and how it supports the desired business goals. This qualitative approach should compare business benefits and gaps in existing underlying IT infrastructure capabilities and help in prioritizing the business process. Anywhere anytime is an USP of smartphone solutions. Extension of the enterprise systems functionalities such as CRM, automation of manual data capturing and delivery of real time data at point of activities are key enablers for the operational effectiveness and efficiencies. Mobility also enhances the responsiveness, collaboration among different stakeholders. During assessment exercises, one should look for the business processes with above requirements and its business criticality too.
In this paper we describe our methodology for smartphone enablement of enterprise software systems. This comprises of a framework to assess the business processes to identify the potential candidates for smartphone enablement and also guidelines for re-factoring the system architecture. As most of the enterprises are either web applications and/or web services, the technical approach will provide the details of developing the solution using web technology. Based on our experience, we briefly discuss the benefits and limitations of our approach. We conclude the paper with a short note on the evolution of web technology in the smartphone area.
ENTERPRISE ACCESS AND SMARTPHONES
Over the years, the software systems architecture has evolved from monolithic to client-server to web applications. Though the underlying functionality has remained same, the UI and access mechanisms have made tremendous leaps. With the availability of enterprise application on smartphones, we can have immediate access to key customer data while still on the field. Mobility can thus help in improving operational effectiveness, visibility across value chain and reducing operational cost of an organization. For this, we need to have an enterprise wide mobility strategy in place. In the following sections we have described methodology for smartphone enabling an enterprise application. In this we first assess the suitability of a business process for smartphone enablement and then go ahead with the technical feasibility for development of smartphone enterprise application. II.
B. Assessment Framework In order to assess whether a mobility solution would be beneficial or not the following steps needs to be followed: Business Need and Gap Analysis - The purpose behind this is to evaluate business processes that have greater benefits from mobility solutions. This will involve NeedGap analysis based on business processes requirement and As-Is system capabilities to fulfill those requirements of the organization. Analysis and Recommendation – Based on the scores obtained in the “Need for Mobility Solution” and the “As – Is System Capabilities”, it helps us derive the Need-Gap index which tells us whether we can go for a mobility solution for the application or not. Fig .1 shows the result of a sample assessment. Applications which fall under the “Most Suitable” zone are ideal candidates for smartphone enablement. “Suitable” are the ones which can be smartphone enabled but the benefits may not be up-right justifiable. “Not Suitable” are the ones, which should not be considered for smartphone enablement.
The assessment framework focuses on bringing a clear distinction between “must have” and “nice to have” solutions. Prioritization of the business processes on the basis of expected business benefits and creating road map would be the key to ensuring maximum benefits and reducing the risk of failure.
©2010 ACEEE DOI: 02.ACS.2010.01.68
Smartphone Enterprise Applications Proc. of Int. Conf. on Advances in Computer Science 2010 •
Add a separate web server for hosting smartphone specific input and output forms. The mobile web server is a replica of the normal web server. The requests from smartphones are recognized by the proxy server and are routed to the mobile web server in order to display the device specific content as shown in Fig 2.
Fig.1. Sample Assessment of Enterprise Applications, which are being considered for smartphone enablement.
Once the business processes are identified as potential candidates for smartphone enablement then the re-factoring of system architecture is done. III.
ARCHITECTURE APPROACH FOR SMARTPHONE ENABLING WEB BASED ENTERPRISE APPLICATION
Fig.2. Architecture diagram of an enterprise web application
Almost 80% of the requests that come for smartphone development are related to smartphone enablement of existing enterprise applications. Essentially most of the enterprise applications are either web applications or web services. Accessing the same web application on smartphone will not work owing to the constrained environment of the device.
C. Steps for Developing Smartphone Enterprise Application Following are the steps for developing web-based smartphone enterprise application: 1. The initial exercise will be to collate all the existing use cases and the role based access mechanism that is being followed in the current enterprise applications. 2. Select the use case and roles which should be available through smartphones. 3. The presentation layers including the forms and the reports will have to undergo changes to take care of the small screen size. Forms which earlier might have been spanned to pages will now have shorter and lesser content. Similarly the reports/dashboards will need post-processing to fit onto device. 4. Identifying functions in the Business façade that will be accessed by the smartphones. There may be few cases where we may have to alter the business logic. This can be handled by way of servlet chaining. 5. The existing functional and acceptance test cases can be re-used for testing the smartphones applications.
A. Native or Web Platform In order to develop smartphone applications we can either adopt native technology or web technology. Using native technology, the entire application i.e. the presentation, processing, data storage etc. will reside on the device. This allows off-line operation, access to native features and better performance. On the other hand, we run into issues of deployment and distribution. With so many operating systems like Android, Windows, Mac, we end up building systems specific application. As most of the enterprise applications are in web technology, it will be economical to choose web platform for smartphone enablement of these applications. For refactoring the system architecture, we need to verify set of preconditions like availability of - Use Cases, Business Façade and Test Base. B. Architectural changes The architecture of a smartphone-based enterprise application is very much similar to that of any enterprise application. It follows the standard – web server, application server and database server communication. The changes that are to be incorporated in an existing enterprise application are: • Implement mechanism to identify the source of a request. This can be done by recognizing the useragent in the request or through the proxy that is being used or by means of WURFL (Wireless Universal Resource File), WALL (Wireless Abstraction Library) etc.
©2010 ACEEE DOI: 02.ACS.2010.01.68
We have considered two case studies to show the way we have implemented this methodology for our customers. They are – Time and Expense Management and Defect Tracking System. A. Time and Expense Management system This application facilities addition of users, projects, expense reports, timesheets along with approvals. The smartphone application (Fig.3.) has a subset of these functionalities like approval workflow and the timesheet defaulter list.
Smartphone Enterprise Applications Proc. of Int. Conf. on Advances in Computer Science 2010 VI. FUTURE DIRECTIONS One of the major drawbacks of web applications in smartphones is accessing device native features like contacts, camera etc. There are workarounds like BONDI framework which provide Application Programmable Interfaces (APIs). These APIs allow application developers to access key terminal features and functions. There are browsers like Opera Mini which are evolving into development platforms. It is specially designed for mobile phones, smartphones etc and uses J2ME platform. Added to this is HTML 5 which is another critical step for web application development. It has in-built features like providing field validation, off-line support and geolocation APIs. Combination of Open Service Gateway Initiative (OSGi) and Cloud computing are making smartphones even more powerful by providing services on demand. Based on the geographical location that the user is in, the smartphones are capable to detect and provide pertinent services which can also be referred as location based context aware services. All these areas are potential candidates for further research in the area of smartphone enterprise applications.
Fig.3. Time and Expense Management System
B. Defect Tracking System This is a defect management application which allows project creation, entry of defects, changing of defect status Fig.4. Defect Tracking System using smartphone
 Mobile developer’s guide to the galaxy (Published in 2009) (http://www1.j2mepolish.org/downloads/MobileDevelopers GuideToTheGalaxy.pdf)  Patterns: SOA client access integration solutions (Published in 2006) (http://www.redbooks.ibm.com/redbooks/pdfs/sg246775.pdf ).  Enterprise j2me developing mobile java applications (Published in 2004) (http://books.google.co.in/books?id=vpMJoAoJIuAC&dq=e nterprise+j2me+developing+mobile+java+applications&prin tsec=frontcover&source=bn&hl=en&ei=YWjqSqayDJaWkQ X367WLDw&sa=X&oi=book_result&ct=result&resnum=4 &ved=0CBQQ6AEwAw).  Mobile applications with IBM WebSphere everyplace access design and development (Published in 2001) (http://www.redbooks.ibm.com/redbooks/pdfs/sg246259.pdf )
It provides dashboard which shows the details of the defect count against each project. The same application when accessed through smartphone provides dashboard in a pie- chart which is much easier to read through smartphones (fig.4). V. BENEFITS AND LIMITATIONS Following are the benefits that we can derive by web enabling smartphone enterprise applications: • Reduction in cycle time as folks away from desktops can have access to the applications. • Reduced cycle time leads to improved productivity as there is less wait period. • Economical and cost-effective solution as we are using the existing business facade. • Effective management of application distribution across devices.
ABOUT THE AUTHOR Rahul Pandhare is a Business Research Analyst in Innovation Research Lab at Patni Computer Systems. He has around 5 years of experience as software professional. His primary areas of interest are Cloud Computing, Enterprise Mobility et al. Sunil Joglekar is a Senior Technical Architect in Innovation Research Lab at Patni Computer Systems. He has 18 years experience as a Software Professional and has spent about 5 years in United States mostly as a consultant at Sun Microsystems. He specializes in architecting testable solutions for complex enterprise software systems and their integrations such as EAI / B2Bi / SOA. His primary areas of interest are: strategizing & architecting innovative solutions with Web 2.0, Cloud Computing and Autonomic Computing et al.
The limitations of this solution are: • Possibility of fragmentation. • Internet connection and bandwidth availability.
©2010 ACEEE DOI: 02.ACS.2010.01.68