Making business decisions on the fly

Building context-aware applications using WebSphere Operational Decision Management and IBM Business Monitor

Using decision management and business monitoring, you can build a context-aware application that can deliver the right content to the right people at the right time to drive better business outcomes. Monitoring gives you insight into your operations, while decision management enables you to make business policy changes without incurring the penalty of long IT cycles. This article shows you how to do it. This content is part of the IBM Business Process Management Journal.

Curtis Miles (crmiles@ca.ibm.com), Client Technical Professional, IBM

author photoCurtis Miles is a technical professional for IBM Business Process Manager and WebSphere Operational Decision Management. Previously the technical advisor and lead developer for WebSphere Business Compass, Curtis has a passion for creating rich, innovative user interfaces and has extensive Web and Eclipse development experience, having worked on the WebSphere BPM suite for the past few years. When not busy innovating for IBM, he enjoys relaxing with his family and friends at his home just outside of Toronto.



Ann Ewan (ewan@ca.ibm.com), Senior Information Developer, IBM

Anne Ewan photoAnn Ewan is a senior information developer with the Business Process Manager ID team. Her recent projects include the Interactive Installation and Configuration Guide that was delivered with BPM 8.0 to enable customers to generate a set of installation and configuration topics customized to their environment. Ann is also a published author of fantasy novels (Firedrake and Brondings' Honour), and has a short story coming out soon in "The Lion and The Aardvark."



13 June 2012

Overview

This story is about Mike, who is taking a trip most of the way across Canada via OnTheFly Airlines, and Rachel, who works for OnTheFly Airlines as a business analyst. The story shows how you can use decision management and business monitoring together to build a context-aware application, and also describes how decision management and business monitoring can empower business users to author, improve, and maintain decision logic "on the fly."

The role of decision management in context-aware applications

Let's first describe what is meant by context-aware applications. An application is context aware when it can respond to changes in the environment in real time, based on business policies.

A context-aware application has three parts: Detect, Decide, and Act.

Arrow with Detect in red, Decide in yellow, and Act in green.

Context is established by combining historical information from your business systems with current information, which in turn is based on detecting what is (or isn't!) happening in the business environment. You take what you already know about the situation from your business systems and augment that knowledge with real-time information.

When an organization is aware of the context, it can make a decision and then, if it's appropriate, act on that decision. Context-aware applications are especially interesting in the world of mobile computing because the information about the current context of a person using a mobile app can be very rich and fine-grained.

Let's look more closely at each of the three parts in our definition of a context-aware application.

Detect

Context-aware application

You receive the information that helps you detect what is happening through events. Each event provides a small piece of information about what is happening inside or outside the organization. Events can come from the following areas:

  • Business systems that indicate what is happening inside your organization.
  • Weather reports, news feeds, twitter feeds, and other business-relevant information from outside the organization.
  • Mobile devices, in the new world of mobile technology, that provide information about each customer.

To make sense of this information that is constantly pouring in through events, an organization can use Business Event Processing (BEP) technology to perform the following tasks:

  • Correlate seemingly unrelated events.
  • Describe, using natural language, the event patterns that the organization is interested in.
  • Identify these event patterns that when they occur (or when they don't occur) indicate that something of interest is happening.

Detection is based on event rules. For example, if someone withdraws money from an ATM in Texas and then, five minutes later, withdraws money from an ATM in Maine, the bank should have rules in place to detect this unusual event pattern, and perhaps launch a fraud investigation as a result.

Mobile technologies open up a new world of events, providing a richer window into the application context. With the wealth of additional information available, you can make decisions with greater accuracy.

Decide

Arrow with Detect in red, larger Decide in yellow, and Act in green.

After a pattern of interest has been detected, the next step is to decide what to do about it. This involves identifying the best response based on contextual, operational, and historical information. The decision about how to respond to a given business situation can be thought of as an executable business policy. Just as the patterns to detect are expressed as event rules, executable business policies are expressed as business rules.

If you think of decisions as business policies, you'll realize that the rules should be written in a way that is understandable to business people. If possible, business policies should also be easy to change, so that business people can quickly modify policies to respond to changing business conditions without needing to beg, borrow, or steal time from IT.

Business rules can and often should be designed, implemented, and maintained by the business.

Act

Arrow with Detect in red, Decide in yellow, and larger Act in green.

Once an event pattern of interest has been detected and a decision about how to respond has been made, it's time to act.

Acting on decisions can involve, among other things, the following actions:

  • Initiating simple or complex automated processes that can respond to the situation.
  • Initiating workflows to coordinate the response to the situation by informing the right people, creating action items, and aligning and orchestrating resources within the organization.
  • Communicating with customers at their point of contact.

With the pervasiveness of mobile devices, the point of contact is much more precise. Each time people come into contact with your brand, there is an opportunity for them to form a more favorable or less favorable impression of your brand. If you can detect when that point of contact occurs, you can influence the brand perception in a positive direction with a personalized, two-way conversation with the customer in real time.


The players

Mike grew up in Newfoundland but now lives in Edmonton, Alberta. He is a regular customer of OnTheFly Airlines. Mike makes monthly flights for business, as well as frequent flights to visit his family in Newfoundland. In our story, Mike is flying from Edmonton, Alberta to St. John’s, Newfoundland, with one connection in Toronto.

Rachel works at OnTheFly as a business analyst and has been with the company for five years. She enjoys her work immensely, largely because of OnTheFly's innovative culture. Rachel is empowered to make operational changes to business policies, test and simulate them, and then take them live.

Rachel helps OnTheFly Airlines achieve the following primary goals:

  • Improving passenger experience.
  • Reducing costs through operational efficiency.

How IBM® helps OnTheFly Airlines

Using decision management and business monitoring, OnTheFly Airlines can capture and display key performance indicators (KPIs) that provide real-time insight into their business performance. WebSphere® Operational Decision Management helps OnTheFly Airlines intelligently automate a wide range of decisions across business processes and applications, and IBM Business Monitor provides an up-to-date view of their business performance and also provides predictions so that they can take action before problems occur.

Rachel and other OnTheFly Airlines personnel can perform the following day-to-day activities:

  • Detect event patterns of interest that indicate that a business situation is occurring.
  • Decide how to respond to that business situation based on context information.
  • Respond by kicking off an appropriate business process, such as by sending a personalized notification.
  • Monitor the effect on the organization's KPIs as decisions are being made and business processes are running.

OnTheFly Airlines can empower business experts like Rachel to change business policies over time as required. Rachel can author, improve, and maintain decision logic in partnership with IT. She can make changes with confidence, and monitor the results to ensure that business and technical objectives are satisfied.


Act 1: Flight Delay

Our story begins as Mike arrives at Edmonton International Airport for his flight to Newfoundland. He arrives early enough to find a good parking space. In the terminal, as he is walking toward the check-in desk, his mobile device starts to buzz, indicating an incoming notification.

When Mike checks his mobile device, he finds that the OnTheFly Airlines app is notifying him that his flight has been delayed, as shown in Figure 1. The flight will leave at 9:00 a.m. instead of 7:00 a.m. To compensate him for the inconvenience, OnTheFly Airlines is offering Mike a free pass to the VIP lounge. The app also shows an updated departure time and a coupon for a free lounge pass.

Figure 1. Notification of flight delay
Notification of flight delay

Mike sighs, then clicks the coupon to accept the offer. At least he has a comfortable place to sit while he waits, and he catches up on some reading that he needs to do for work.

Mike boards the plane about 9:00 a.m. He still has time to make his connection in Toronto, as long as there are no further delays. He finishes his work and spends some of the flight to Toronto dozing.

Behind the scenes with Rachel

Earlier that week, Rachel made some changes to the policy for dealing with delayed flights. She wanted to make sure that top-tier passengers whose flights were delayed coming out of Edmonton received access to the VIP lounge if they had already arrived at the airport. If they had not arrived at the airport, she decided that a free coffee might be more appropriate. Because of its business partnership with a coffee shop chain, OnTheFly Airlines can offer coupons for a free coffee when the flight is delayed.

From Rachel's perspective, here's the sequence of events around the flight delay:

  • Detect:
    • An event pattern of interest is detected. A flight status event indicates a flight delay.
  • Decide:
    • The flight manifest information is gathered. Based on the information from the flight manifest, Mike's passenger profile is retrieved from Passenger Profile Services. The passenger profile includes such things as Mike's loyalty rating, information about his last few trips, and how frequently he flies with OnTheFly Airlines.
    • Because Mike has the OnTheFly mobile app, his location is checked.
    • Business rules are evaluated to determine the compensation package to offer Mike based on all the information collected so far.
  • Act:
    • Mike receives a notification with the new flight information as well as a special personalized offer.

While events are unfolding, Rachel can view the current state of the business. She can see how the events of the morning affect the KPIs that show the business indicators for OnTheFly Airlines.

Rachel uses the web- or mobile-based dashboards for Business Monitor to gain visibility to the following information:

  • The number of delayed flights.
  • The number of promotions that have been offered.
  • The price of the promotions.

Figure 2 illustrates Rachel's dashboard showing four graphs: canceled flights, compensation promotions offered, delayed flights, and hotel booking cost for canceled flights. The graphs show that one flight has been delayed and one promotion has been offered.

Figure 2. Rachel's dashboard showing KPIs
Rachel's dashboard showing KPIs

(See a larger version of Figure 2.)


Act 2: Flight Cancellation

Mike arrives in Toronto about two and a half hours later, in time for his connecting flight. Immediately upon landing, Mike turns on his mobile device and receives a notification from OnTheFly Airlines with some bad news. The flight for the second leg of his trip, from Toronto to Newfoundland, has been canceled!

OnTheFly Airlines suggests a flight at 10:00 the next morning. They have booked Mike a room at a nearby hotel. He also has the option of clicking Request Customer Service Call on his mobile device to receive a call from a customer service representative.

This event demonstrates the precision with which OnTheFly can detect Mike's context. Mike can choose to talk to someone at the airline if he prefers, or he can accept all the arrangements using his mobile device. Either way, OnTheFly has an opportunity to work with Mike to make the experience as pleasant and hassle-free as possible. Figure 3 shows the OnTheFly Airlines app indicating the flight cancellation. The app also shows a suggested alternative flight, a customer service call button, and a coupon for an overnight stay at the High Flying Hotel.

Figure 3. Notification of flight cancellation
Notification of flight cancellation

Although Mike is frustrated by the delay, at least OnTheFly Airlines chose a hotel that he's heard about. In fact, the High Flying Hotel has received some awards and Mike has wanted to try it. He clicks the coupon and receives directions to the hotel from the airport.

After a good meal and a relaxing night's sleep, Mike flies out of Toronto the next morning and arrives in St. John's, Newfoundland, without further complications.

Behind the scenes with Rachel

Earlier that week, Rachel was looking at policies and considering how to implement the following changes:

  • Reducing the costs of putting up the airline's passengers when flights were canceled.
  • Building loyalty among top-tier passengers.

She noticed that the Top Flight Hotel, where all the top-tier and mid-tier passengers had been sent for the past year when their flights were canceled, recently raised its rates significantly. The airline could reduce costs by changing its policy and sending only passengers with a top-tier loyalty rating to the Top Flight Hotel.

On the other hand, the latest Toronto hotel rankings had just been released by a popular travel magazine, and Rachel noticed that the High Flying Hotel received many awards and was getting a lot of publicity and positive reviews. She decided to move the top-tier passengers to the High Flying Hotel instead.

Rachel opened the IBM Decision Center in her web browser to see all the policies. With a few clicks of her mouse, she selected the Hotel Information rule and opened the decision table. The table showed which hotel applied to each passenger based on the city in which they were laid over and the loyalty status of the passenger. Editing the decision table inline, Rachel chose another hotel for all but top-tier passengers, and she moved the top-tier passengers to the High Flying Hotel.

Figure 4. The Layover Hotel rules table in the IBM Decision Center
The Layover Hotel rules table in the IBM Decision Center

Rachel was immediately able to test the change in her business environment to determine how her change would affect OnTheFly Airlines. She used the historical data for all the passengers from the past three months. She saw how the business results would have been different if her new rules had been in place and only top-tier passengers had been directed to the Top Flight Hotel. She also looked at how changing the Top Flight Hotel to the High Flying Hotel would affect the results.

When she was confident enough to put her change into production, Rachel followed the normal governance process of OnTheFly Airlines, making sure that the appropriate people in the organization reviewed and adequately tested the rule.

From Rachel's perspective, here's the sequence of events around the flight cancellation:

  • Detect:
    • An IROP (irregular operation) is detected for Flight 484 to Newfoundland.
  • Decide:
    • The flight manifest information is gathered. Based on the information in the flight manifest, Mike's passenger profile is retrieved from Passenger Profile Services. The profile includes his loyalty status and his upcoming flights.
    • Business rules are evaluated to determine whether this is a connecting flight for Mike and to choose a hotel to book.
    • Business rules are evaluated to determine whether to offer Mike additional compensation based on his profile.
  • Act:
    • Mike is automatically rebooked on the next available flight (departing tomorrow) and a hotel reservation is made for him.
    • Mike receives a notification with information about the flight change and links to accept the new flight and hotel reservation or to speak to a call center agent.

Rachel is in the office monitoring the business environment as the flight cancellation occurs. Using Business Monitor, she watches the changing information in the following categories:

  • The number of delayed flights.
  • The number of canceled flights.
  • The number of promotions that have been offered.
  • The price of the promotions.
  • The people assigned to each hotel.
  • The cost of the canceled flight in terms of hotels.

Looking at her data, Rachel sees the number of passengers that are being sent to the High Flying Hotel. About 10% of the passengers are being sent there, as opposed to the 50% who were sent to the Top Flight Hotel the last time there was a similar delay. Rachel is pleased to see that the airline has reduced its costs. Her change is already paying off!

Figure 5. Rachel's dashboard showing layover hotel costs
Rachel's dashboard showing layover hotel costs

(See a larger version of Figure 5.)


Act 3: Lost Luggage

Mike sees a snowy landscape as the plane descends in St. John's, but at least there is no snow falling at the moment. Now he can meet his family and start his vacation.

As he waits at the baggage carousel for his suitcase, among the last passengers still waiting, he receives another notification from OnTheFly Airlines on his mobile device. It seems that his luggage has been lost! OnTheFly Airlines apologizes for the inconvenience.

Frustrated, Mike wonders if his suitcase is still sitting in Toronto. A moment later, as he heads for the exit, his mobile device buzzes and he sees that another message from OnTheFly Airlines. This time it's good news.

Figure 6. Notification of baggage found
Notification of baggage found

Mike's luggage has been found and the message directs him to the specific location where he can pick it up. He's also offered a coupon for a free horse-drawn carriage ride in St. John's. Mike retrieves his suitcase from the location in the message and heads out to meet his family. He tells them excitedly about the horse-drawn carriage ride that they can all enjoy.

Behind the scenes with Rachel

Earlier, Rachel set up the rule that checked for the time that elapsed between when a passenger's luggage was reported lost and when the luggage was found again. She knew there was no need to give passengers immediate cash payments (or reimburse for reasonable expenses based on receipts) if their luggage was found while they were still in the airport.

From Rachel's perspective, here's the sequence of events around the lost and found luggage:

  • Detect:
    • An event is received at 1:00 p.m. indicating that Mike's luggage is lost.
    • An event is received at 1:09 p.m. indicating that the OnTheFly Airlines flight staff have found Mike's luggage.
    • The luggage found event is enriched with airport-specific directions indicating where the luggage is located.
    • An event pattern of interest, consisting of a luggage lost event followed by a luggage found event, is detected.
  • Decide:
    • The flight manifest information is gathered. Based on the information from the flight manifest, Mike's passenger profile is retrieved from Passenger Profile Services. The information includes his loyalty status and his upcoming flights.
    • Mike's current location is checked.
    • Business rules are evaluated to determine whether Mike is eligible for compensation. Eligibility is based on how long his luggage was lost.
    • Business rules are evaluated to determine the compensation to offer Mike.
  • Act:
    • Mike is notified of the location of his luggage and a destination-specific promotional coupon.

Rachel is in the office monitoring the business environment as the decisions are being made. One of the statistics of interest is the number of promotions that were offered today.

Using Business Monitor, Rachel drills down to see the number of promotions offered for each of the following reasons:

  • Flight delay.
  • Flight cancellation.
  • Lost luggage.

Rachel realizes that, for some people, their flights were delayed, then their second leg of the flight was canceled, and then they lost their luggage. Because Rachel is very interested in customer satisfaction, she plans to make sure that the business policies are in place to do the company's very best for unlucky passengers like Mike. He might be contacted later with additional compensation.


Conclusion

Decision management and business monitoring give you insight into your operations, and enable you to make business changes without incurring the penalty of long IT cycles. This story demonstrated how you can use decision management and business monitoring together to deliver personalized content to notify the right people at the right time, and how decision management and business monitoring can empower business users to author, improve, and maintain decision logic "on the fly."

Resources

Comments

developerWorks: Sign in

Required fields are indicated with an asterisk (*).


Need an IBM ID?
Forgot your IBM ID?


Forgot your password?
Change your password

By clicking Submit, you agree to the developerWorks terms of use.

 


The first time you sign into developerWorks, a profile is created for you. Information in your profile (your name, country/region, and company name) is displayed to the public and will accompany any content you post, unless you opt to hide your company name. You may update your IBM account at any time.

All information submitted is secure.

Choose your display name



The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerWorks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

Required fields are indicated with an asterisk (*).

(Must be between 3 – 31 characters.)

By clicking Submit, you agree to the developerWorks terms of use.

 


All information submitted is secure.

Dig deeper into Business process management on developerWorks


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=Business process management, WebSphere
ArticleID=820551
ArticleTitle=Making business decisions on the fly
publish-date=06132012