Six ways to accelerate Android mobile application development



Similar documents
Connecting PPM and software delivery

Develop enterprise mobile applications with IBM Rational software

How To Develop A Telelogic Harmony/Esw Project

Realizing business flexibility through integrated SOA policy management.

Achieving business agility and cost optimization by reducing IT complexity. The value of adding ESB enrichment to your existing messaging solution

Enhance visibility into and control over software projects IBM Rational change and release management software

IBM Software IBM Business Process Management Suite. Increase business agility with the IBM Business Process Management Suite

Networking for cloud computing

Modernizing enterprise application development with integrated change, build and release management.

IBM Tivoli Netcool network management solutions for SMB

Introduction to SOA governance and service lifecycle management.

IBM Rational systems and software solutions for the medical device industry

Web application security Executive brief Managing a growing threat: an executive s guide to Web application security.

IBM Rational AppScan: Application security and risk management

IBM Endpoint Manager for Mobile Devices

IBM Cognos TM1 on Cloud Solution scalability with rapid time to value

Open source, commercial software or a coexistence strategy?

Systems and software product lines: the new frontier for business innovation.

IBM WebSphere Application Server Communications Enabled Applications

The role of integrated requirements management in software delivery.

IP contact center Executive brief July Innovation with Internet Protocol contact centers: how IP communications empower business.

IBM Rational AppScan: enhancing Web application security and regulatory compliance.

Strategies for assessing cloud security

DO-178B compliance: turn an overhead expense into a competitive advantage

IBM Software Integrated Service Management: Visibility. Control. Automation.

IBM Tivoli Netcool network management solutions for enterprise

Easily deploy and move enterprise applications in the cloud

A business intelligence agenda for midsize organizations: Six strategies for success

Web application security: automated scanning versus manual penetration testing.

Safeguarding the cloud with IBM Dynamic Cloud Security

Minimizing code defects to improve software quality and lower development costs.

Model-driven development solutions To support your business objectives. IBM Rational Rhapsody edition comparison matrix

Connectivity and integration Executive brief. Optimize the potential of ERP systems through IBM SMART SOA integration strategies.

Improve business agility with WebSphere Message Broker

IBM Endpoint Manager for Server Automation

Securing the mobile enterprise with IBM Security solutions

IBM Software IBM Business Process Manager Powerfully Simple

Ensuring the security of your mobile business intelligence

The IBM Cognos family

IBM Software Information Management. Scaling strategies for mission-critical discovery and navigation applications

Memory-to-memory session replication

IBM System x and VMware solutions

IBM InfoSphere Information Server Ready to Launch for SAP Applications

IBM PureFlex System. The infrastructure system with integrated expertise

IBM Security QRadar Risk Manager

IBM Security IBM Corporation IBM Corporation

Gain a competitive edge through optimized B2B file transfer

Use service virtualization to remove testing bottlenecks

Preparing your network for the mobile onslaught

The business value of improved backup and recovery

Answers to Top BRMS Questions

Overcoming challenges of asset management amid declining federal budgets

Beyond converged networks: driving user productivity through unified communications and collaboration.

IBM RATIONAL PERFORMANCE TESTER

Software development for the on demand enterprise. Building your business with the IBM Software Development Platform

IBM Tivoli Provisioning Manager V 7.1

IBM Software Enabling business agility through real-time process visibility

Asian Paints uses social software to share knowledge and expertise

IBM Security QRadar Risk Manager

Simplify security management in the cloud

Systems and software product line engineering with SysML, UML and the IBM Rational Rhapsody BigLever Gears Bridge.

IBM Global Business Services Microsoft Dynamics AX solutions from IBM

IBM Software Cloud service delivery and management

IBM Analytics Make sense of your data

IBM Cognos Analysis for Microsoft Excel

Windows Embedded Security and Surveillance Solutions

Reducing the cost and complexity of endpoint management

IBM Cognos Enterprise: Powerful and scalable business intelligence and performance management

UML for the C programming language.

IBM Sterling Warehouse Management System

Solutions for Communications with IBM Netezza Network Analytics Accelerator

IBM Unstructured Data Identification and Management

Ten questions to ask when evaluating contract management solutions

IBM Rational Asset Manager

IBM Cognos Business Intelligence on Cloud

BLACKICE ERA and PureData System for Analytics

IBM WebSphere Application Server Family

