Monday Aug 11, 2014

Why Mobile Apps <3 REST/JSON

Author:Martin Jarvis | Senior Director, Fusion Middleware Market Development 

One significant difference that you’ll find in mobile architectures is the preference for REST and JSON over SOAP and XML for mobile web services.We don’t have time today to go into an in-depth comparison of SOAP and REST but lets take a brief look at why REST/JSON is considered best practice in Mobile.


This diagram shows a simplified but typical mobile architecture. We have a number of backend applications and data sources connected through a service bus. In typical SOA environments these will use standards based SOAP and XML as the data exchange mechanism.  This has proven to be a robust and reliable solution behind the corporate firewall and on the high speed corporate LAN. 

The mobile app, running on either a tablet or a smart phone performs all of it’s reading and writing data operations across some form of wireless network, often a public cellular 3g or (if you’re lucky a) 4g network. I’m sure everyone knows that these networks can be unpredictable, they suffer with variable network latency and all too frequent loss of signal. In those environments, SOAP and XML start to look over blown and too heavy.

HTTP is typically used as the transport protocol under both SOAP and REST. REST is tied to HTTP and uses the basic HTTP verbs like GET, POST and PUT to express it’s actions.  SOAP was designed to be transport independent so it defines a much bulkier data envelope using XML, in which to transport the data payload.


JSON is altogether a more compact way to represent data than XML. If you take a look at the two documents above side by side you should notice they actually represent the same data object, but the JSON document has considerably less boiler plate to depict the same data structure, so it takes less bytes to move it across the network. For SOAP messages, once you add on the SOAP envelope you end up with a much larger message to be sent across the network.

JSON is also easier to parse than XML, using less memory and less CPU. On a big enterprise server you don’t notice that so much, but on a mobile device memory and CPU can be in short supply.

A fact that many people forget is that CPU useage on a mobile device has a direct impact on battery life. The more demands you make of the CPU the quicker you consume battery power and the shorter time you have between recharges. This could have real business impact if the mobile user can’t complete their work because the device needs to be constantly recharged.  

So hopefully you now have a better appreciation of why REST/JSON is considered best practice for mobile apps. But that doesn’t mean customers have to rip out their existing SOAP services and replace them with REST. With the Oracle Service Bus the two approaches can happily coexist and interoperate.  This often means customers can quickly expose existing Web Services over REST and reuse existing business logic to shorten app development timescales.

If you’re not yet familiar with the REST and JSON technologies I encourage you to get on Google and start getting up to speed.

Thursday Mar 13, 2014

Standards Corner: Maturing REST Specifications and the Internet of Things

Last week was the IETF's 89th meeting in London. Phil Hunt summarizes news relating to RESTful services (OAuth, JOSE, JSON, SCIM) and new work beginning at the IETF on an authorization standard for the Internet of Things.[Read More]

Tuesday Oct 15, 2013

Unleashing Your Mobile Workforce

Author: Kevin Moulton, Oracle

Your employees use their smartphones and tablets in every aspect of their lives. The days of carrying a second mobile device for corporate calls and emails are over. They don't want to carry multiple devices to do the same job, and they sure don't want to have to go to the office or go back to their desk just to access some corporate application. They want mobile access!

Sure, you have to deal with the challenges of BYOD, but that's for another day. Today, let's talk about how to get your employees what they are demanding. In other words, how do you unleash your mobile workforce?

There are many advantages. Think of your employees out in the field, in the showroom with your customers, or on your manufacturing floor, with all of the data they need to answer questions, make decisions, or write proposals right at their fingertips. Think about the efficiency of your business processes when your employees can complete their workflow tasks anytime, and from anywhere.

Developing Mobile Apps

Oracle ADF Mobile allows you to quickly develop applications using your existing HTML, CSS and Java skills that can be deployed to iOS and Android. There is no need to train or hire staff to write native mobile OS code.  ADF Mobile uses HTML5 for displaying content and Java for business logic. Write the code once, and you have an app that will work on the Apple and Android smartphones and tablets that your employees own and carry. ADF Mobile will render the content appropriately for whatever device the content need be displayed on. In this way, ADF mobile gives you the flexibility of a mobile web app combined with the control of the device capabilities of a native app, such as camera control, location services, and contacts. It is truly the best of both worlds.

Connecting to Back-End Data

The key to a successful mobile workforce is access to applications and data. You want your employees to have access to what they need to get their jobs done without having to go back to the office or back to their desks. Most mobile apps will connect to an application server in order to retrieve, create, and modify data. With ADF Mobile and Weblogic, you can connect to your back-end data with REST-based web services. Weblogic Server supports the WebSocket protocol, included in the HTML5 standard, which allows the client and the server to send data independently of one another over a single connection.



While REST and JSON can be used to connect your mobile apps to your back-end data, enterprise applications are generally not built using these technologies. You need a translator to mediate the changes in protocol and data formats between the mobile apps and your back-end applications. Oracle Service Bus is that mediator. 

Oracle Service Bus can provide a connection via many protocols, including REST, SOAP, HTTP, JMS, RMI, and FTP. Adapters are available for numerous applications, including E-Business Suite, PeopleSoft, Siebel, and SAP.

Business Process Management

Human interaction is often required to complete a business process. For example, expense reports must be approved by managers, tasks need to be routed through different departments, and purchases need to be requested, approved, and fulfilled. With your mobile workforce, your employees will demand the ability to complete their workflow tasks on their smartphones and tablets.  Oracle Business Process Management (BPM) can accomplish your workflow needs, and BPM includes a task list application for iPad, iPhone, and Android.

Summary

The pressure to provide mobile access to enterprise applications is growing by the day.  Oracle Fusion Middleware provides all of the components you need to build mobile apps and give them access to your back end applications and data.

Oracle provides a complete solution to unleash your mobile workforce.

About the Writer:

Kevin Moulton has been in the IT industry for more than 25 years, and with Oracle for 7 years. Kevin is responsible for facilitating technology discussions on social and mobile technologies. He is also a Distinguished Toastmaster. Follow Kevin on Twitter at twitter.com/kevin_moulton, where he sometimes tweets about technology, but might also tweet about running, beer, food, baseball, football, good books, or whatever else grabs his attention. Kevin is a regular contributor to this blog so stay tuned for more posts from him.

About

Get the latest on all things Middleware. Join Oracle's Middleware Community today.

Find Us on facebook Follow us on twitter Catch Us on YouTube 

Search

Categories
Archives
« July 2015
SunMonTueWedThuFriSat
   
1
2
3
4
6
7
8
9
10
11
12
14
15
16
17
18
20
22
24
25
26
28
29
30
31
 
       
Today