Enterprise mobility has transformed the way businesses engage with their customers, partners and staff, using innovative applications that enhance and accelerate the exchange of critical information. However, mobile applications are only part of the overall solution – integration with existing systems in a scalable manner is equally important and challenging.
Enterprises are recognizing the importance of extending their ERP(Enterprise Resource Planning) systems to mobile devices and providing employees with access to internal systems while on the move. This paper examines the approaches for extending Oracle E-Business Suite ERP modules to mobile. It describes the overall architecture and solution, and includes an example of extending the Oracle Applications Field Service module to mobile. In the example, a mobile application is built on the Android platform to leverage the capabilities of the mobile device.
Oracle Integrated SOA module is leveraged to expose web services to outside the firewall. Web services can be generated using pre-built packages or custom packages so as to enable required behavior of the mobile application. A middle layer is introduced to ensure security and mobile device management capabilities. The middle layer ensures that the ERP system is not exposed to outside the firewall to protect the system and its data.
Once web services for requisite functions are exposed, mobile client application can be developed using multiple options: native, cross-platform and mobile web. The technology used depends on business requirements for usability, functionality and the long-term technology roadmap. Oracle ADF Mobile is an excellent option for extending Oracle Applications modules, as it fits well into the overall architecture stack. To select the right approach for developing the mobile client platform, please refer to our white paper: “How to Choose the Right Architecture for your Mobile Application” http://rapidvaluesolutions.com/whitepapers/how-to-choose-the-right-architecture.html
Typical Architecture for Mobilizing Oracle Applications ERP Modules
The diagram below illustrates key architectural components involved in mobilizing Oracle Applications. The main components include:
- Integrated Service-Oriented Architecture (SOA) Gateway – a core component of Oracle Applications, allows service enabling of PL/SQL integration interfaces and deploys them as web services.
- Middle Layer– a custom integration layer that provides security and some mobile device management (MDM) capabilities. The middle layer can also be integrated with a standard MDM package that provides security features. This is an optional layer in the architecture; however this layer increases scalability and security considerably.
- Mobile Client Application– can be built as a native application, hybrid application or a mobile web application. The mobile client interacts with the ERP modules leveraging web services exposed through the Integrated SOA Gateway module.
Each component is explained more in detail in the following sections:
Integrated SOA Gateway
Oracle Integration Repository module within Oracle Integrated SOA Gateway is the centralized repository that contains a number of interface endpoints exposed by applications within the Oracle E-Business Suite. These interfaces are typically exposed as PL/SQL packages that provide certain functionality. The Integrated SOA Gateway provides a comprehensive, consistent browsing view of the interface mechanism which lets users easily discover and search on the business interface from the catalog. In addition, web services can be generated by transforming interface definitions to a machine-processable format that complies with web standards using WSDL. These web services can then be deployed to an application server and used for building mobile applications and other external applications.
Server Middle Layer
A middle layer is an external layer built on the server that facilitates communication of the Mobile Client Application with the enterprise ERP System. This layer resides on a separate server on the DMZ and provides a bi-directional channel between the Oracle SOA and the mobile client application. The middle layer ensures that the server running the main Oracle applications architecture is not exposed to outside the firewall. Only a specific port from DMZ will be exposed to outside world, thus increasing security considerably.
This can be a custom-built layer or one of the MEAP solutions. (Please refer to our white-paper “Point-to-point vs. MEAP – The Right Approach for an Integrated Mobility Solution” for more details on architecting the middleware.) The middleware layer will maintain a secure channel or connection with the ERP system within the Enterprise for transferring desired data between the ERP system and the mobile client application. The middleware layer handles all system integration, security, communication, scalability and cross-platform support. Typically, no data is stored in the middleware; it only manages data from the ERP system to the mobile client application and vice versa.
Mobile Client Application
The end users of the system interact with the ERP system using the Mobile Client Application. Users will be able to see required data from the ERP system on the mobile client application. They will also be able to modify and add new data via the application.
There are multiple options for building mobile client applications, from native applications that provide the best usability to mobile web that provides maximum device coverage. The right approach depends on the user requirements. More information can be found in the section “Options for Building Mobile Client Applications”.
Key Benefits of a Middle Layer
Without a middle layer, the main Oracle architecture would be exposed directly to outside the firewall. The middle layer maintained in the DMZ acts as a bi-directional channel between the Oracle SOA gateway and the mobile device applications, providing secure communication by opening only a specific port on the DMZ to the outside world, thus reducing the impact of external threats.
This layer can be custom built or can be a MEAP solution. Some of the functionality for which the middle layer can be leveraged includes:
- Mobile device provisioning and management.
- Mobile device functions such as remote-wipe of data.
- Analytics and reporting of app usage, GPS mapping, etc.
- Integration with other systems. This layer can be used as a common integration layer which enables information from multiple sources to be integrated into a mobile application.
- Static data cache. Data configurations that do not change frequently can be stored in the middle layer to reduce traffic between the mobile application and the server.
- Optional usage of the application while the Oracle system is down. The middle layer can cache data and synchronize with the Oracle system when the server is in back-up mode. (Which data elements can be synchronized needs to be evaluated carefully to avoid any compromise of data).
Some of these capabilities can be achieved using a standard MDM solution. Therefore, detailed evaluation needs to be done to understand which functionality needs to be included in the middle layer.
Enabling Integrated SOA Gateway and Publishing Web Services
Oracle Integrated SOA Gateway enables publishing of PL/SQL package interfaces and business events from multiple modules and making these packages available as web services for external applications.
Integration Repository comes with a set of native packaged integration interfaces. These interfaces can be transformed into web services through a service generator. Web services are generated in a machine- processable format called WSDL (Web Services Description Language). External systems including mobile clients interact with the web services using SOAP (Simple Object Access Protocol) messages.
In addition to the pre-built integration packages, custom interface packages can be created and web-services generated out of these.
A typical web services generation and deployment process flow is shown below.
- After the interface integration definitions have been identified, custom packages can be written for them. An integration administrator transforms the integration interface definitions residing in Oracle Integration Repository into web services in WSDL URLs.
- An integration repository administrator then deploys the web services.
- Web services are used to build mobile applications.
Please refer to the appendix for an example of WSDL generation.
Options for Building Mobile Client Applications
While many technology options are available for mobile applications development, it’s possible to simplify the lay of the land. Mobile applications can be developed in three fundamental ways:
Build the application for individual platforms using its native development environment. The application is downloaded from an app store and resides on the device.
Build the application once using a cross-platform framework and run it on multiple mobile platforms (after fine-tuning for each platform). The application is downloaded from an app store and resides on the device.
Mobile Web App
Build the application to run over the internet from a central server, from where it can be accessed by any device with a web browser.
Due to differences in underlying technology, each approach has inherent advantages and drawbacks, development frameworks and appropriate use cases. Careful analysis is required to ensure that an application is built using the right technology for the functionality required. The following table summarizes the different approaches:
|Development Approach||Native||Cross-Mobile Platforms||Mobile Web|
|Definition and Tools||
Build the app using native frameworks:
Build once, deploy on multiple platforms as native apps:
Build using web technologies:
|Deployment||App stores||App stores||Over the web|
|Key Use Cases||
For mobile applications integrating with Oracle Applications ERP modules, Oracle ADF Mobile would be an excellent solution since it fits into the overall technology architecture stack.
Key questions that need to be considered when identifying the appropriate mobile client technology include:
- Who will use the app?
- What type of experience do users expect?
- What functionality is required?
- How important is multi-platform compatibility?
- Does the app need to run offline or when the connection is bad?
- Are there industry-specific requirements?
- How much time do you have to build the app?
- Does your staff have the necessary skill sets?
- What’s the total cost of ownership?
- How soon do you need new device or OS features?
The table below compares the different approaches:
|Criteria||Fully Native||Cross-Platform Frameworks||Mobile Web Apps||Comments|
|Cost of Development||
|Features & Performance||
Please refer to our white paper “How to Choose the Right Architecture for Your Mobile Application” for a detailed discussion on this topic.
Oracle ADF Mobile
For mobile applications built on Oracle Applications, ADF Mobile is a great choice for building applications. The ADF Mobile Architecture is illustrated below.
Oracle ADF Mobile is a hybrid platform that allows building applications in Java and HTML5. The applications can run on both iOS and Android Operating System, allowing developers to build applications in the technology with which they are familiar.
Some key advantages of Oracle ADF Mobile are:
- Multi-platform: Ability to develop once and deploy on multiple platforms like iOS and Android.
- Device Access Features: Ability to access device features like GPS, Camera, Email, etc.
- Ease of development: ADF mobile leverages Java and HTML5 frameworks, making development easier.
- Security: ADF Mobile provides security that works with the server back end using a consistent login mechanism and SQL Lite encryption.
- Scalability: ADF Mobile can be extended to other touch-friendly platforms like jQuery, making the platform highly scalable.
Key Steps: Designing Mobile Applications Integrated with Oracle E-Business Suite
The following image provides a framework for building mobile applications integrated with Oracle Applications ERP modules.
Requirements and Strategy
This phase involves understanding the functionality and data requirements, and mapping them to the available web services in Integrated SOA Gateway. This stage also includes identifying any new web services that need to be created.
The key steps are:
- Identify main functionality
For the Field Service mobile application described below, the key requirements would be login, view tasks, view service requests and update debrief.
- Identify key data elements/objects such as tasks, service request and installed base
Identify local data storage/cache requirements
Understanding data synchronization requirements is critical to build a scalable system. For example, in a mobile Field Service application, the requirement may be to show only the active tasks for a particular user which will be cached for that user. Also, some of the static data elements like part numbers and sub-inventories that do not change on a regular basis can be stored locally and synchronized only when a new data element is added.
An optimal definition of data elements that are stored locally vs. accessed live will require the right balance between performance, robustness and functionality. Multi-user support is also an important factor to consider while caching data locally.
Oracle SOA Design and Build
This phase involves identifying the web services that are to be created for the mobile application, mapping with existing web services along with interface packages and creating new services as required.
The key steps are:
- Identify web services
For example, in the case study below, some of the web services would be login, view all tasks or a specific task, and update task status.
Map web services to existing native packaged integration interfaces
Oracle Integration Repository in SOA Gateway comes equipped with a number of pre-defined integration interfaces (PL/SQL packages). Identify all interfaces that can be used.
Identify and create new integration interfaces required
Depending on your business requirements, custom web services may be required. Identify the new integration interfaces (PL/SQL packages) that need to be created to enable this.
Generate WSDLs from the integration packages
Create and deploy a web service WSDL file for a selected interface using Oracle SOA Gateway. This needs to be done for both pre-defined (seeded) integration packages as well as custom integration packages. Custom packages will need to be loaded to the integration repository using the FNDLOAD utility provided by Oracle.
Mobile Client Application Design and Build
Identify the right technology framework to develop the mobile client application after considering all factors discussed in the previous section “Options for Building Mobile Client Applications”.
Case Study: Building a Field Service App on Oracle Applications ERP
A large consumer product firm wanted to extend their Oracle Field Service Application to Android tablets. Some of the key requirements were:
- Login and view tasks
- View service requests for a task
- View customer, location and product details for a task
- View installed base related to a task
- Create debrief information for a task
- Update status of a task
Integrated SOA Gateway was leveraged to publish web services for interface packages. Custom packages were identified and web services were created. Web services were used to integrate with the mobile client. The mobile client in this case was built on Android native platform, as most of field service personnel were provided with Android tablets.
A few screens of the app.