Effective storage management and data protection for cloud computing

Business Process Management IBM Business Process Manager V7.5

Making critical connections: predictive analytics in government

IBM Cognos Business Intelligence Scorecarding

Setting smar ter sales per formance management goals

IBM Security QRadar Vulnerability Manager

Five best practices for deploying a successful service-oriented architecture

IBM Storwize Rapid Application Storage solutions

Four keys to effectively monitor and control secure file transfer

IBM Storwize Rapid Application Storage

Tivoli Automation for Proactive Integrated Service Management

How service-oriented architecture (SOA) impacts your IT infrastructure

Native, web or hybrid mobile-app development

IBM InfoSphere Optim Test Data Management

IBM Maximo Asset Management solutions for the oil and gas industry

Better management through process automation.

Strengthen security with intelligent identity and access management

Fleet Optimization with IBM Maximo for Transportation

Transcription:

Six ways to accelerate Android mobile application Creating an integrated solution for collaboration among teams Contents 1 Weaving the invisible thread of innovation 2 Android : vast opportunities and difficult realities 2 The challenges of Android application 3 Six ways to enhance Android product 7 IBM solutions for Android Worldwide mobile device sales have skyrocketed. Key drivers of this explosion may include the desire for smart phones and the growth of the Android mobile operating system from Google. This growth, in combination with a virtually endless appetite for user applications, has made the Android platform extremely popular with application developers. But as adoption rates have exploded, we have also seen increased complexity both in terms of component integration and in the quality of software that is needed to power mobile smart phones. Weaving the invisible thread of innovation The popularity of the smart phone can be attributed in large part to software the invisible thread that enables today s innovations. It is software, together with systems engineering, that enables what we call a system of systems the ability of software-intensive subsystems such as radio and power management, global positioning systems (GPSs), megapixel cameras, user interfaces, digital voice and audio, and protocols to work together as an integrated unit. This system of systems enables mobile phones to communicate with cell towers for transmitting and receiving data. It also allows the devices to integrate cameras, music, GPS functionality and more with different applications.

The integration of these systems is enabling developers to create powerful applications that greatly enhance the functionality of mobile devices. Mapping software, for example, uses GPS functionality to provide directions and guide users to a specific destination. The integration of systems further enables users to access weather updates and traffic delays in real time, helping users make more-informed travel decisions. This integration also powers solutions such as a popular application that enables car and truck owners to manage the end-to-end functionality of their vehicles maintenance, navigation and more from their mobile phones. It is easy to envision those capabilities extending even further in the near future. The integration of systems also enables the creation of cause and effect applications, such as applications that enable users to scan a bar code with a smart phone, causing the application to automatically look up competitive prices for the item at other stores and online. This functionality enables users to purchase the item either online or at the store offering the best price. As the capabilities of mobile devices expand, these software offerings will likely become more complex, making the of applications increasingly challenging. Android : vast opportunities and difficult realities Seemingly insatiable user demand is creating the opportunity to develop innovative applications that integrate multiple functions and subsystems, such as the automotive control application discussed above. However, application for mobile devices also creates a complex set of challenges. For example, mobile developers need to understand the hardware for which they are developing. They must take into account factors such as memory capacity, screen size, touch screens and keyboards, and window size. They also face a variety of constraints, such as the strain that GPS functionality places on battery life. In the past, traditional IT application was minimally concerned with the end device. Applications were developed to run on the desktop. Today, more devices are instrumented, and intelligence is embedded in practically everything cars, appliances, vending machines and more. Data is increasingly being transmitted from these instrumented devices, directly affecting how applications are developed. As the traditional IT and device-centric domains converge, opportunities on the Android platform increase dramatically. The challenges of Android application While opportunity abounds, developers creating applications for smart phones are faced with myriad challenges, some unique to the Android platform, including the following: Prioritizing customer requests. Developers are typically provided a variety of requests for functionality in devices and applications. This data is critical to the of marketable applications, but it is often difficult to prioritize these requests. A key to developing successful applications is knowing which functionality is important to users. Reusability. To speed time to market and reduce cost, developers must investigate code reuse. Complexity. Device variability, such as different size screens or different input devices, can increase the complexity of the process. 2

