Fusion Middleware A-Team architect Steven Davelaar kicks off a new series that shows you how to use Oracle Service Bus (OSB) 12c to transform SOAP-based enterprise system interfaces into a mobile-optimized REST-JSON API. Read part 1 and Read part 2
To build functional and performant mobile apps, the back-end data services need to be optimized for mobile consumption. RESTful web services using JSON as
payload format are widely considered as the best architectural choice
for integration between mobile apps and back-end systems. At the same
time, most existing enterprise back-end systems provide a SOAP-based web
service application programming interface (API) or proprietary
file-based interfaces. In this article series we will discuss how Oracle
Service Bus (OSB) 12c can be used to transform these enterprise system
interfaces into a mobile-optimized REST-JSON API. This architecture
layer is sometimes referred to as Mobile Oriented Architecture (MOA) or
Mobile Service Oriented Architecture (MOSOA). A-Team has been working on
a number of projects with OSB 12c to build this architecture layer. We
will explain step-by-step how to build this layer, and we will share
tips, lessons learned and best practices we discovered along the way. In
this first part we will discuss how to design the REST API.
start with the first challenge: how do you design an API that is truly
optimized for mobile apps? A common pitfall is to start with the
back-end web services, and take that back-end payload as a starting
point. While that may limit the complexity of transformations you have
to do in OSB 12c (you could even use the automated “Publish-As-REST”
function on a SOAP business service) it leads to an API which is
everything but optimized for mobile. This brings us to our first
The REST API design should be driven by the mobile developer.
He (or she) is the only one who can combine all the requirements, information and knowledge required for a good design:
designs and builds the various screens, knows the supported form
factors and knows exactly which data should be retrieved for which
- he knows the requirements for working in offline mode,
and knows how this can be supported and implemented using his mobile
development tool set.
- he is responsible for data caching strategies to optimize performance in both online and offline scenarios
- he decides which read and write actions can be performed in a background thread not impacting the user-perceived performance.
illustrate how the above aspects impact the design of the API, we will
introduce the sample “human resources” app that we will use throughout
this article series. Lets start with the three screen mockups our API
should support: Read the complete article here.
SOA & BPM Partner Community
regular information on Oracle SOA Suite become a member in the SOA
& BPM Partner Community for registration please visit www.oracle.com/goto/emea/soa (OPN account required) If you need support with your account please contact the Oracle Partner Business Center.
Blog Twitter LinkedIn Facebook Wiki