Are you Rational with your mobile development?
Great mobile applications drive strong customer engagement with your enterprise. It is apparent that extending enterprise reach to customers and to employees on the move impacts every developer, not just a small team of experts delivering a mobile UI. Systems of engagement transform the enterprise from a series of transactions to an intimate conversation. This intimacy requires more than just a good looking application, it requires a deep integration with existing systems within the enterprise, which demands the skills of expert enterprise developers.
Rational Developer for System z is an integrated development environment (IDE) that supports developers on Systems Z. The power of RDz is not only that it integrates with the full lifecycle of DevOps, including continuous build, continuous integration, and continuous test, but as a developer you have the ability to perform full stack traces from your enterprise transactions to the UI elements of your web-based (non-native) mobile application. The single integrated development environment give you the ability to see how your application will execute end to end.
Rational Application Developer for WebSphere Software allows for accelerated development of Java, Java EE, Web2.0, Mobile, OSGI, portal and Services Oriented Architecture applications.The IDE supports the DevOps lifecycle and agile development practices.
Worklight Studio allows for development of HTML5, Hybrid, and native applications with
support for native APIs via PhoneGap’s bridge. It supports a growing ecosystem of 3rd party tools, libraries and frameworks such as jQuery Mobile, Sencha Touch, and Dojo Mobile.
Together these three environments work together in a common eclipse shell to provide a powerful multi-channel development platform.
Let’s walk through the process of creating a new mobile banking app. I won’t presume that the entire banking process is just being invented for the new mobile app. As a matter of fact, for most enterprise applications there will already be well developed services which are being exposed to the web. Those services will be the foundation for many of your mobile applications, allowing you to quickly get up and running with that new/engaging mobile app.
Today customers want to have access to all of their critical services 24 hours a day, regardless of where they are; on the train, on a plane, in an automobile, on a boat, with a goat, and even in the restroom (yes, 75% of smart phone users admit to using the device while in the restroom). This engagement also means, that the experience needs to reflect the channel appropriately. Breaking up services to be able to address specific transactions, allows customers to quickly and easily perform those transactions and in a manner that makes the most sense to them.
Which service you want to expose in our new mobile application is driven by the customer and the business’s needs coming together. Your new app will all your bank to offer financing on the spot, rather than requiring your customers to get pre-approved for financing before they have found a car they want. If the application is successful you should be able to measure the outcome in two ways. First, you should see loan inquiries and applications coming through the mobile channel. Second, you should be able to demonstrate that these mobile inquiries drive increased loan business, rather than merely displacing pre-approval applications through the traditional channel. One of the key innovations of DevOps style thinking is to incorporate success metrics from the outset and incorporate support for those metrics into the system design.
You can think of the mobile app as a set of transactions that are driven by the power and context awareness of the mobile device and it’s integration to existing back end services. Knowing the limitations and capabilities of mobile devices, and our fairly short attention span when it comes to our devices, you want to make the app as easy to use as possible, so instead of asking the customer to transcribe information about the car, you want our customer to be able to simply take a picture of the new Car sticker, and then perform a query to the bank’s credit department to ensure they get the best rate.
There are a couple of key data points that make this a uniquely mobile experience:
1) The Window Sticker can be OCR’ed (e.g. converted from image to test via Optical Character Recognition) to identify which options the customer is buying.
2) The Mobile phone can provide the bank with the location of where the customer is at, thereby identifying the dealership and any potential deals that may be published by the dealership.
You want to ensure that the customer has this capability regardless of which smart phone they have. Given these requirements you can choose to write either multiple native applications, or you can leverage the hybrid application platform using IBM WorkLight. By using a hybrid application you can quickly focus on those areas that need native code and minimize the amount of customer code for any specific mobile platform at the same time,e.g. the camera function of OCRing the sticker. You leverage HTML5 for most of the UI and device specific formatting.
You can even take the picture of the Window Sticker and hand it back to the enterprise where existing Java applications can do the work in the background.
You also need the power of the back office systems to provide the best possible rate to our customer, while ensuring minimal risk on the loan:
1) The customer’s existing credit history.
2) Any pertinent banking information available in the bank's existing customer records.
These services are currently implemented on your System z and are currently available when a customer sits with their loan officer at the branch office. So you will need to convert them to service calls which can be accessed via the mobile application. This requires development of new services, and you will want to test them before you enable them to be accessed by mobile phones. Luckily you can do all of this via the same development environment you are accustomed to. The Rational Developer for System Z will not only allow you to develop the new service calls on your System Z, but test them with full stack traces from back to front. Once you’ve developed the services, these are exposed in your hybrid mobile application, allowing you to test and validate the function, all within your familiar development environment.
Now that you’ve got all your services and UIs defined, coded, and tested. It’s time to push the application out to the Worklight Server for deployment to your field test groups. This is where the power of IBM Urbancode Deploy comes in. Each time you release your code to the DevOps lifecycle, build, test, and deploy functions allow for your code to be released passing thru the appropriate gates if successful. This reduces the time it takes for your to get feedback from your testers, and eventually from your customers. Integration of this to your IDE is once again familiar based on the the Rational Developer family of IDEs and their tight integration with Rational Team Concert, where you can manage work items and the automated mobile application builds that feed into UrbanCode Deploy.
As you can see from our little scenario, the Rational Developer family allows for a common, consistent environment for developing your new Mobile Application, along with your existing back office functions and web services, so you can focus on learning new skills in a familiar environment. So try it for yourself today at
About the Author
Michael Rowe spends his time defining and driving the strategy for IBM’s Rational software brand. His primary areas of focus are those aspects of the Rational portfolio that bridge across the brand and the rest of IBM, including DevOps, Mobile, Cloud, and business models such as Software as a Service. Michael has 28 years of IT operations, Systems Integration, development, consulting, and global project management experience. He records a podcast on utilizing gaming techniques and technology in business called Games At Work dot BIZ (available on iTunes). Michael also has an MBA from Duke University's Fuqua School of Business. Follow him on Twitter.