Testing. Developers test their applications on the multitude of available devices each with its own features. Other variables, such as WiFi, different phone networks, geographies and more, increase the complexity of effectively testing applications. Resource variability. Screen size and orientation, battery life, and memory all must be taken into account in the phase. Security. As mobile devices are increasingly used to transmit confidential information such as medical records, credit card data and banking information, developers must build security into applications. Users downloading rogue applications and the need for compartmentalization of application data are major issues. Understand customer needs through product and portfolio management Drive reuse through enhanced collaboration Drive reuse through modeldriven Device Application Six ways to enhance Android product In response to these key challenges, IBM has identified six ways to help teams accelerate, improve productivity and lower the cost of Android product. The rest of the paper will explore each of the six methods in detail. Drive reuse through product line engineering Reduce effort through cross-platform mobile web application Improve application data security through static and dynamic analysis Number one: prioritizing important stakeholder needs Developing mobile applications demands that requirements be captured from a variety of sources customers, analysts, marketplace research, internal stakeholders and more. Prioritizing these requirements is no simple task. Product and portfolio management (PPM) is a strategy that enables teams to manage a variety of resources while developing requirements for a group of products. PPM can help teams achieve prioritization and gain a greater understanding of requirements. Figure 1: Developers can address the challenges and accelerate application on the Android platform in six ways. Tailored to address the unique needs of individual teams, IBM Focal Point software is a web-based PPM tool. Focal Point software enables users to capture input from stakeholders to determine which ones will provide the most value to the project. 3

Figure 2: IBM Focal Point software provides marketplace- and business-driven product and portfolio management, helping executives and teams to make the right decisions to deliver optimal software value. Number two: enhancing collaboration and communication across the life cycle Development teams today are pressured to deliver more applications with fewer resources. The challenge is compounded by the fact that resources are often scarce and teams can be geographically dispersed, making collaboration challenging and increasing the difficulty of applying consistent processes and standards across disparate projects and groups. Further, an agile methodology accelerates the activity and highlights the need for integration of both tools and people working on the project. To help ensure the efficient of products, team members need to have access to the relevant project data, such as scheduling, versioning, work items and more. All changes to code, project status, assignments and so on need to be tracked and made visible to everyone. A common environment such as IBM Team Concert software includes agile planning and reporting on a common platform. Team Concert software is an Eclipse-based, distributed environment that helps teams collaborate, whether they are down the hall or around the globe. It enables the sharing, comparing and management of the flow of versions as well as enhancement requests among distributed developers, teams and projects. It even enables developers to store exact configurations so that another developer working remotely can run the same scenario on the same machine. Team Concert software can improve collaboration with management and even outside suppliers through simple web-based graphical reporting. 4

Figure 3: IBM Team Concert software is a lean environment for teams that includes agile, formal and hybrid planning and reporting, all on a common platform. Number three: enabling reuse through model-driven Product engineering often depends on modeling to better understand complex, real-world systems. Model-driven (MDD) has proven to be an effective means of helping organizations address the challenges around delivering complex designs. It also facilitates reuse. Modeling helps by raising the level of abstraction from code to semantically rich graphical models. In Android application, MDD enables teams to take a look at not only the application but also the Android framework. In this way, developers get a better understanding of the design underlying the application programming interfaces (APIs), which can lead to better quality and provide a basis for process automation and design reuse. Modeling tools can enable model execution to verify design concepts early in the life cycle. They can automatically transform models into code and make it easier to help define reusable components with the assistance of languages such as the Unified Modeling Language (UML). Overall, MDD helps you create comprehensive, consistent, deployable applications, whether they are for drivers, 5

