Recurring Revenue Authors: Zakia Bouachraoui, Yeshim Deniz, Elizabeth White, Pat Romanski, Xenia von Wedel

Related Topics: Recurring Revenue, Java IoT, Microservices Expo

Recurring Revenue: Article

Oracle SOA Suite

An integrated and standards-based platform

The Business Scenario: Order Processing
An order-processing application is a classic example of an SOA application. Imagine a fictional original equipment manufacturer that sells widgets to its customers.

The company uses a virtual inventory business model. Let's say the company deals with two primary suppliers to fulfill orders - Select Manufacturing and Rapid Distributors. The company wants to build an order processing application using SOA principles, secure it, and provide operational dashboards to managers. In this section we show how we can do this using Oracle SOA Suite. Oracle BPEL Process Manager orchestrates all the existing services in the enterprise for order fulfillment with the right supplier; Oracle BAM is used to monitor the order status and other issues; and Oracle Web Services Manager is used to secure and manage the Web services.

In the first step of the process, the company receives sales orders from different channels. Customers are identified from the orders and checked against a credit rating service. The orders' line items are then passed to the two suppliers for price quotes. The process collects the quotes and selects the supplier with the lowest quoted price. This information is passed to the business managers for approval along with other details, including the sales price and the supplier-quoted price, for margin reviews. Once approved, the order is sent to fulfillment. An acknowledgment is sent to the order-placing channel, confirming the acceptance/rejection of the order.

Let's examine the different activities and features of Oracle BPEL Process Manager and see how a developer designs the order processing process. Figure 1 shows the order process in Oracle BPEL Designer:

The order-processing scenario uses various Web services from different suppliers for quotes. For this evaluation, we used a database to insert approved and rejected orders. We liked being able to configure these adapters with graphical wizards. This, in conjunction with many out-of-the-box adapters, will make developers happy.

Since more than one supplier can provide a quote, these services should be called in parallel. We were able to quickly do this by dragging and dropping the BPEL parallel flow activity into the process and adding the necessary logic to it.

To process the orders, you must send them to different applications. This data must be transformed into an application-specific format. Using the XSLT mapper for this transformation was easy, thanks to its drag-and-drop nature. The transform activity takes source and target objects and transforms them through one-to-one mapping, which creates XSL. The XSLT mapper supports various built-in functions.

We implemented an order approval workflow by dragging and dropping the User Task activity into the BPEL flow.

During order processing, users must be notified about their order status. Oracle BPEL Process Manager offers a cool notification services feature: you can notify users by e-mail, SMS, or VoIP by dragging and dropping the notification service into the workflow and configuring a mail server.

In an SOA world, where multiple applications from various company departments take part in a process, business exceptions become critical. With just a few mouse clicks in the Scope Activity, we were able to add fault-handling to our process. Oracle BPEL Process Manager provides easy-to-use constructs such as compensation handlers and catch activities to manage business exceptions.

Moving on to administration, the Oracle BPEL Process Manager console is a great tool for administrators to gather information at the process level. We were able to deploy and trace each and every one of our processes, and it was helpful to be able to visually inspect any process and drill down into it. You can even see the sequence of interactions and XML payloads for each in-flight process in the BPEL Console.

In our scenario, different users from different channels access the process, and you must secure and manage these services. Let's see how Oracle Web Services Manager does this.

Once the order is submitted, you must authenticate the customer information before performing the credit check. The credit rating service should return the results within 30 seconds. The process should monitor the number of authentication failures; if failures exceed a 20% threshold, it should notify the customer and manager. Interactions should also be logged for auditing purposes.

It was fairly easy to configure the gateway using the Web-based console included with Oracle Web Services Manager. The gateway virtualizes the underlying Web service, hiding the address details of the service. We were able to successfully configure the gateway to route customer orders based on the size of the order (content-based routing), but we would have also liked to see the routing based on the source of the message, such as the IP address (context-based routing).

Next, using the console, we registered the service with the gateway by providing the WSDL URL of the service. This generated a new URL to access the Web service. At runtime, when the gateway receives a request, it routes the request to the actual Web service.

We wanted to see how easily we could define policies on Web services. Using the Policy Manager of the Web Services Manager, we defined the steps as:

  • Decrypt the XML payload containing the order and customer information
  • Perform customer authentication against an LDAP directory
  • Log failures
  • Monitor a SLA indicating that the credit check service should complete its execution in 30 seconds
