Mobile application development
Upcoming SlideShare
Loading in...5
×
 

Mobile application development

on

  • 1,508 views

This presentation tries to give an overview of the fascinating world of mobile development. It is not the purpose to give any details on a given technology, but it tries to give an overview of the ...

This presentation tries to give an overview of the fascinating world of mobile development. It is not the purpose to give any details on a given technology, but it tries to give an overview of the various possibilities. Although the presentation looks at technologies and initiatives from various parts of the industry there are some more details on a certain number of IBM initiative given my background.

Statistics

Views

Total Views
1,508
Views on SlideShare
1,502
Embed Views
6

Actions

Likes
0
Downloads
27
Comments
0

2 Embeds 6

http://www.linkedin.com 3
https://www.linkedin.com 3

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • Source: http://www.webopedia.com/TERM/C/consumerization_of_it.html <br />
  • 1) SoE definition: Systems of Engagement is a solution (“Systems”) which has multiple ways how a user can  “engage” (interacts) with the system. A key focus is put on communication and collaboration across company-boundaries, increase the productivity of their employees and become suddenly very efficient and consumer oriented. SoE describes systems which are more decentralized, incorporate technologies which encourage peer interactions, and which often leverage cloud technologies to provide the capabilities to enable those interaction. <br /> See horizon: http://www-01.ibm.com/software/ebusiness/jstart/systemsofengagement/ <br /> 2) Some SoE implementation aspects: <br /> Use social media to attract and hold consumer attention <br /> Address complex issues collaboratively <br /> Mine community conetnt to exrtract insights to enhance business <br /> Focused on in the moment tasks and decisions <br /> Delivering in an individual’s personalized context <br /> Leverage social and cloud technologies <br /> Provide analyitics—driven experiences <br /> Enabled by smartphones, tables and smart products <br /> http://www.aiim.org/documents/content-management-future-history.pdf <br />
  • Goal: Get your customer talking and engage with them to identify their mobile initiatives. <br /> Some questions you can ask (if you don’t know already): <br /> -What mobile initiatives do you have now?-What impact is expected from your mobile initiatives? <br /> -How will mobile help your brand experience? <br /> This agenda section slides come directly from the MobileFirst Customer Facing Deck (with minor modifications): https://w3-connections.ibm.com/communities/service/html/communityview?communityUuid=a3898887-97b8-47ff-8809-0d088c8fa294#fullpageWidgetId=W8ab884149579_418d_809a_6d70de3638ac&file=0e11ea15-a517-4a70-a57a-411cfac71a75 <br /> MAIN POINT: <br /> Mobile is a big opportunity <br /> SPEAKER NOTES: <br /> There is a lot of compelling data in the marketplace, but we have identified 5 key trends or observations – supported by market data and by customer successes – that we believe have strong implications for the future of mobile. <br /> Mobile is about transacting. Whether shopping, purchasing, searching for or providing information, collaborating or seeking service, mobile enabled people and objects are seeking not simply to connect, but to complete tasks when, where and how they wish. As they transact they are creating vast streams of data that, with the right analytics, can teach us things about their behavior and their preferences that we could not learn in any other way. <br /> Mobile is the universal sensor. It is with most of us 100% of the time and is the primary means we use to interact with our employers, our customers, our family and our friends. But at the same time, the mobile experience must transcend any single device to accommodate multiple screens and touchpoints. The experience has to be consistent across channels, touchpoints and time. <br /> Finally, as we think about mobile, we can’t confine our thinking to devices like phones and tablets. The ability to tag things, sense things, power things and shrink things has extended mobility beyond people to nearly every other type of object on the planet. As we have said since the start of smarter planet things are becoming more instrumented, interconnected and intelligent than every before, and mobile is right at the center of that story. and will fundamentally change the way the world works. <br /> Sources: <br /> 1. Source: “China Mobile 50k survey”; Morgan Stanley Research; 2011 <br /> 2. JiWire Mobile Audience Insights Report Q42011 <br /> 3.IBM Coremetrics Retail Data – as published in 11/24/12 IBM Press Release <br /> 4. Time, Inc. 2012 <br /> 5. GSMA, Machina Research <br />
  • MAIN POINT: <br /> There is a lot of compelling data in the marketplace, but we have identified five key trends or observations – supported by market data and by customer successes – that we believe have strong implications for the future of mobile. <br />   <br /> SPEAKER NOTES: <br /> [1] Mobile is the universal sensor. It is with most of us 100% of the time and is the primary means we use to interact with our employers, our customers, our family and our friends. [2] As they interact they are creating vast streams of data that, with the right analytics, can teach us things about their behavior and their preferences that we could not learn in any other way. [3] These interactions inherently become transactions. Whether shopping, purchasing, searching for or providing information, collaborating or seeking service, mobile enabled people and objects are seeking not simply to connect, but to complete tasks when, where and how they wish. [4] Thus, the mobile experience must transcend any single device to accommodate multiple screens and touchpoints. [5] Finally, as we think about mobile, we can’t confine our thinking to devices like phones and tablets. The ability to tag things, sense things, power things and shrink things has extended mobility beyond people to nearly every other type of object on the planet. As we have said since the start of smarter planet things are becoming more instrumented, interconnected and intelligent than ever before, and mobile is right at the center of that story and will fundamentally change the way the world works. <br />   <br /> I just highlighted five key mobile trends that drive IBM’s strategy of the mobile enterprise market. Each trend brings with it an opportunity that I want to highlight here. <br /> Trend  Opportunity <br /> 1. Mobile is primary  Transform the value chain <br /> 2. Insights from mobile data provide new opportunities  Deliver contextually relevant experience <br /> 3. Mobile is about transacting  Drive revenue and productivity <br /> 4. Mobile must create a continuous brand experience  Deepen engagement <br /> 5. Mobile enables the Internet of Things  Leverage industry transformations <br /> Let’s begin with the first key trend, that mobile is about transacting and all of the notions that make up a “transaction”. Let’s flesh that out a bit further, because with each trend comes opportunities that your enterprise should leverage. With mobile transactions, the opportunity is to drive new and additional revenue and productivity through mobile. This requires businesses to re-imagine every interaction in a Mobile First world. <br /> Moving to the second trend you highlighted around mobile insights – this brings with it an opportunity to deliver a contextually relevant experience to your employees, partners and customers. This enables you to harness deep insights to inform new mobile innovations. <br /> Thirdly, mobile is primary. We all know that already. So what does it mean to you and your business? Simply put, you deliver mobile apps that transform the value chain because you recognize the importance of prioritizing ‘mobile first’ since it is the way of the future. <br /> Moving along, let’s focus on this requirement that a user’s experience must be consistent across all channels. We must prioritize and leverage user imperatives to benefit the enterprise, meaning you can deepen relationships with consistent brand experience by integrating your front-end presence regardless of hardware or operating system it is presented on with your back-end, regardless if its locally or remotely hosted infrastructure. The ‘how’ doesn’t matter anymore – people expect it to work seamlessly. <br /> Lastly, let’s move beyond phones. Because ‘mobile’ really isn’t just about a phone, or a tablet. By broadening our scope of what we consider ‘mobile’ we capitalize on other opportunities for your business. Machine-to-machine is HUGE. Thus, why not leverage industry transformations driven by M2M through cloud technologies and whatever comes along next in order to capitalize on this 18 billion opportunity expected by the end of 2022. <br />
  • Goal: Get your customer talking and engage with them to identify their mobile challenges. <br /> MAIN POINT: User expectations of mobile is high…. yet those expectations are not being met <br /> Source: Harris Interactive Survey of Mobile User Experience March 2011 <br />
  • Goal: Get your customer talking and engage with them to identify their mobile challenges. <br /> MAIN POINT: Quality and time are two factors in the “software paradox” and many organizations face these same challenges. <br /> Source: SD Times: “More than half of organizations are building mobile applications” http://www.sdtimes.com/link/36553 <br />
  • MAIN POINT: Mobile poses unique challenges that separate it from traditional IT projects. Let’s look at a few of them. <br /> SPEAKER NOTES: <br /> First of all the apps themselves are different. Not just smaller in footprint, but more strategic, and delivering more user and context-awareness. Unlike traditional apps, mobile apps are intended to run on unstable networks. Interruption in service is the norm, not the exception. <br /> Development is different. The app development lifecycle is more complicated. In addition to being faster and more iterative, you have to deal with multiple device platforms and development styles. You have to securely integrate into back-end enterprise services and cloud and be ready to scale appropriately – even when demand occurs in less predictable patterns. On top of all that you have unique mobile requirements like a user interface that has significant restrictions in terms of real-estate. Then there are questions about how do you effectively take advantage of unique capabilities mobile has to offer. Things like geo-location, for instance. <br /> Management is different. Managing app distribution and governance means working with as many as four different AppStores – each with their own approach and challenges for managing B2C apps. And, because the devices they run on are outside of IT control, mobile apps pose greater challenges associated with app governance, distribution, and version management. <br /> Finally, security is different with greater risks of exposing applications and data on small, light, and always on portable devices. You need to figure out how to protect your confidential information and the privacy of the participants – all while you are enabling connection through devices owned privately by the participants themselves and not controlled by the enterprise. <br />
  • MAIN POINT: These differences translate into unique development challenges. Let’s look at at a few of the most common concerns. <br /> SPEAKER NOTES: <br /> How do I develop and deliver across platforms? <br /> Organizations are struggling with the number of platforms they need to support, and the high velocity of change within those platforms. In BtoC apps, clients typically support four or more mobile platforms -- iOS (Apple), Android, Blackberry and Windows 8. Each mobile OS comes with its own native development tool stack, its own branded app store, and its own native SDK and development language. So for organizations that support four different platforms, that’s four development stacks to maintain for each application. <br /> How do I test and manage the lifecycle of the app? <br /> Once the app is developed, it must work flawlessly on multiple device Operating Systems and hundreds of devices in market at any time. These devices each have their own form factor and device-specific features. And at any time, dozens of new model upgrades are being introduced to the mobile arena. So formulating an automated testing strategy is essential for quality mobile development. <br /> How do I integrate into existing systems? <br /> Finally, organizations are struggling with the need to integrate into existing systems in a consistent and secure manner that ensures that the content is delivered in context, to only authorized users, in a secure manner with end-to-end encryption. <br />
  • MAIN POINT: IBM launched a new IBM Mobile offering portfolio <br /> SPEAKER NOTES: <br /> Today IBM we are re-launching our mobile offering portfolio to provide customers with an end to end set of offerings to help them embrace mobile first. We will approach the marketplace with a series of solutions led by GBS that are industry oriented. We have agreement with GBS on the three most important usecases in each industry, which we will discuss in greater detail on the next chart. GBS will lead the dialogue around the transformation and we will the offer a range of HW and SW mobile enabled solutions to support the transformation. Today on the app store there are over 200 IBM Software packages that have mobile enabled clients. We also have mobile enabled services that you can get from the smart cloud. <br /> Across the bottom of the chart, you will see how we will broaden the concept around the IBM MobileFirst Platform. When we launch the new brand it will include the mobile application development platform. Today that is known as Worklight. We will have mobile analytics which is known as Tealeaf today. We have mobile security – which is managed today by app scan, ISAM and other products in the security portfolio. And we have mobile management – which today is mobile endpoint manager. These products will integrate to provide a seamless suit of capabilities. <br /> In addition, on the left, bottom and right hand side you see a set of strategy & design services, cloud & managed services, and development &integration services. Our colleagues in GTS and GBS have a set of services around mobile management, mobile application development and lifecycle management among others. And all of this will run on the cloud operating environment which enables customer to consume the solutions either on premise or in the cloud. <br />
  • MAIN POINT: Worklight helps address many different mobile app approaches. <br /> SPEAKER NOTES: There are a number of mobile app development approaches / styles that can be utilized to develop apps. You may find yourself using more than 1 style across your portfolio of internal and external apps. <br /> Web – user simply accesses your existing web sites from their mobile browser. UI is not mobile-optimized. <br /> Mobile web – apps accessed from a mobile browser (like a regular web app), but UIs have been mobile optimized (probably using a JavaScript framework like Dojo, jQuery Mobile, or Sencha Touch). Typically the URLs for these apps start with “m.” – for example “m.cnn.com”. <br /> Hybrid – installed and run like a native app, but the core of the app is written in HTML, JS, and CSS, enabling it to run across all major device platforms. This style supports writing native-specific extensions (in the native language), but if this logic is needed across all supported platforms, it will need to be written in multiple languages. <br /> Native– building the rich interfaces to mobile applications – embracing the ecosystems of the native vendors… <br /> The choices become daunting to consumers (both in understanding skills, resources required, best practices etc..) <br /> Richness of the UI increases as you move towards Native. <br /> Portability increases as you move away from Native <br /> Maintenance increase as you move towards Native, as you are typically needing to maintain separate code bases, tools, and infrastructures. <br /> Capabilities available in the various styles: <br /> Web and mobile web - almost all modern smartphone/tablet browsers support Geolocation (so, getting the user&apos;s location) and ability to store information needed by the app/site locally (but no access is provided to the phone&apos;s file storage area) <br /> Hybrid - same capabilities as web/mobile web, plus the following (primarily provided via PhoneGap): <br /> Accelerometer (captures device motion) - useful for apps where the way the phone is held/moved is important <br /> Camera - take a picture or access photos previously taken with the phone <br /> Capture - Provides access to the audio, image, and video capture capabilities of the device. <br /> Compass - detects the direction or heading that the device is pointed <br /> Contacts - create new contacts and access contacts stored on the phone <br /> File access - read/write files on the device storage <br /> Media - play and record audio files <br /> Network / connection info - provides info about the device&apos;s network connectivity (wifi, 3G, etc) <br /> Notifications - visual, audible, and tactile device notifications (alerts, sounds, vibrations) <br /> Native - everything above, plus access to all APIs and capabilities provided via native SDKs (primarily you&apos;d go with Native if you wanted to use native UI widgets and controls vs. web widgets) <br />
  • New! Embedded functional testing <br /> The accelerated delivery cycles of mobile applications requires fast and effective test cycles. Whether you are developing native, or hybrid applications, you need to validate that mobile apps work as expected across multiple platforms and hundreds of devices in market at any time – each with its own form factor. <br /> Until now, accomplishing this task required teams to undertake tedious and time-consuming manual test processes on every target platform and device. This typically involved creating a list of user actions and expected responses, codifying these test cases in spreadsheets or text documents, and laboriously (and manually) running the test scenarios on all target platforms and devices, one test and one device at a time. <br /> Often companies lack the time to properly test their apps, with mobile’s accelerated pace of change – ultimately leading to lack of testing, poorly performing software and inevitably, customer frustration and lack of confidence. Five app stars can become one star apps overnight when poorly performing software erodes consumer confidence. <br /> With IBM Worklight 6.0, we have replaced much of this tedious and time-consuming testing by providing the industry’s first integrated, cross-platform mobile app testing capability. Here’s how it works. Either developers or testers can simply press a button to record a sequence of actions on a mobile device. Once the recording has been captured, it becomes the basis of an intelligent, resilient and code-less test case that can be played back on demand on any iOS or Android device within the same OS family – and even on simulated devices. <br /> This capability allows organizations to test faster, at lower cost, and more methodically – leading to higher quality apps, delivered to consumers faster, and at lower cost. <br /> This embedded functional testing capability is not an upsell, but an integrated component within IBM Worklight 6.0. IBM Worklight 6.0 provides exceptional value on a standalone basis – and can be upgraded to Rational Test Workbench to gain the added advantages of service virtualization, multi-tier testing and automated batch and regression testing. Integration with the IBM Mobile Development Lifecycle Solution provides traceability across requirements and defects for full visibility and control of the software delivery lifecycle. <br /> &lt;number&gt; <br />
  • &lt;number&gt; <br />
  • 1 – Dispatching notifications by polling back-end apps or receiving back-end-originated events <br /> 2 – Uniform server-side API for pushing notifications via Apple, Android, BlackBerry and SMS <br /> 3 – Maintaining push state of each user and device details <br /> 4 – Dispatching the notification via the appropriate notification service <br /> 5 – Uniform client-side API for subscribing to notifications and handling them on the device <br /> 6 – Monitoring and controlling notification delivery; Statistics of notification delivery <br />
  • - html5/javascript -&gt; worklight adapters -&gt; jax-rs -&gt; JPA (skipping EJBs): for business backends based on relational databases <br /> - html5/javascript -&gt; worklight adapters -&gt; jax-ws -&gt; EJB: for business logic written as EJBs, can use RAD to easily turn it into a jax-ws web service <br /> - html5/javascript -&gt; worklight adapters -&gt; jax-rs -&gt; EJB <br />
  • Relational databases support a powerful and general model of tables of tuples. <br /> The database does not know which tuples or columns are accessed together and provides acid transactions across the entire database. <br />
  • Part of the reason for the design of traditional databases is to allows uncoordinated activity from multiple applications but the trend these days is to hide databases behind services. <br />
  • There are problems with relational databases. <br /> Applications store complex objects which have to be mapped to the simple relational model. <br /> There are a surge of new graph type problems which are not handled well. <br /> And the biggest problem of all is scaling. <br />
  • Nosql databases make some tradeoffs to achieve scaling <br /> Eventual Consistency relaxes the rule that says that a database is consistent after each transaction. <br /> We can limit the scope of a transaction <br /> We can bake into the data model which data is accessed together. <br /> This allows nosql databases to scale out. <br />
  • Nosql databases use either an aggregate or a graph data model. <br /> Within the aggregate model there are 3 distinct subtypes Key Value, Document and Column Store. <br />
  • In a key value store like reddis or voldemort , data is looked up by key and the value is some blob of data about which the database knows nothing. <br /> Distinction can be blurred eg Reddis allows the aggregate to be structured as lists and sets <br />
  • In a document database like MongoDB the database knows some internal structure and you can use this in interactions with the database. <br />
  • In a column family store Like cassandra, bigtable or hbase, the aggregate is the column family, so the column is the unit of access and ACIDITY. Column families will usually be accessed together. <br />
  • A graph database like Neo4J is optimised for storing data which is composed of arbitrary nodes and edges. <br /> Storing and querying this sort of data in a relational database involves calculating transitive closures using recursive SQL. (very slow) <br /> Graph databases are useful for social networks. <br />
  • Credit to Nathan Hurst <br /> So we can now further classify databases based on their data model. <br /> Within the nosql CP and AP categories we see that there are examples of Key Value, Column Oriented or Document Oriented. <br />
  • A look to the future <br /> Each year IBM research create a global technology outlook (GTO) looking at what the future might look like in 5 years time. One of the themes in the recent GTO was the Internet of Things (Note IoT Is not unique to IBM) <br /> A view as to what the next revision of the internet will look like. <br /> Everyone is familiar with pointing there web browser at web servers and locating information / data, internet shopping and banking…. <br /> With the proliferation of devices the internet will evolve <br /> Imagine, in future you will be able to point your browser at a person and get information about the person including health status – blood pressure, heart rate…. or point at a house and get the status of devices in the home from the security system, heating and media and just as important will be able to control them. The IOT goes beyond this, it will not just be people interacting with devices but the devices interacting with each other. <br /> Imagine devices that consume a lot of energy, listening for changes in the price of energy and turning on when the rate is cheap and off when the price goes up enabling efficient use of the grid. <br /> Imagine an intelligent alarm clock that looks at your calendar and understands where you need to travel to first thing the next day, it monitors traffic and weather conditions and wakes you up at the right time to ensure you get to you first appointment on time <br /> Imagine emergency services drawing up at a building that is on fire and using an augmented reality display to determine where hazzardous chemicals are located on site, where people are located and what there health condition is. <br /> We are already on the road to the internet of things, this presentation discusses what is possible today! <br />
  • Why MQTT? <br /> It was invented to make it simple to connect m2m world to traditional IT world <br /> To optimize connectivity for low bandwidth, high latency, unreliable and high cost networks <br /> Minimize on the wire footprint <br /> To support large # of devices <br /> Simple API for client application development <br /> To be industry agnostic <br />
  • MAIN POINT: Introduce these Solutions to Improve ROI. <br /> SPEAKER NOTES: There are several “dimensions” to testing: User Interface functionality and usability, performance testing, Solutions to improve ROI: <br /> Automate UI and Performance tests for mobile apps (new capability introduced at Innovate2013) <br /> Virtualize back-end services to maintain agility <br /> Improve manual test case management and optimize execution across multiple mobile devices <br /> Extend Worklight with automated testing <br />
  • MAIN POINT: The IBM MobileFirst Platform includes the Rational Test Workbench family, now in Beta, for fast and efficient test automation of mobile and multi-tiered application environments. <br /> The design principal for this product is – how can we provide an end-to-end continuous testing capability for mobile and multi-tiered application environments? <br /> The solution is a comprehensive test solution that combines enhanced functional GUI integration, performance testing, and service virtualization features. And we provide these capabilities in a way that is automated, in most cases using code-less test scripts and visual editing. There are two capabilities in particular that I want to call out about this solution, powered by IBM Rational Test Workbench. <br /> The first is service virtualization. This is the ability to virtualize middle-tier and back-end systems throughout the application lifecycle, so that testing is no longer dependent on the availability of back-end systems, and can happen earlier in the life cycle, when defects are cheaper to fix. <br /> The second is visual test authoring, execution, and reporting. This gives your non-programmer testing experts the ability to create and run editable test scripts simply by recording actions on a mobile device. Those actions are captured and turned into an editable test script that is easy to maintain and that can be exercised either on demand or as part of an automated test suite. <br /> The accelerated delivery cycles of mobile applications requires fast and effective test cycles. Rational Test Workbench streamlines collaboration between your development experts and test experts to identify, create, and manage the most effective set of test scenarios for your project. <br /> Additional Background <br /> IBM Rational is announcing the launch of the Rational Test Workbench family, now in Beta, featuring support for mobile test automation. Combined with enhanced functional GUI, integration, performance testing, and service virtualization features, Rational Test Workbench delivers an end-to-end continuous testing capability leveraging test automation for your mobile, multi-tiered and multichannel application environments. <br /> The accelerated delivery cycles of mobile applications requires fast and effective test cycles. Whether you are developing native, or hybrid applications Rational Test Workbench simplifies the development of mobile tests with code-less tests scripts and visual editing. Our integrated test and quality management solution enables the collaboration between your application/process SMEs and test automation experts to identify, create, and manage the most effective set of test scenarios for your development iterations. <br /> Leveraging the power of Eclipse, teams will be able to quickly move from the creation of a Worklight application, to testing within Rational Test Workbench. Integration with the IBM Mobile Development Lifecycle Solution provides traceability across requirements and defects for full visibility and control of the software delivery lifecycle. <br />

