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.
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.
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.
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.
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.
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
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:
- An event pattern of interest is detected. A flight status event indicates a flight delay.
- 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.
- 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
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
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
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:
- An IROP (irregular operation) is detected for Flight 484 to Newfoundland.
- 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.
- 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
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
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:
- 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.
- 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.
- 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.
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."
- Making Better Decisions Using IBM WebSphere Operational Decision Management (developerWorks, April 2012) provides more information about the "behind the scenes" plumbing of the Detect-Decide-Act pattern.
- Information about IBM Business Monitor and the other BPM products is available at the IBM Business Process Manager Information Center.
- Information about WebSphere Operational Decision Management is available at WebSphere Operational Decision Management.
- developerWorks BPM zone: Get the latest technical resources on IBM BPM solutions, including downloads, demos, articles, tutorials, events, webcasts, and more.
- IBM BPM Journal: Get the latest articles and columns on BPM solutions in this quarterly journal, also available in both Kindle and PDF versions.
Dig deeper into Business process management on developerWorks
Get samples, articles, product docs, and community resources to help build, deploy, and manage your cloud apps.
Keep up with the best and latest technical info to help you tackle your development challenges.
Software development in the cloud. Register today to create a project.
Evaluate IBM software and solutions, and transform challenges into opportunities.