This was easy to define using the console. It's a great idea to group all these steps into a policy pipeline that can be reused. This lets developers build a policy template and apply it to other Web services.

In addition to the pre-built policies included with the product, Oracle Web Services Manager lets you define custom policies. This is handy when you have fine-grained security requirements within your organization.

We also defined some service levels to see how easy it is to define SLAs in Web Services Manager. The service level we monitored had a number of authentication failures on a particular service and set an alert when it reached a threshold. This was also easy to define since Oracle Web Services Manager logs all interactions, whether they're failures or successes. Figure 2 shows the monitoring dashboard for our order booking service.

Now let's see how Oracle BAM can monitor the business and create operational dashboards for business users.

In our scenario, we wanted to monitor some KPIs, including the number of:

  • Pending orders (those waiting for suppliers to respond)
  • Rejected orders (due to bad customer credit)
  • Rejected orders (due to customers with orders greater than accounts payable)
To continuously monitor business performance, there must be direct communication with business processes. Oracle BAM can collect business events from any source. However, in our particular case, we could pre-instrument the BPEL order processing process with sensors at various steps in the flow, and route the data to Oracle BAM, JMS or database. Applying sensors to steps within a BPEL Process proved to be very easy - you just configure the step to publish into Oracle BAM. Whenever the order booking process is started or completed, the data is sent from Oracle BPEL PM into Oracle BAM and the dashboard - in this way we could monitor average completion times.

We used the Oracle BAM Architect tool to create data objects from the data coming in on the JMS queue from BPEL PM. Once we defined them, we used Oracle BAM Active Studio to design our reports without worrying about the underlying metadata or rules. This demarcation of responsibility (developer vs. business user) not only facilitates cleaner development but also lets the business community define its own dashboard - as long as the data sources have been registered with BAM, a business user can build a real-time dashboard with them.

Creating reports was intuitive, thanks to Oracle BAM Active Studio's drag-and-drop interface. Once deployed, the dashboard offered a rich collection of reports such as multiple filters, drill into, drill across, moving time-slice window, alerts, and navigation across objects.

We configured a dashboard that showed us incomplete orders. We were able to drill down from the dashboard to the order level to find out exactly which orders had the problem and analyze them individually. It would have been nice to drill down from the order to the actual BPEL process instance, which we managed to do by rolling up our sleeves. Figure 3 shows the BAM dashboard that we built.

Oracle SOA Suite offers a comprehensive and standards-based functionality. All of its components are designed with developers in mind. Whether it's ease of use or a high degree of customization, Oracle SOA Suite helps developers' productivity. Oracle BPEL Process Manager is a good tool for orchestrating services. However, it doesn't offer extensive business process analysis and analysts might find it challenging to model business processes with Oracle BPEL Designer unless they had help from a developer. Oracle Web Services Manager is ideal for securing the entire SOA infrastructure including services and business processes developed using Oracle BPEL Process Manager. Oracle BAM provides an intuitive framework for defining and monitoring KPIs.

One of the greatest advantages of leveraging tools from a single vendor is a high level of product integration. Oracle has done a good job of integrating its development and run-time environment across all components of Oracle SOA Suite. However, it falls a little short in offering a 100% integrated administration console; we hope this is going to be addressed in future releases. Finally, we were impressed with the interoperability Oracle has built into its products. Oracle BPEL Process Manager can work with all J2EE application servers; Oracle Web Service Manager can secure Web services running on BEA or IBM; and Oracle BAM can monitor data from any data source. This will help developers build solutions without having to rip apart existing applications.

Whether you're embarking on an SOA initiative or already in the middle of an SOA project, we recommend you review Oracle SOA Suite. Its combination of Oracle JDeveloper, Oracle BPEL Process Manager, Oracle BAM, and Oracle Web Services Manager offers an integrated and standards-based platform to build, automate, monitor, and secure your SOA.

We rated Oracle SOA Suite on a scale of 1 to 10, using the following criteria. (These scores are based on the collective assessment of the product evaluation team. See table 1.)

More Stories By Feroze Mohammed

Feroze Mohammed is the senior vice president, product engineering, custom development and integrations, Sierra Atlantic, Inc. He is also responsible for Sierra Atlantic's own R&D and product development initiatives. Feroze holds an master's degree in computer
applications from the University of Hyderabad.