applications or libraries. Modeling can also automate much of the documentation process, enabling teams to spend more time designing. IBM Rhapsody software is a visual environment that enables developers to create applications that reuse designs. Rhapsody software can help teams collaborate on requirements and validate functionality early in as well as deliver high-quality products. Rhapsody software also includes a model of the Android framework, making it easier for developers to work with and analyze. Number four: taking reuse to the next level Software teams are discovering that a productcentric approach often leads to higher costs and an inability to react quickly to change. One option to solving this problem is copying code from one project to the next, but in most cases that leads to major maintenance and upgrade nightmares. Product line engineering (PLE) allows teams to capitalize on common features and manage variability across each stage of the life cycle. PLE allows developers to create a product architecture based on features in the product they are working on. The product line variations are derived from the product architecture, which creates an opportunity for reuse across different products in the family. This engineering approach to reuse can accelerate cycles and works hand-in-hand with PPM to prioritize reuse. Number five: enabling cross-device mobile web application IBM can help developers accelerate for applications that go beyond the Android platform to run on multiple platforms. Traditionally, two main approaches have been taken to achieve this result. One approach has been to customize for each platform, tailoring code for that platform s specific APIs and language expectations. This made sense in cases such as gaming applications, where building in quick response is required. Unfortunately, this approach can create code redundancies when building for multiple platforms and can be costly to redevelop for each platform. Taking a web-based approach is another common way to develop cross-platform applications. Although this approach supports uniformly created applications, it limits the ability of services on the device to reach their full potential. What is becoming increasingly common is to build hybrid applications using a combination of HTML5, JavaScript and even Enterprise Generation Language (EGL), a new standard open source language. This approach allows cross-platform but also allows applications to interact with each platform s specific functionality. IBM has a variety of solutions that can help ensure your requirements are addressed when developing crossplatform applications. JavaScript and HTML5 is supported by IBM Application Developer software. EGL is supported by IBM Business Developer software. 6

Number six: improving application data security through static and dynamic analysis Mobile devices increasingly contain confidential data such as business documents, banking information, medical records and credit card numbers. But the security precautions that users have on their computers are often not on their mobile devices. Users are also not always careful in granting permissions when downloading applications. They simply want the functionality and don t think about where the application comes from. The fact that Android applications are built on open source code and many of them reside on the web presents another security issue. These two factors increase the possibility for vulnerabilities. Given these issues, rigorous use of static and dynamic analysis are keys to creating protected applications on an open platform that relies heavily on web-based delivery. Static analysis scans the implementation code for security holes, enabling developers to address these issues before building an application for testing. Dynamic analysis tests an application while it runs to determine security threats. Dynamic analysis can also enable developers to look at websites and find holes that can be exploited. The combination of both approaches helps identify all of the potential security issues in an application. IBM AppScan software offers static and dynamic security testing for virtually all stages of application. IBM solutions for Android IBM can help you meet the challenges and accelerate application on the Android platform in six ways: Prioritize and manage requirements from a variety of stakeholders for improved decision making with a product and portfolio management approach using IBM Focal Point software Enhance collaboration across teams to achieve flexibility and cost efficiency with IBM Team Concert software Enable the reuse of valuable intellectual property through model-driven to lower costs; validate functionality early in ; and automate delivery of innovative, high-quality products with IBM Rhapsody software Take a product line engineering approach to enable reuse across product lines Accelerate cross-device and improve team productivity with IBM Application Developer, IBM Software Architect and IBM Business Developer software Address the security challenges of the Android platform through static and dynamic testing with IBM AppScan software In conclusion, IBM software can help teams develop innovative applications for the Android mobile platform more efficiently and precisely and with reduced risk and cost. 7

For more information To learn more about IBM solutions for Android, contact your IBM representative or IBM Business Partner, or visit: ibm.com/software/rational/solutions/electronics Additionally, financing solutions from IBM Global Financing can enable effective cash management, protection from technology obsolescence, improved total cost of ownership and return on investment. Also, our Global Asset Recovery Services help address environmental concerns with new, more energyefficient solutions. For more information on IBM Global Financing, visit: ibm.com/financing Copyright IBM Corporation 2011 IBM Corporation Software Group Route 100 Somers, NY 10589 U.S.A. Produced in the United States of America May 2011 All rights reserved IBM, the IBM logo, ibm.com, and are trademarks of International Business Machines Corp., registered in many jurisdictions worldwide. Other product and service names might be trademarks of IBM or other companies. A current list of IBM trademarks is available on the web at Copyright and trademark information at ibm.com/legal/copytrade.shtml References in this publication to IBM products or services do not imply that IBM intends to make them available in all countries in which IBM operates. The information contained in this documentation is provided for informational purposes only. While efforts were made to verify the completeness and accuracy of the information contained in this documentation, it is provided as is without warranty of any kind, express or implied. In addition, this information is based on IBM s current product plans and strategy, which are subject to change by IBM without notice. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, this documentation or any other documentation. Nothing contained in this documentation is intended to, nor shall have the effect of, creating any warranties or representations from IBM (or its suppliers or licensors), or altering the terms and conditions of the applicable license agreement governing the use of IBM software. Please Recycle RAW14265-USEN-00