Enterprise Application Integration with Microsoft BizTalk Server 2006, Part 2
Enterprise 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 (May/June issue of CoDe Magazine), 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.
In Part 1 (May/June issue of CoDe Magazine) of this article, I 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.
BTS 2006 provides an optional Microsoft Visio add in, known as the Orchestration Designer for Business Analysts (ODBA). The tool is intended for facilitating collaboration between developer, analyst, and stakeholder in designing Orchestrations around business processes.
I presented a high-level look at how Microsoft BizTalk Server 2006 provides a robust platform and complimentary toolset for building elegantly connected applications while addressing many common EAI chores. Specifically, I explained how the Messaging Engine and Orchestration Engine work together to address discrete aspects of the problem domain in a loosely coupled manner.
I wrapped up Part 1 with an overview of the Visual Studio 2005 Project System, which consists of tools that enable you to work with BizTalk Server 2006. In Part 2 I’ll move beyond the theory and put into practice a simple (yet common) integration scenario that will help to form a foundational understanding of how to leverage BizTalk Server 2006 within your own application integration projects. I’ll use 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
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 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 all that much because once a sale is made, it is entered into a purchase order template within a spreadsheet that has been used successfully for several years. A use case diagram (Figure 1) shows the business process (clockwise).
Figure 1: The current Northwind Traders Order & Fulfillment process.
The sales person enters the items in the purchase order, saves it, and then simply sends an e-mail with the purchase order spreadsheet attached to the IT team. The IT team takes the spreadsheet (given a very strict service level agreement (SLA) of course) and imports the spreadsheet into the Orders table in the company database. The e-mail message containing the purchase order is archived just 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 promptly act 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 e-mail 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 and 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. This leads to confusion and frustration for members of all teams.
- Many times orders are 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 id’s from the shipping log and 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 was streamlined using a more robust back office, orders could be fulfilled more rapidly, and, 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!
By: Rick Garibay
With over 13 years’ experience delivering solutions on the Microsoft platform across industry sectors such as finance, transportation, hospitality and gaming, Rick is a developer, architect, speaker and author on distributed technologies and is the General Manager of the Connected Systems Development Practice at Neudesic.
Rick specializes in distributed technologies such as Microsoft .NET, Windows Communication Foundation, Workflow Foundation, and Windows Azure to deliver business value and drive revenue while reducing operational costs.
Rick serves as a member of the Microsoft Application Platform Partner Advisory Council and is an advisor to Microsoft in a number of capacities including long-time membership on the Business Platform and Azure Technology Advisors group. As a five-time Microsoft Connected Systems MVP, Rick is an active speaker, writer and passionate community advocate in the national .NET community. Rick is the Co-Founder of the Phoenix Connected Systems User Group, celebrating four years in operation.
Recent presentations include talks at the Microsoft SOA and Business Process Conference in Redmond, WA, Microsoft TechEd, DevConnections, .NET Rocks, Desert Code Camp, and numerous Microsoft events throughout North America. Rick is a frequent contributor to industry publications such as CODE Magazine, and is the co-author of Windows Server AppFabric Cookbook by Packt Press.
When not immersed in the work he loves, Rick enjoys mountain biking and spending time with his wife, Christie and two children, Sarah and Ricky.
In BizTalk Orchestrations, there are two types of transactions: Atomic and Long-Running.