More Stories By Lawrence Pravin

Lawrence Pravin is the product manager, Process Integration Packs, Sierra Atlantic, Inc. He has over 10 years of experience in packaged applications, and has deep integration expertise with Oracle, PeopleSoft, Siebel and SAP applications. Lawrence holds a computer science and engineering degree from the University of Madras.

Comments (4)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.

IoT & Smart Cities Stories
The platform combines the strengths of Singtel's extensive, intelligent network capabilities with Microsoft's cloud expertise to create a unique solution that sets new standards for IoT applications," said Mr Diomedes Kastanis, Head of IoT at Singtel. "Our solution provides speed, transparency and flexibility, paving the way for a more pervasive use of IoT to accelerate enterprises' digitalisation efforts. AI-powered intelligent connectivity over Microsoft Azure will be the fastest connected pat...
There are many examples of disruption in consumer space – Uber disrupting the cab industry, Airbnb disrupting the hospitality industry and so on; but have you wondered who is disrupting support and operations? AISERA helps make businesses and customers successful by offering consumer-like user experience for support and operations. We have built the world’s first AI-driven IT / HR / Cloud / Customer Support and Operations solution.
Codete accelerates their clients growth through technological expertise and experience. Codite team works with organizations to meet the challenges that digitalization presents. Their clients include digital start-ups as well as established enterprises in the IT industry. To stay competitive in a highly innovative IT industry, strong R&D departments and bold spin-off initiatives is a must. Codete Data Science and Software Architects teams help corporate clients to stay up to date with the mod...
At CloudEXPO Silicon Valley, June 24-26, 2019, Digital Transformation (DX) is a major focus with expanded DevOpsSUMMIT and FinTechEXPO programs within the DXWorldEXPO agenda. Successful transformation requires a laser focus on being data-driven and on using all the tools available that enable transformation if they plan to survive over the long term. A total of 88% of Fortune 500 companies from a generation ago are now out of business. Only 12% still survive. Similar percentages are found throug...
Druva is the global leader in Cloud Data Protection and Management, delivering the industry's first data management-as-a-service solution that aggregates data from endpoints, servers and cloud applications and leverages the public cloud to offer a single pane of glass to enable data protection, governance and intelligence-dramatically increasing the availability and visibility of business critical information, while reducing the risk, cost and complexity of managing and protecting it. Druva's...
BMC has unmatched experience in IT management, supporting 92 of the Forbes Global 100, and earning recognition as an ITSM Gartner Magic Quadrant Leader for five years running. Our solutions offer speed, agility, and efficiency to tackle business challenges in the areas of service management, automation, operations, and the mainframe.
The Jevons Paradox suggests that when technological advances increase efficiency of a resource, it results in an overall increase in consumption. Writing on the increased use of coal as a result of technological improvements, 19th-century economist William Stanley Jevons found that these improvements led to the development of new ways to utilize coal. In his session at 19th Cloud Expo, Mark Thiele, Chief Strategy Officer for Apcera, compared the Jevons Paradox to modern-day enterprise IT, examin...
With 10 simultaneous tracks, keynotes, general sessions and targeted breakout classes, @CloudEXPO and DXWorldEXPO are two of the most important technology events of the year. Since its launch over eight years ago, @CloudEXPO and DXWorldEXPO have presented a rock star faculty as well as showcased hundreds of sponsors and exhibitors! In this blog post, we provide 7 tips on how, as part of our world-class faculty, you can deliver one of the most popular sessions at our events. But before reading...
DSR is a supplier of project management, consultancy services and IT solutions that increase effectiveness of a company's operations in the production sector. The company combines in-depth knowledge of international companies with expert knowledge utilising IT tools that support manufacturing and distribution processes. DSR ensures optimization and integration of internal processes which is necessary for companies to grow rapidly. The rapid growth is possible thanks, to specialized services an...
At CloudEXPO Silicon Valley, June 24-26, 2019, Digital Transformation (DX) is a major focus with expanded DevOpsSUMMIT and FinTechEXPO programs within the DXWorldEXPO agenda. Successful transformation requires a laser focus on being data-driven and on using all the tools available that enable transformation if they plan to survive over the long term. A total of 88% of Fortune 500 companies from a generation ago are now out of business. Only 12% still survive. Similar percentages are found throug...