9.6 XML in the Real World

Team-Fly    

 
Internet-Enabled Business Intelligence
By William A. Giovinazzo
Table of Contents
Chapter 9.  eXtensible Markup Language


We have discussed the importance of XML and its ability to bring structure to documents as well as its ability to act as a common language across the Internet. We conclude our discussion of XML by examining a real-world example of its use in IEBI. In Chapter 5, we discussed Oracle 9i Application Server; in this chapter, we expand this discussion to show the mobile features that Oracle 9iAS Wireless uses to distribute information to various wireless devices. We also examine how this can be used in a real-world situation by an IEBI system.

In discussing the development of Internet-enabled applications, we noted the importance of moving much of the functionality of the application to the middle tier. The Java platform, discussed in Chapter 8, moves much of the business logic to the middle tier , leaving the client side free to maintain the user interface. This also frees the back-end server to focus on processing requests received from the middle. The application server supports the processing in this tier. Oracle 9iAS Wireless continues this strategy, moving the processing into the middle tier.

Figure 9.15 presents the architecture of Oracle 9iAS Wireless: Content flows from the data warehouse through the middle-tier application server to the client system. The key is that the content, which is the real asset to the data warehouse, remains the same. It is adapted in the middle tier by the application server so that it can be easily displayed by the client device. The application server accepts input from a variety of sources: Web Pages (HTML), database applications, Java servlets, Java Server Pages (JSPs), and email. The Content Adapters and Services Manager components interact with the content services to provide Web services. These components abstract the content they receive by transforming it into XML. The XML is passed to the Oracle 9iAS Wireless Content Transformers and PersonalizationService/Portal components that transform the XML to the appropriate markup language for the user's specific device. The interaction between two sets of components is managed by the Oracle 9iAS Wireless runtime engine.

Figure 9.15. Oracle 9iAS Wireless architecture.

graphics/09fig15.jpg

Let's take a more detailed look at how these components interact with one another. We begin with the Content Adapter. As the name implies, the Content Adapter gathers the data from the data source and adapts it, which means that it transforms it into an XML document. Now that we have the content in XML, we can distribute it to virtually any client device we wish. When we wish to provide a service through Oracle 9iAS Wireless, we must create a new Content Adapter. There are a number of prebuilt Content Adapters that include an SQL adapter, a Java servlet adapter, and a URL adapter to provide access to HTML pages.

The Service Manager that receives the request for the Web service via the runtime engine invokes the appropriate Content Adapter. The Service Manager demonstrates what we discussed theoretically in Chapter 5. We noted that part of the power of an application server is its ability to provide connection pooling. This is what the Service Manager does. When it receives a request from the Runtime Engine for a particular service, it invokes the appropriate service, passing the parameters required to service the request. The Content Adapter, however, is loaded only once, and the Service Manager pools the requests to the various adapters.

On the other side of the application server is the data out piece, the part of the application server that pushes the information out to the user. This is managed by the Content Transformer and Personalization Service/Portal Component. The Content Transformer transforms the XML document generated by the Content Adapter into the markup language that is appropriate for the user's device. The Content Transformer uses a device-specific XSL style sheet to perform the appropriate transformation. The selection of the style sheet is based on the context of the user's session. This context as well as personalization of the services provided to the user are managed through the Personalization Service/Portal.

As we have said time and again, BI needs to permeate the entire organization. We must no longer bind ourselves to the four walls that define the physical boundaries of our organizationwe must look across the entire value chain. Oracle 9iAS Wireless does this using XML and many of the concepts discussed in this chapter. To see this in action, we return to our good friend Billy Boy of Billy Boy Bowling Balls. It's Monday morning and time for Billy to meet with one of his distributors , KingPin, to negotiate the contracts for the coming year. The agenda for the meeting indicates that KingPin will lay out their road map for the upcoming year. Based on that road map, the two organizations will coordinate their strategic plans.

Billy Boy, being the smart boy that he is, has implemented an IEBI system using Oracle 9iAS Wireless. As he prepared for the meeting, he reviewed the state of Billy Boy Bowling Balls' relationship with KingPin using his IEBI system. The system showed that the distributor has a commanding share of the market in the eastern and central United States. It also showed that while KingPin was one of their chief customers for low-margin standard balls, it was one of the lowest distributors of custom balls. Billy Boy of course came equipped with this information.

During the course of the distributor's presentation, KingPin noted that it was poised to establish offices in each of the major western markets. While it saw an across-the-board increase in sales, it also predicted tighter margins in the western region. If Billy Boy Bowling Balls wanted to continue to be KingPin's main supplier of standard bowling balls, KingPin would have to receive better discounts on standard bowling balls.

During the break, Billy Boy flipped open his PDA and connected to his IEBI portal. The first thing he did was check the company's Balanced Scorecard to see how the organization was performing in the west. It was quickly apparent that they were a number two or quite possibly a number three player in that market. He then verified the margins on each of the different lines of bowling balls. This profitability analysis used activity-based costing to determine cost for each bowling ball line. He then returned to the meeting and proposed that he would agree to a deeper discount in the standard line of bowling balls if KingPin agreed to a significant increase in custom bowling balls. After some negotiation, the concept was accepted by both parties. The only question that remained was how much of an increase in custom balls Billy Boy would ask for how much of a discount in standard balls.

So what happened ? How was Billy Boy supplied information by the IEBI system? Through the Personalization Service/Portal, Billy Boy was able to determine which services he was able to access through his PDA. Through this component, the link between the data content sources and the individual users is established. When Billy Boy establishes an HTTPS session, the Runtime Request Manager authenticates the user and recognizes the user's logical device. The runtime engine then sets up the environment for the user to start making requests. Based on the user's personalization information, the runtime engine loads a Content Transformer for the user's device and the Content Adapters for the desired services.

Billy Boy's first request is to the company's balanced scorecard. The scorecard is produced on an HTML Web page. When Billy Boy's request is received by the runtime engine, the request is passed to the Request Manager which in turn passes the request to the HTML Content Adapter. The adapter retrieves the information from the scorecard application and passes it back to the HTML Content Adapter, where it is converted into an XML document. The Content Transformer then takes that XML document along with the XSL Style Sheet for Billy Boy's PDA and converts it to a TinyHTML. The TinyHTML is then passed to Billy Boy's PDA.

One may wonder why we bother with this intermediate step of converting to XML from HTML. Couldn't we use an XSL style sheet to convert directly from HTML to TinyHTML? We could, but then all we could send out would be TinyHTML pages without another request to the back-end server. While Billy Boy is in negotiations with KingPin, his COO happens to be on vacation in Bora Bora. As a dedicated employee, he wants to make sure that everything is going well back home. Using a wireless connection to the Internet, he uses his pocket PC to review the company's balanced scorecard. Rather than making another request of the server, Oracle 9iAS Wireless takes that cached XML document and transforms the content for the COO's pocket PC.

Billy Boy also checked the margins on the different lines of bowling balls. The content source for this data is a Java servlet. In a manner similar to the balanced scorecard's Web page, the request was passed to the content source via the content adapter. The adapter converted this data to XML, which was then transformed to a TinyHTML Web page and passed to Billy Boy's PDA.


Team-Fly    
Top
 


Internet-Enabled Business Intelligence
Internet-Enabled Business Intelligence
ISBN: 0130409510
EAN: 2147483647
Year: 2002
Pages: 113

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net