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
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...
CloudEXPO has been the M&A capital for Cloud companies for more than a decade with memorable acquisition news stories which came out of CloudEXPO expo floor. DevOpsSUMMIT New York faculty member Greg Bledsoe shared his views on IBM's Red Hat acquisition live from NASDAQ floor. Acquisition news was announced during CloudEXPO New York which took place November 12-13, 2019 in New York City.
OpsRamp is an enterprise IT operation platform provided by US-based OpsRamp, Inc. It provides SaaS services through support for increasingly complex cloud and hybrid computing environments from system operation to service management. The OpsRamp platform is a SaaS-based, multi-tenant solution that enables enterprise IT organizations and cloud service providers like JBS the flexibility and control they need to manage and monitor today's hybrid, multi-cloud infrastructure, applications, and wor...
The Master of Science in Artificial Intelligence (MSAI) provides a comprehensive framework of theory and practice in the emerging field of AI. The program delivers the foundational knowledge needed to explore both key contextual areas and complex technical applications of AI systems. Curriculum incorporates elements of data science, robotics, and machine learning-enabling you to pursue a holistic and interdisciplinary course of study while preparing for a position in AI research, operations, ...
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...
Tapping into blockchain revolution early enough translates into a substantial business competitiveness advantage. Codete comprehensively develops custom, blockchain-based business solutions, founded on the most advanced cryptographic innovations, and striking a balance point between complexity of the technologies used in quickly-changing stack building, business impact, and cost-effectiveness. Codete researches and provides business consultancy in the field of single most thrilling innovative te...
Atmosera delivers modern cloud services that maximize the advantages of cloud-based infrastructures. Offering private, hybrid, and public cloud solutions, Atmosera works closely with customers to engineer, deploy, and operate cloud architectures with advanced services that deliver strategic business outcomes. Atmosera's expertise simplifies the process of cloud transformation and our 20+ years of experience managing complex IT environments provides our customers with the confidence and trust tha...
Darktrace is the world's leading AI company for cyber security. Created by mathematicians from the University of Cambridge, Darktrace's Enterprise Immune System is the first non-consumer application of machine learning to work at scale, across all network types, from physical, virtualized, and cloud, through to IoT and industrial control systems. Installed as a self-configuring cyber defense platform, Darktrace continuously learns what is ‘normal' for all devices and users, updating its understa...
With the introduction of IoT and Smart Living in every aspect of our lives, one question has become relevant: What are the security implications? To answer this, first we have to look and explore the security models of the technologies that IoT is founded upon. In his session at @ThingsExpo, Nevi Kaja, a Research Engineer at Ford Motor Company, discussed some of the security challenges of the IoT infrastructure and related how these aspects impact Smart Living. The material was delivered interac...
Intel is an American multinational corporation and technology company headquartered in Santa Clara, California, in the Silicon Valley. It is the world's second largest and second highest valued semiconductor chip maker based on revenue after being overtaken by Samsung, and is the inventor of the x86 series of microprocessors, the processors found in most personal computers (PCs). Intel supplies processors for computer system manufacturers such as Apple, Lenovo, HP, and Dell. Intel also manufactu...