nterprise Application Integration (EAI) is a collection of architectural principles combined to integrate new and existing applications both within the enterprise and in business-to-business or partner integration scenarios.
Building on the principles introduced in Part 1 of this series
, I'll provide a step-by-step example of how to implement a solution that addresses a business case and suggest some real-world patterns and techniques for fulfilling the business case.
Part 1 of this article discussed what Enterprise Application Integration is all about, along with a bird's eye view of some of the common challenges associated with integrating legacy applications with new systems, and building transport-agnostic workflow-modeled software in a loosely coupled manner. This is especially important when integrating existing investments with new applications and systems.
The article presented a high-level look at how Microsoft BizTalk Server 2006 provides a robust platform and complementary toolset for building elegantly connected applications while addressing many common EAI chores. Specifically, it explained how the Messaging Engine and Orchestration Engine work together to address discrete aspects of the problem domain in a loosely coupled manner.
Part 1 finished with an overview of the Visual Studio 2005 Project System, which consists of tools that enable you to work with BizTalk Server 2006. This part of the article moves beyond the theory and puts into practice a simple (yet common) integration scenario that will help to form a foundational understanding for leveraging BizTalk Server 2006 within your own application integration projects. The project uses BizTalk Server to streamline an existing business process and increase automation by focusing more closely on the business domain, and less on the plumbing itself.
Streamlining and Automating an Order and Fulfillment Process
|Figure 1: The current Northwind Traders Order & Fulfillment process proceeds clockwise in this figure.|
Northwind Traders, purveyors of gourmet foods and other fine goods, have vendors all over the world so that they may provide customers with the best selection of products available.
While the company has been very successful, the sales team conducts most business over the phone and via e-mail, as well as through their award-winning mail order catalog. Some existing relationships go so far back that some customers still place their orders in person.
Until now, how the sale was made hasn't really mattered much, because sales get entered into a purchase order template within a spreadsheet that has been used successfully for several years. A use case diagram (see Figure 1) shows the business process.
A sales person enters the items in the purchase order, saves it, and then simply sends an email with the purchase order spreadsheet attached to the IT team. The IT team takes the spreadsheetgiven a very strict service-level agreement (SLA) of courseand imports the spreadsheet into the Orders table in the company database, archiving the email message containing the purchase order in case the order gets lost along the way. With purchase orders hitting the company database at any given time, the fulfillment department runs intra-day reports. Members of the fulfillment team proactively monitor the report for purchase orders hitting their region and act promptly on them. Upon taking ownership of a purchase order, the fulfillment team takes several actions:
- The fulfillment specialist checks inventory for the purchase order. If the requested item is not in stock, the vendor is contacted over the phone to place an order for the item.
- Provided the item ordered is in stock, the customer's payment is processed and entered into the general ledger. Northwind Traders accepts checks for older, loyal customers, but prefers credit cards as the method of payment. As such, the fulfillment specialist charges the customer's credit card (or uses an e-check) and posts monies to the general ledger. Should the credit card transaction fail, the fulfillment specialist must contact the customer to request an alternate form of payment.
- Once the payment has cleared, the fulfillment specialist pulls the item from the warehouse, affixes the customer's purchase order to it, and prepares the order to be shipped.
- A shipping specialist picks up packages, striving to synchronize carrier pick up times so that the packages go out the day they are staged for shipment. The shipping specialist weighs the contents, measures the dimensions, and affixes the appropriate paid shipping label, which also contains the carrier's tracking number. The shipping specialist then manually duplicates the tracking number on a shipping log, which the shipping specialist carries on a clipboard. At the end of each day, all shipping specialists drop their shipping logs in the fulfillment team's "inbox" for manual processing later.
- Each morning, a designated fulfillment specialist takes the tracking numbers listed in the paper shipping log and manually enters the data into another spreadsheet and then promptly sends the spreadsheet via email to the IT team. The IT team faithfully imports the spreadsheet into the company database where the parcel's tracking id is correlated to the purchase order.
The use case in Figure 1
represents an overview of Northwind Trader's current business process. Perhaps not unlike the reader, many of the business analysts and stakeholders have identified several opportunities for improving the Northwind Traders' business process:
- Orders take too long to fulfill.
- The IT team is too slow in processing purchase orders, and sometimes purchase orders just seem to "disappear."
- The fulfillment team is understaffed and overworked; too much of their job is manual and clerical in nature.
- There is a lack of visibility as to where an order is within each step of the process, which leads to confusion and frustration for members of all teams.
- Orders are often shipped late because the fulfillment and shipping team is overwhelmed with packages that need to be prepared and staged for shipment.
- The fulfillment team is frustrated that they have to enter the tracking IDs from the shipping log. It often takes a couple of hours each morning to get all tracking IDs entered, which prevents the sales team from accurately answering customer inquiries on the status of orders in a timely manner. (Sometimes, this information is not available in the database until mid-morning the next business day.)
Furthermore, the marketing team is convinced that if the business process were streamlined using a more robust back office, orders could be fulfilled more rapidly. With some automation improvements, the timing would be great to put together an online store front which would, in turn, drive revenues even higher.
Looking for a better way to streamline the business process and improve morale while increasing revenue and expanding the reach to customers all over the world (via the Internet), the leadership team at Northwind Traders commissions a new project that will provide enhanced business process automation and better visibility through closely instrumented business process management. They identify several nifty applications as part of the new vision for a faster, more responsive, and transparent business process:
- Design and deliver a new, public-facing web site along with a number of applications and services to support the new online store.
- New applications and services should interface with each other as well as with middle-tier services that the IT department will implement as part of the business process automation and management streamlining effort.
- It is critical that existing operations are not disrupted. As such, during development (and after delivery), things must remain business-as-usual from an order fulfillment perspective.
- The company must maintain their legacy database.
- Sales associates (the lifeblood of the company) must be able to continue submitting purchase orders via the spreadsheet templates. It is likely that one day the spreadsheets will be phased out; but until then, they must be fully supported and still benefit from the new investments in automation. To this end, once the online store front is complete, the IT team will start using it as their new interface for entering new purchase orders so that data entry and processing is consistent.
While the marketing team works with a design firm to come up with a snazzy new web site, let's focus on the middle-tier applications and services that will drive this new era of productivity!
|Editor's Note: This article was first published in the July/August 2007 issue of CoDe Magazine, and is reprinted here by permission.|