Mobile application development Mobile application development Presentation Transcript

  • Mobile Application Development Eric Cattoir IBM Rational Client Technical Professional
  • © 2014 International Business Machines Corporation 2 Disclaimer • This presentation is based on a lot of sources – See also references slide in back • Purpose is to give an overview – not to be complete on any of the technologies • Things in this world are evolving quickly • We discuss a lot of industry initiatives with some focus on how IBM fits in there
  • 3 Agenda  Introduction  Mobile Application Development  Reference Architectures  Mobile Applications Client Side Server Side  Mobile Testing  Summary
  • 4 Agenda  Introduction  Mobile Application Development  Reference Architectures  Mobile Applications Client Side Server Side  Mobile Testing  Summary
  • © 2014 International Business Machines Corporation 5 Short Intro Video http://www.youtube.com/watch?v=Eegb0PDzTTI
  • © 2014 International Business Machines Corporation 6 Demo High Level Architecture
  • © 2014 International Business Machines Corporation 7 What has changed in society? • A fundamental change in communication occurred Texting, Twittering and Facebooking have made social networking the base of next-generation communication A third generation of communication is leading and is based on:  Real time connection between people  Smart and geographically-aware devices  Cheap bandwidth • A fundamental change in collaboration capabilities occurred Today people can collaborate synchronously and asynchrounously Wikis, collaboration tools, chats, web conferences, video streams.... Barriers become more important to overcome in today’s globalized environment
  • © 2014 International Business Machines Corporation 8 What has changed in IT? A fundamental change in IT innovation occurred In the past, enterprise IT lead the way  New systems made their way from large companies, to small businesses, to home office applications, and finally to consumers, including students and children – Today, consumers are leading the way • Consumer services, social sites and interactive games are making their way into businesses • The consumarization of IT is also underway Employees are using popular "consumer market" technologies and devices at home and then introducing them in the workplace Employees are also leveraging social media and networking sites like Facebook and Twitter.
  • © 2014 International Business Machines Corporation 9 What is meant by Systems of Engagement? General definition: Systems of Engagement is a solution (“Systems”) which has multiple ways how users can “engage” (interact) focusing on communication and collaboration across boundaries becoming more consumer oriented and increasing efficiency and productivity. “Empower customers, employees and partners with context-rich apps and smart products to help them decide and act immediately in their moments of need.” (Forrester’s definition of SoE with input from Geoffry Moore)
  • © 2014 International Business Machines Corporation 10 Business Model •Free version – key features •Premium versions (paid) • Business • Business Plus • Executive •Revolution & evolution in the job market scenarios Social & People Centric •Quickly build a professional social network •Publish your professional profile •Visibility to your connections profiles •Easily join professional groups •Endorse others with skills •Recommend others to help job finding •Efficient job hunting •Integrated messaging/email •Connected with social tools Example of SoE in action - Linkedin – social professional network with 225,000,000 users! SoR to SoE CVs + HR databases + Recommendation Letters Linkedin (Social professional network) Engaging aspects Extremely Social & People Centric Web & Mobile support Multi-language Highly Performant Free & Premium Performant •Scales to millions of users world wide •Extremely fast response time Mobile •iOs, Android, Windows Phone •Phones & tablets Multi-language •The app is a vailable in various languages
  • © 2014 International Business Machines Corporation 11 A summary comparison between Systems of Record and Systems of Engagement Systems of Record Systems of Engagement Orientation Data-centric User-centric Usability User learns system System learns user Focus Transactions Interactions Governance Command & Control Collaboration Value Single-Source of Truth Open Forum for Discovery & Dialog Performance Standard Accuracy & Completeness Immediacy & Accessibility Policy Focus Security (Protect Assets) Privacy (Protect Users) Source: aiim & tcgAdvisors - A “Future History” of Content Management
  • © 2014 International Business Machines Corporation 12 Mobile in Context of Systems of Engagement Mobile is about transacting 1 96% year to year increase in mobile cyber Monday sales between 2012 and 2011 Mobile enables the Internet of Things 91% of mobile users keep their device within arm’s reach 100% of the time 5 Trends with significant implications for the enterprise 2 4 3 Mobile is primary 5 90% of users use multiple screens as channels come together to create integrated experiences Mobile must create a continuous brand experience Global Machine-to-machine connections will increase from 2 billion in 2011 to 18 billion at the end of 2022 Insights from mobile data provide new opportunities 75% of mobile shoppers take action after receiving a location based messages 2
  • © 2014 International Business Machines Corporation 13 Mobile is primary 91% of mobile users keep their device within arm’s reach 100% of the time Insights from mobile data provide new opportunities 75% of mobile shoppers take action after receiving a location based messages Mobile is about transacting 96% year to year increase in mobile cyber Monday sales between 2012 and 2011 Mobile must create a continuous brand experience 90% of users use multiple screens as channels come together to create integrated experiences Mobile enables the Internet of Things Global Machine-to- machine connections will increase from 2 billion in 2011 to 18 billion at the end of 2022 A business in motion must be mobile first
  • © 2014 International Business Machines Corporation 14 85% of adults who have completed a mobile transaction in the past year expect the experience to be better than using a laptop or desktop computer Yet 41% of comments about the top mobile companies expressed frustration Source: Harris Interactive Survey of Mobile User Experience March 2011 Expectations versus Realities
  • © 2014 International Business Machines Corporation 15 The same percentage of developers who claim Testing and Quality Assurance is in their top 5 concerns… Also claim they are challenged with developing applications as quickly as management wants SD Times: “More than half of organizations are building mobile applications” http://www.sdtimes.com/link/36553 Quality versus Time, who hasn’t faced this challenge?
  • 16 Agenda  Introduction  Mobile Application Development  Reference Architectures  Mobile Applications Client Side Server Side  Mobile Testing  Summary
  • © 2014 International Business Machines Corporation 17 Why mobile development is different Development is different.Mobile apps are different. • They are more strategic – Greater urgency and immediacy of engagement • The risk is more visible – app stores show ratings and comments and can prevent user adoption • They are context-aware – know where you are and what you are doing • They run on unstable networks– interruption is the norm, not the exception • Smaller footprint – More challenging to make compelling and easy to use • Always on – An opportunity to deliver greater value • Faster development cycles drives automation demand • More devices to support, each with its own set of capabilities, OS and UI behaviors • More development approaches to choose from – Web, HTML, Native • More third-party and open-source tools, frameworks and libraries to choose from • One constant exception: enterprise software services coordination
  • © 2014 International Business Machines Corporation 18 Mobile Lifecycle Management & Testing Data Access & Integration Building & Deploying Mobile Apps  Secure code and reuse across platforms  Management needs for B2C / B2B / B2E  Analytics & continuous improvement  Address multi-channel and multi-tier Rapid Prototyping  Access to device inventory  Test automation & planning  Lifecycle management  Team collaboration & automation  Fit within existing enterprise development process  Short project cycles & integration effort  Different data usage patterns for mobile  Content delivered in context  Driving engagement (push) across multi-tier systems How do I develop & deliver across platforms? How do I test and manage the lifecycle of the app? How do I integrate into existing systems? Mobile app development imperatives and challenges
  • © 2014 International Business Machines Corporation 19 Development Lifecycle
  • 20 Agenda  Introduction  Mobile Application Development  Reference Architectures  Mobile Applications Client Side Server Side  Mobile Testing  Summary
  • © 2014 International Business Machines Corporation 21 IBM introduces the IBM MobileFirst offering portfolio AnalyticsSecurityManagement IBM & Partner Applications Application Platform and Data Services Banking Insurance Transport Telecom Government Industry Solutions HealthcareRetail Automotive Application & Data Platform Strategy&DesignServices Development&IntegrationServices Cloud & Managed Services Devices Network Servers
  • © 2014 International Business Machines Corporation 22 Capability View
  • © 2014 International Business Machines Corporation 23 Microsoft Reference Architecture Source Microsoft Mobile Architecture Guide
  • © 2014 International Business Machines Corporation 24 Logical Architecture Client Middle Tier Backend
  • © 2014 International Business Machines Corporation 25 Example Implementation 25
  • 26 Agenda  Introduction  Mobile Application Development  Reference Architectures  Mobile Applications Client Side Server Side  Mobile Testing  Summary
  • © 2014 International Business Machines Corporation 27 Client Side Client Middle Tier Backend
  • © 2014 International Business Machines Corporation 28 Client Architecture Choices Web Application Desktop and mobile using open web programming models Limited to no device- specific functionality Native Mobile Application Mobile only, using native languages Native appearance, device capabilities, perform ance Mobile Web Application Mobile only using open web client programming models Hybrid Mobile Application Mobile only, app runs on device leveraging open web via JavaScript bridge Native device capabilities Mobile Browser Execution Application Store download and install Richness of Mobile Presentation / Services Portability (cross-device reuse) Maintenance Cost (TCO)
  • © 2014 International Business Machines Corporation 29 Publish in AppStoreClient Architecture Choices  Native code  Access to full set of lower-level device capabilities Native Appl. Device APIs 100101010101110 100101001001010 111010010011010 101010100100100 101111001001100 101010100101010 101001010101010 101010101011111 10  HTML, JavaScript, CSS, with optional native code  Installed and run like a native mobile app; mobile-optimized UI  Access to lower-level device capabilities Native Shell Web Native Device APIs <!D OCT YPE html PUB LIC crea ted 100 101 010 101 110 100 101 010  HTML, JavaScript, CSS  Accessed from a mobile web browser; mobile- optimized UI  Limited access to lower- level device capabilities  HTML, JavaScript, CSS  Accessed from a mobile web browser  No device-specific capabilities Mobile Browser Web Code <!DOCTYPE html PUBLIC <html> <! - - created 2003-12-12 - - <head><title>XYZ </title> </head> <body> </p> Web Mobile Web Hybrid Mobile Native Richness of Mobile Presentation / Services Portability (cross-device reuse) Maintenance Cost (TCO) Mobile Browser Web Code <!DOCTYPE html PUBLIC <html> <! - - created 2003-12-12 - - <head><title>XY Z</title> </head> <body> </p>
  • © 2014 International Business Machines Corporation 30 HTML5 is both an app deployment platform (on-browser) and a technology for creating native apps (off-browser). 37% of mobile developers use as a platform, i.e. to develop mobile websites, or web-apps. An additional 15% of app developers use HTML5 beyond the browser, via hybrid apps or HTML5-to-native tools. Technology Choices – See study from Vision Mobile 2013 was a year that cemented the Android/iOS duopoly beyond any doubt. Android reached 81% of smartphone sales in Q3 2013. Moreover, Android continues to dominate Developer Mindshare with 71% of developers that target mobile platforms, developing for Android, according to our latest survey of 7,000+ developers. With the market flooded with Android handsets, the surprising fact is that Android’s Developer Mindshare has not increased any further. on HTML5 vs. native development, off-browser routes like PhoneGap, Appcelerator or FireFox OS can mitigate issues relating to performance or API access. In spite of these issues, HTML5 remains a very attractive cross- platform development route for developers, 16% of whom indicate their intention to adopt the platform. HTML5 has become a bit of a misnomer since it is a technology stack rather than a fully-fledged app ecosystem. Developers employ HTML5 technology in a number of ways: to develop mobile websites, web apps, hybrid apps or use HTML5 code within native apps to display web content. In that sense, HTML5 can be viewed as both a deployment platform (onbrowser) and a technology that can be used beyond the browser (off- browser), through tools such as PhoneGap, Appcelerator, Firefox OS and 10s more. Firefox OS now claims a 7% Developer Mindshare which is by no means competitive, but presents a solid foothold for a platform that launched a commercial handset just six months ago. On top of that, 14% of developers indicated that they plan to adopt the platform. Mozilla aims to create an app ecosystem centred around HTML5, by adding ecosystem features and capabilities that are currently missing: web app discovery, distribution, and monetisation.
  • © 2014 International Business Machines Corporation 31 Platform Choices
  • © 2014 International Business Machines Corporation 32 IOS Development • Requires Mac • IDE Xcode • Language : Objective C Alternative C, C++ MonoTouch C# using Xamarin • Deployment through Appstore
  • © 2014 International Business Machines Corporation 33 Android Development • Mac, Linux or Windows • IDE Android SDK (Android Studio in prerelease) • Language : Java Alternative C, C++ MonoDroid C# • Deployment through Play Store or by installing APK
  • © 2014 International Business Machines Corporation 34 Windows Phone Development • Windows • IDE VisualStudio • Language : C# Alternative C, C++ • Silverlight or XNA Framework • Deployment through Windows Phone Marketplace
  • © 2014 International Business Machines Corporation 35 BlackBerry Development • Linux, Windows • IDE Momentum, Visual Studio • Language : C, Alternative C, C++ • Qt framework • Deployment Desktop Manager or Blackberry Enterprise Server or Blackberry App World
  • © 2014 International Business Machines Corporation 36 HTML 5 Development • Linux, Windows, Mac, Web • IDE Many available • Language : HTML 5, CSS, JavaScript • Many frameworks • Deployment through Web Server
  • © 2014 International Business Machines Corporation 37 Major Javascript Mobile Toolkits and Related Frameworks Mobile Toolkits Dojo Mobile JQuery Mobile Sencha Touch Toolkits Dojo Toolkit Dojox Dijit Dojo Base/ CoreUtil JQuery UI JQuery Sencha Jquery Mobile Sencha Touch EXT GWT EXT JS EXT Core
  • © 2014 International Business Machines Corporation 38 Comparing Dojo and JQuery
  • © 2014 International Business Machines Corporation 39 Mobile First Design
  • © 2014 International Business Machines Corporation 40 Responsive Design Simple Example @media all and (min-width: 651px) { #quotePrice: { float:left; position:relative; width:320px } #quotePriceList: { float:left; position:relative; width:320px } } @media all and (max-width: 650px) { #quotePrice: { position:relative; width:320px } #quotePriceList: { position:relative; width:320px } http://www.dwuser.com/educatio n/content/responsive-design-a- crash-course-and-demo/ http://www.dwuser.com/educati on/content/creating- responsive-tiled-layout-with- pure-css/
  • © 2014 International Business Machines Corporation 41 • Accelerate Development Web, hybrid, and native development: open, flexible, standard-based, multi-screen/omni- channel Functional testing Development lifecycle tools and integration • Facilitate App Security and Trust Server-enforced authentication App authenticity and user-app-device binding Secure and syncable on-device storage App version enforcement • Enable User Engagement Unified push and SMS notifications Geolocation and context collections and intelligence Mobile-friendly integration • Support Mobile Analytics Efficient acquisition of analytics data Development, operational, and business analytics Offline and online event management IBM Worklight: A mobile application platform Example of Hybrid Development
  • © 2014 International Business Machines Corporation 42 Feedback Management Reporting for Statistics and Diagnostics PublicAppStores Worklight Application CenterDevelopment Team Provisioning App Feedback Management Enterprise App Provisioning and Governance 2 Device RuntimeCross-Platform Compatibility Layer Encrypted and Syncable Storage Runtime Skins Server Integration Framework ApplicationCode 3 Worklight Console 5 Unified Push and SMS Notification Development and Operational Analytics App Version Management ckendSystems&CloudServices Worklight Server User Authentication and Mobile Trust Mashups and Service Composition JSON Translation Adapter Library for Backend Connectivity StatsandLogsAggregation Unified Push Notifications Client-Side App Resources Direct Update Mobile Web Apps 4 Geolocation Services 5, Hybrid, and Native Coding ptimization Framework Integrated Device SDKs Party Library Integration Build Engine Worklight Studio SDKs Functional Testing WYSIWG Editor and Simulator Blackberry Android iOS Windows Phone Java ME Windows 8 Mobile Web Desktop Web 1 Enhanced crash & platform-level exception capture Location-based event handling Worklight Components
  • © 2014 International Business Machines Corporation 43 Worklight Studio • Eclipse Based IDE • Native, hybrid and standard web development • Environment-specific optimization • Native development options • Runtime skins • 3rd-party library integration • Device SDK integration • Access to emulators and debugging tools • Supports auto-complete and validation HTML5, Hybrid, and Native Optimization Framework Integrated Device SDKs 3rd Party Library Integration Build Engine Worklight Studio SDK's Functional Testing WYSIWG Editor and Simulator Blackberry Android iOS Win Phone Java ME Windows 8 Mobile Web Desktop Web
  • © 2014 International Business Machines Corporation 44 Preview in Browser Perform device-specific tests in the Mobile Browser Simulator: supports Cordova and Worklight client API
  • © 2014 International Business Machines Corporation 45 Worklight Studio – Common Code Structure • common resources serve as the basis for the optimized environments that may be added later. hold resources that are shared by all environments. • lib directory stores 3rd party library files for the project • js (JavaScript files) auth.js – authentication messages.js – internationalization myApp.js – application code • MyApp.html file is initially configured as main file application-descriptor.xml contains reference to "mainfile“ enable authentication (onDemand, onStartup) worklightRootURL (application URL) environment specific references
  • © 2014 International Business Machines Corporation 46 Worklight Studio - Environment Optimization HTML files from an environment folder will ove images from an environment folder will overrid JavaScript from an environment folder is appended to the same file in the common folder CSS files from an environment folder will be appended to the CSS files in the common folder
  • © 2014 International Business Machines Corporation 47 Integrated Device SDKs
  • © 2014 International Business Machines Corporation 48 Edit within Worklight Studio
  • © 2014 International Business Machines Corporation 49 Rich Page Editor (WYSIWYG UI Construction) • Eclipse perspective for Worklight projects. • Optimized layout for hybrid app development • Rich page editor: drag- and-drop, palette of components, propertie s view, beautified outline, and raw editable source code • Changes to code automatically apparent in rich page editor, and vice-versa, for quick development
  • © 2014 International Business Machines Corporation 50 Mobile Functional Test Tools • Create, run, and automate tests on mobile applications • Improve quality and time-to-value with industry-first app testing Create resilient and code-less test cases Record once, play back on multiple devices • Standardized, eclipse based • Comprehensive – Android and iOS, Native and hybrid • Complete – Recording, editing, and running on mobile devices • Resilient – Same test runs across multiple devices • Also for non-developers – Scripts in natural language description New in Worklight 6.0
  • © 2014 International Business Machines Corporation 51 Centralized Build Create an Worklight project and application in Eclipse via Worklight Studio Add a mobile environment of your choosing Add app content Build and deploy it to the Worklight Server Use the specific environment tools to deploy to device  Eclipse for Android  Xcode for iOS  Visual Studio for Windows Phone  Ripple for BlackBerry Worklight Build System Source Code Repository Worklight Applicati Center
  • © 2014 International Business Machines Corporation 52 Worklight Studio: Back-end Integration • Secure back-end integration with Worklight Adapters • Out of the box support for SQL, HTTP (REST and SOAP), Cast Iron, and JMS Adapters • XML-based declarative specification and JavaScript programming • Multi-source data mashups and back-end service composition • Simplified adapter testing • Access to session data and user properties • Server-side debugging
  • © 2014 International Business Machines Corporation 53 Application Center • The Worklight Application Center enables companies to easily set up an enterprise app store for their enterprise and development teams. • The Application Center provides: Administrators with fine-grained control over the distribution of mobile apps across the enterprise, including ACL and LDAP support; Employees with a central location for the latest apps needed by their department and optimized for their device; Developers with an easy way to distribute mobile builds and elicit feedback from development and test team members. PublicAppStores Worklight Application CenterDevelopment Team Provisioning App Feedback Management Enterprise App Provisioning and Governance 2
  • © 2014 International Business Machines Corporation 54 Worklight Server • Adapters with support for SOAP, REST, SQL, JMS, IBM Cast Iron, and Node.js (preview in 6.0) • Performs Data Transformation to streamline back-end data for mobile consumption • Server and device Security control • Supports Physical Clustering for high availability • Controls Application Deployment and Versioning • Push Notification administration • Analytics including user adoption, usage data, app crash and exceptions EnterpriseBackendSystems&CloudServices Worklight Server ser Authentication and Mobile Trust Mashups and Service Composition JSON Translation apter Library for Backend Connectivity StatsAggregation Unified Push Notifications Client-Side App Resources Direct Update Mobile Web Apps
  • © 2014 International Business Machines Corporation 55 Worklight Runtime – Direct Update On-device Logic 1. Web resources packaged with app to ensure initial offline availability 2. Web resources transferred to app's cache storage 3. App checks for updates on startup and foreground events 4. Updated web resources downloaded when necessary, with user confirma Worklight Server Native Shell Pre-packaged resources 1 Download 4 Update web resource App Store Web resources Cached resources 2 Transfer 3 Check for updates
  • © 2014 International Business Machines Corporation 56 Geo-location Scenarios Routing trucks arriving at warehouse Location-aware security for hospital app Username Password Submit ✔ ? Automatic Check-In ............ … …… …… …… hotel check-in g mall experience SMS, Push
  • © 2014 International Business Machines Corporation 57 Worklight Console • Application Version Management Install, update, disable, enable • Push management • Configurable audit log • Administrative dashboards for: Deployed applications Installed adapters Push notifications • Development and Operational Analytics Device RuntimeCross-Platform Compatibility Layer Encrypted and Syncable Storage Runtime Skinning Server Integration Framework ApplicationCode 3 Worklight Console 5 Unified Push and SMS Notification Development and Operational Analytics App Version Management kendSystems&CloudServices Worklight Server User Authentication and Mobile Trust Mashups and Service Composition JSON Translation dapter Library for Backend Connectivity StatsAggregation Unified Push Notifications Client-Side App Resources Direct Update Mobile Web Apps 4 Geolocation Services
  • © 2014 International Business Machines Corporation 58 Unified Push Notifications Back-end SystemBack-end System Back-end SystemBack-end System Polling Adapters Message-based Adapters Unified Push APINotification State Database User-Device Database iOS Dispatcher Android Dispatcher BlackBerry Dispatcher (roadmap) Windows Phone Dispatcher SMS Dispatcher Apple Push Servers (APN) Google Push Servers (GCM) RIM Push Servers Microsoft Push Servers SMS/MMS Brokers Administrative Console Worklight Client-side Push Services iOS Push API Android Push API BlackBerry Push API Windows Push API Broker API Uniform access to push notifications providers ‒ Register for, Notify and Receive a notification Register for and Send SMS based notifications ‒ E.g., for JME Worklight Client-side Push Services Worklight Client-side Push Services Worklight Client-side Push Services
  • 59 Agenda  Introduction  Mobile Application Development  Reference Architectures  Mobile Applications Client Side Server Side  Mobile Testing  Summary
  • © 2014 International Business Machines Corporation 60 Server Side Client Middle Tier Backend
  • © 2014 International Business Machines Corporation 61 Middleware Choices • SOAP defines a standard communication protocol (set of rules) specification for XML-based message exchange. SOAP uses different transport protocols, such as HTTP and SMTP. The standard protocol HTTP makes it easier for SOAP model to tunnel across firewalls and proxies without any modifications to the SOAP protocol. SOAP can sometimes be slower than middleware technologies like CORBA or ICE due to its verbose XML format. • REST describes a set of architectural principles by which data can be transmitted over a standardized interface (such as HTTP). REST does not contain an additional messaging layer and focuses on design rules for creating stateless services. A client can access the resource using the unique URI and a representation of the resource is returned. With each new resource representation, the client is said to transfer state. While accessing RESTful resources with HTTP protocol, the URL of the resource serves as the resource identifier and GET, PUT, DELETE, POST and HEAD are the standard HTTP operations to be performed on that resource.
  • © 2014 International Business Machines Corporation 62 Implementing Backend Services • Provide Data and Operations for Mobile Frontend • Many Possible Technology choices J2EE Stack Microsoft .Net Stack PHP Node.JS Python … • Choice Depends on Skills Available infrastructure Integration Requirements History
  • © 2014 International Business Machines Corporation 63 Node.js • JavaScript escapes from the browser! • A tiny (5.6MB install) runtime for creating web Servers using JavaScript that is generating a lot of interest • Part of the 'JavaScript everywhere' thing • See Jerry Cuomo talking about it here
  • © 2014 International Business Machines Corporation 64 Node.js simple example var express = require('express'); var app = express(); app.get('/nl', function(req,res){ res.send('Hallo wereld'); }); app.get('/fr', function(req,res){ res.send('Bonjour tout le monde'); }); var port=8080; app.listen(port);
  • © 2014 International Business Machines Corporation 65 Node.js Package Manager • Easy to Install Additional Packages from Central Repository Example  npm -install express • Allows you to add additional functions Large set of modules available  Eg. Node-red visual tool for wiring the internet of things • Thousands of Packages available Example Node-red IBM Emerging Technologies around Internet of Things
  • © 2014 International Business Machines Corporation 66 Node-red Example
  • © 2014 International Business Machines Corporation 67 Relational Databases…… tables of rows (tuples) columns have a single (typed) value. All Operations take and return tuples a powerful simple general model Atomic Consistent Independent Durable Transactions across ALL the data.
  • © 2014 International Business Machines Corporation 68 App1 App3 App2 Relational DB Relational DBs allow multiple applications to share database. Integration Databases Application Databases App / service 1990s 2000s Nosql or Relational DB Trend is to dedicated databases & SOA
  • © 2014 International Business Machines Corporation 69 Problems with relational databases • Mismatched to in-memory object model. Led to ORMs and Object databases. • Prevalence of “Graph” problems. • Scale up not scale out.
  • © 2014 International Business Machines Corporation 70 Relational databases Some Nosql DBs: ACID Transactions Eventual Consistency Transactions across all data Limited scope transactions Flat relational model Aggregates in the data model. Must Scale Up Can Scale Out
  • © 2014 International Business Machines Corporation 71 NoSQL Data Models Nosql Data Model graph aggregate Key value Document Column store • Concept of an Aggregate Collection of data that we access together. Boundaries for ACIDity Aggregates make it easy for the database to manage and distribute data.
  • © 2014 International Business Machines Corporation 72 Key-value store Key Opaque Blob of data. aggregate Value
  • © 2014 International Business Machines Corporation 73 Document database Key value Some structured data, with limits on types. aggregate
  • © 2014 International Business Machines Corporation 74 Column Store
  • © 2014 International Business Machines Corporation 75 Graph
  • © 2014 International Business Machines Corporation 76 C A P Availability: Each client can always read and and write Consistency: All clients always have the same view of the data Partition Tolerance: The system tolerates communication failures. Pick Two CP CA AP BigTable Hbase MongoDB Terrastore BerkleyDB MemcacheDB Redis DB2 Mysql Oracle Postgres Dynanamo Voldemort KAI Cassandra SimpleDB CouchDB (E.g IBM Cloudant) Riak Relational Key-Value Column-Oriented Document-Oriented Graph Data Models Based on Nathan Hurst’s Blog neo4J CAP & Data Model classification
  • © 2014 International Business Machines Corporation 77 Run Your Apps The developer can chose any language runtime or bring their own. Just upload your code and go. DevOps Development, monitoring, deployment and logging tools allow the developer to run the entire application APIs and Services A catalog of open source, IBM and third party APIs services allow a developer to stitch together an application in minutes. Cloud Integration Build hybrid environments. Connect to on- premises systems of record plus other public and private clouds. Expose your own APIs to your developers. Extend SaaS Apps Drop in SaaS App SDKs and extend to new use cases (e.g,. Mobile, Analytics, Web) IBM BlueMix
  • © 2014 International Business Machines Corporation 78 New Applications Create New Developer Needs  Environments set up in minutes versus days or weeks  Choice: Languages, Services and Tools  Friction free way to experiment with new middleware capabilities  Self service environment to deploy, scale and monitor applications  Securely connect to and integrate with existing applications data
  • © 2014 International Business Machines Corporation 79 Cloud Operating Environment Development Services Operational Services Infrastructure Services Application Services CREATE CONSUME CAPACITYCONTROL • Enable applications to be rapidly & incrementally composed from services • Deliver application changes continuously • Enable continuous availability • Support fit-for-purpose programming models & services • Embed manageability of services & application • Workload Optimized & Elastic APPLICATIONS / WORKLOADS • Persistence • Messaging & Workflow • Scripting & Programming Languages • Compute, Storage, Netw ork • Clustering & Elasticity • Logging • Monitoring • Security • Code Repository & Version control • Continuous build & Test Cloud Operating Environment Architecture
  • © 2014 International Business Machines Corporation 80 Standardization; OPEX savings; faster time to value Networking Storage Servers Virtualization O/S Middleware Runtime Data Applications Traditional On-Premises Networking Storage Servers Virtualization O/S Middleware Runtime Data Applications Platform as a Service Networking Storage Servers Virtualization O/S Middleware Runtime Data Applications Software as a Service Networking Storage Servers Virtualization Middleware Runtime Data Applications Infrastructure as a Service O/S Vendor Manages in CloudClient Manages aaS – split of provider- and consumer-side responsibilities
  • © 2014 International Business Machines Corporation 81 Workload definition, Optimization, & Orchestration Software Defined Environment Software Defined Compute Software Defined Storage Software Defined Networking Resource Abstraction & Optimization datastore mobile devopsmiddleware Services Traditional Workloads Services & Composition Patterns API & Integration Services Traditional Workloads security cloudfoundry.org OPEN ecosystem of composable services Optimized workload deployment Integration patterns with systems of record CapabilityValue Fast, automated composition of services Repeatable patterns-of-expertise Hardware Cloud Operating Environment Developer centric platform, marketplace & services in a Cloud Operating Environment
  • © 2014 International Business Machines Corporation 8282 ©2014 IBM Corporation Continuing our history of embracing and extending Open Source Embracing Cloud Foundry As An Open Source PaaS
  • © 2014 International Business Machines Corporation 83 Upload your code and run your application in seconds Run Your Apps
  • © 2014 International Business Machines Corporation 84 Dev Ops Liberty for Java RubyNode.js “Bring Your Own Buildpack” SQL Database JSON Database Mongo DB PostgreSQL Mobile Data Data Managemen t Services MQTT CloudCode Mobile App Mgmt Mobile Services Mobile Quality Assurance BLU Data Warehouse MySQL Twilio Data Cache Session Cache Elastic MQ Web & App Application Decision SSO Redis MapReduce RabbitMQ Log Analysis Historian Internet Of Things Push Runtimes Monitoring and Analytics Git Hosting Deployment Automation Web IDE Agile Developmen t A broad range of runtimes & services
  • © 2014 International Business Machines Corporation 85 The Mobile Backend Starter application is a pre-defined set of mobile services that make sense together
  • © 2014 International Business Machines Corporation 86 Looking at the boilerplate, a mobile developer can get an idea of the types of services available in the boiler plate application
  • © 2014 International Business Machines Corporation 87 http://www.bluemix.net
  • © 2014 International Business Machines Corporation 88 Mobile Security Considerations
  • © 2014 International Business Machines Corporation 89 Security Framework
  • © 2014 International Business Machines Corporation 90 Billions of smart devices instrument our world today Interconnecting these smart devices c The Internet of Things
  • © 2014 International Business Machines Corporation 91 Why MQTT design goals (1998) • MQTT == MQ Telemetry Transport • The MQTT specification is open and royalty free for ease of adoption http://www.ibm.com/developerworks/webserices/library/ ws-mqtt/index.html • Open-source implementations available • A Publish Subscribe messaging protocol allowing a message to be published once and multiple consumers (applications / devices) to receive the message Support loose coupling Durable and non durable subscriptions A publication may be retained • Designed for constrained devices Tiny footprint MQTT client (and server) libraries E.g. a c client lib in 30Kb and a Java lib in 64Kb Suited to applications / devices that may have very limited processing resources available  8 Bit controllers upwards
  • 92 Agenda  Introduction  Mobile Application Development  Reference Architectures  Mobile Applications Client Side Server Side  Mobile Testing  Summary
  • © 2014 International Business Machines Corporation 93 The Quality of mobile applications is critical 93 Mobile apps can increase customer interaction, improve productivity and offer access to new markets. But poor quality can have a real impact on business. The number of mobile devices and platforms is continuously growing, and the pace of delivery and response to customer feedback is a growing challenge. The mobile ecosystem extends back-end services and integrated platforms which complicates end-to-end application testing. How can we ensure software quality in a cost effective way?
  • © 2014 International Business Machines Corporation 94 41% of projects fail to deliver expected business ROI Quality Management for Systems of Engagement Accelerating delivery of high quality, multi-tiered mobile applications Solutions to improve ROI: 1. Automate UI and Performance tests for mobile apps 2. Virtualize back-end services to maintain agility 3. Improve manual test case management and optimize execution across multiple mobile devices 4. Extend Worklight with automated testing Cross cutting mobile themes, addressed by Rational Software
  • © 2014 International Business Machines Corporation 95  Mobile Test Automation Support for native, and hybrid applications running on Android and iOS Natural language test and visual test editing Simplified IDE and mobile device clients for test authoring, execution, and reporting High-fidelity capture an replay of multi-touch events  Eclipse Client integration Mobile Test Automation Support for Selenium web GUI test automation Multi-channel test scenarios Integration with Rational Quality Manager and the IBM Worklight mobile development platform  End-to-end mobile testing Testing of middle-tier and back end-services Virtualization of middle-tier and back-end systems Performance testing of your integration infrastructure Mobile Test Automation with IBM Rational Test Workbench
  • © 2014 International Business Machines Corporation 96 End-to-end Mobile Application Testing • Examine integration protocols and messages to verify end-to-end communication • Reuse integration tests to verify the scalability of your integration middleware and services infrastructure • Virtualize application services to enable continuous integration, accelerate testing, and reduce application integration risk • Leverage Rational Test Workbench extensive testing features to address non- mobile components of your environment Test and Virtualize mid-tier and back end applications and services Client Tier Middle Tier Backend Data and Services Virtual component or service For more information visit: http://www-03.ibm.com/software/products/us/en/rtvs/
  • 97 Agenda  Introduction  Mobile Application Development  Reference Architectures  Mobile Applications Client Side Server Side  Mobile Testing  Summary
  • © 2014 International Business Machines Corporation 98 Bringing it all Together
  • © 2014 International Business Machines Corporation 99 References • IBM Mobile Reference Architecture http://www.ibm.com/mobilefirst/us/en/ • Architecting Mobile Solutions for the Enterprise – Dino Esposito ISBN: 978-0-7356-6302-2 • Microsoft Mobile Architecture Guide • HTML 5 and CSS 3 Responsive Web Design cookbook – Benjamin Lagrone ISBN: 978-1-84969-544-2 • SAMS Teach yourself HTML 5 in 24 hours - Jennifer Kyrnin ISBN-13: 978-0-672-33440-5 • Mobile Design Pattern Gallery – Theresa Neil ISBN: 978-1-449-31432-3 • Professional Mobile Application Development - Jeff MCWerther, Scott Gowell ISBN: 978-1-118-20390-3 • IBM Bluemix http://www-01.ibm.com/software/ebusiness/jstart/bluemix/ • IBM Institute for Business Value – Mobile study http://www-935.ibm.com/services/us/gbs/thoughtleadership/
  • © 2014 International Business Machines Corporation 100 References.... • IBM Rational Mobile Solutions http://www-01.ibm.com/software/rational/mobile/ • Node Red http://nodered.org/ • IBM Developerworks http://www.ibm.com/developerworks/ • MQTT http://mqtt.org/ • Vision Mobile Developer Economics Report http://www.developereconomics.com/reports/q1-2014/ • Worklight http://www-03.ibm.com/software/products/en/worklight/