Module 12: Enabling Business Activity Monitoring Time estimated: 90 minutes Module objective: In this module, you will learn how to monitor business activity by using Business Activity Monitoring (BAM). Overview Getting the correct information at the correct time is of critical importance to any business. Business deals and partnerships are often made or broken solely over questions of information access. The decisive advantage frequently goes to the business that is armed with the best information. The Business Activity Monitoring (BAM) Framework in Microsoft® BizTalk® Server gives you just such an indispensable advantage. By opening a real-time window into running business processes, BAM provides business analysts with a direct view of transactions as those transactions occur—a view that has traditionally been unavailable. Lesson 1: Introduction to Business Activity Monitoring Lesson objective: Explain Business Activity Monitoring and why it can be an important feature of BizTalk Server solutions. Gaining Visibility into Business Processes Describe how BAM is used to gain visibility into running business processes. Overview Business Activity Monitoring (BAM) is a tool for monitoring and analyzing data from business process information sources. The data is presented in a real-time view of business state, trends, and critical conditions. BAM’s open application programming interface (API) can be used to gain visibility into data external to BizTalk processes, such as archival data or other non-BizTalk processes and systems. BAM gives business analysts the data they need when they need it, enabling them to make better business decisions based on more relevant data. BAM provides interceptors that can gather data from messages as they are received and from any point within the business process, such as an orchestration, pipeline, or message type. BAM also provides auditing capabilities by being able to answer the how and why behind business decisions. BAM allows you to determine how your business is performing by answering questions such as: 1. How long did it take for this process to be approved? 2. How quickly was this order filled after it was received? 3. How many process cycles occurred in the last month? In the last year? 4. How many purchase orders were processed last week? 5. How much is our total revenue this year so far? By aggregating data, BAM provides an overview of trends experienced in the business while allowing users to examine individual instances. You can also use BAM to link together various messages as they travel through the system to create a unified BAM view, which gives visibility of the entire business process, spanning multiple orchestrations and even including data external to BizTalk. This visibility is tremendously beneficial for making critical business decisions. BizTalk administrators sometimes use BAM to gather and monitor IT operations data in addition to monitoring business data. Using BAM to monitor IT operations can be particularly useful when supporting Service Level Agreements. What Is Business Activity Monitoring (BAM)? Give a brief introduction of Business Activity Monitoring and the business value that it provides. Overview BAM makes it possible for developers, business analysts, and end users, working individually or collaboratively, to extract the data they need from their business processes. To gather the necessary business data for business analysts to make decisions regarding business processes, the business analyst and developer will need to work together to create one or more BAM activities. BAM activities represent a unit of work in a business, such as processing a purchase order or a loan application. Activities are used to show the history, or milestones, and data about a unit of work to the business analysts. BAM activities are independent of the actual implementation of your BizTalk Server solution. Think of a BAM activity as a record in a SQL table that you are keeping in synchronization with the actual unit of work. You can relate multiple BAM activities together as well. An example of relating activities would be a situation in which a single purchase order contains multiple shipments. Properly configured BAM activities can allow business users to look at a purchase order and be able to see shipping information for each item in the purchase order. Developers can use the BAM API to create BAM activities that span multiple disparate systems. For example, if one step in a loan process is to execute a Web service or make a call to a mainframe system, business analysts can include this data in their analysis. BAM activities can also contain milestones (a date/time measure) throughout the business process that allow business analysts to see the overall progress of the process and investigate each individual step of the process. Key performance indicators (KPIs) allow business analysts to view specific pieces of data in a business process. Business analysts can also define views to specify how the activity data will be displayed. Views can be used to filter the data from BAM. This can be useful if analysts want to see loans that were processed from a certain state or by a certain loan officer or between two dates. Filtering allows business analysts to focus only on the data they need to answer questions on how their business is performing. BAM databases can be shared across BizTalk Server groups to present an aggregated view of a business process. Additionally, BAM views can be used to secure and filter information for different audiences. Who Does What? Business analysts use the Microsoft Office Excel® BAM Design Workbook to define the business requirements for BAM activities and views. IT professionals use the BAM Manager to deploy the business requirements into the BAM databases. Developers map the business processes to run-time components by using the Tracking Profile Editor (TPE) for BizTalk Server. Anyone interested in the collected data—developers, IT professionals, business analysts, and end users—can use the BAM Portal to view, aggregate, search, or create alerts based on the data collected by BAM. Business Activity Monitoring Components Describe the components of the Business Activity Monitoring Framework. Overview The Business Activity Monitoring Framework includes interceptors for both pipelines and orchestrations. These interceptors retrieve specific data as it is being processed and send the data to the Primary Import database. The other components that BAM utilizes include: BizTalk Primary Import database. This database acts as the principal collection point for realtime data collected by the BAM interceptors. This database contains stored procedures, tables, triggers, and views that are dynamically generated based on the BAM Definition Workbook. Data for a specified database is maintained in the Primary Import tables and is then moved to the archive database. BAM activity aggregations and OLAP cubes. The activity aggregations are maintained in the form of online analytical processing (OLAP) cubes, which are dynamically generated, along with the necessary Data Transformation Services (DTS) packages and a staging database for non-real-time data. Real-Time Aggregations (RTA). These are special tables, created in the Primary Import database, that have triggers that are used to maintain the aggregations synchronously with the incoming events. BAM interceptors. The collection of data (message context properties and message data) from orchestrations and pipelines is implemented as BAM interceptors. These interceptors monitor the data as it is being processed and collect information that has been identified as being a KPI. No programming is required to change the BAM tracking. Tracking Profile Editor (TPE). Developers use the TPE to define the mapping of orchestration actions to business milestones and the mapping of XML schema nodes to the business data items. Because no programming is required to collect or modify this data, changes to tracking can be made easily at any time. Lesson 2: Enabling Business Activity Monitoring Lesson objective: Explain the steps required to successfully implement Business Activity Monitoring. Enabling Business Activity Monitoring (Analyst) Describe the role of the business analyst in enabling Business Activity Monitoring. Overview The creation and implementation of BAM to monitor business processes usually involves several different roles with different skill sets and tools. Business Analyst Role The role of the business analyst is to create BAM activity definitions (activities) and to create the views that will be available to end users to view the business processes. Generally, Business Analysts do not know, and do not need to know, what the actual orchestration that defines the business process looks like. They know what information is important to track and the order in which the process occurs. Create Activity Analysts use Microsoft Excel 2010 to create activities that identify in list form the key performance indicators (KPIs) of the business processes, for example, receiving and processing a purchase order (PO). These activities will include milestones (a date/time measure for the receipt of a PO or the sending of an invoice) in addition to data points of interest, such as the order date, PO number, total, and discounted total amounts. These data points might be of interest for tracking and auditing purposes. Enabling Business Activity Monitoring (Administrator) Describe the role of the system administrator in enabling Business Activity Monitoring. System Administrator Role The role of the system administrator in enabling BAM is limited to deploying the workbook or BAM activity definition file into the production environment by using the BAM Management tool (BM.exe). When the definition is deployed, the BAM database infrastructure is generated dynamically based on the activity defined in the workbook. Example In the following example, the SalesManagerView workbook is being deployed to create the database structure based on the activity defined in the workbook. BM deploy-all -DefinitionFile:SalesManagerView.xls The BAM Management tool enables administrators to view, add, update and remove BAM Management data. Enabling Business Activity Monitoring (Developer) Describe the role of the developer in enabling Business Activity Monitoring. Tracking Profile Editor (TPE) The Tracking Profile Editor (TPE) is a graphical user interface used by developers to create and modify the tracking profiles that map a specific view of internal business processes and associated data to a business process that might be represented by one or more orchestrations. When you use the TPE to create a tracking profile, you create or load a profile that will define the relationship between: 1. One or more BizTalk assemblies that have been deployed to the BizTalk Configuration database; each assembly may contain one or more orchestrations, pipelines, schemas, and property schemas. 2. The activity, created by the business analyst, that has been deployed to the tracking database by the use of the BAM Management command-line tool. If you have multiple BAM activities deployed, you can use the TPE to create links of continuations between the activities. Linking BAM activities brings together the business analyst’s view of the process with the real-world implementation of that process as a group of orchestrations. The process of creating the mapping involves a drag-and-drop operation in which the orchestration shape that maps to a particular KPI (a milestone, for example) is dragged from the right pane to the corresponding KPI in the left pane. Similarly, messages (as represented by send and receive shapes) can be examined for the data that is of interest (PO number or order date, for example) and dropped onto the corresponding node in the left pane. After you have identified all the points in the activity, you will apply the activity. The collection of data begins immediately after the activity is applied. As long as the activity file does not change, it is possible to modify how the data is collected and where it is collected from. For example, if the business process changes and what used to be done in one orchestration is now done in two, the profile can be updated and the data will now be collected from the new shapes. This allows for mapping information over extended periods of time into a single database to provide powerful aggregations. What Is the BAM Portal? Explain the purpose and use of the BAM Portal. BAM Portal The BAM Portal is a tool in BizTalk Server 2010 that is used to view data collected in the BAM databases from a business process. When the model is deployed by using the BAM Manager, the views included in the data collection model are rendered as views for the BAM Portal. The BAM Portal is a Microsoft ASP.NET application (it does not rely on Windows SharePoint Foundation). For companies that already have SharePoint sites, Web parts are available to simplify integration of BAM data into those sites. The BAM Portal gives you the ability to: Access pre-created views of the business data created by the business analyst and work with PivotTables® in real time. In this way, users can customize the view to their own preferences. Perform activity searches against BAM data to find specific BAM activity. For example, the preceding slide shows sales manager data for the OrderMgmt application. Queries can be saved and reused. They can also be the basis for an alert, such as notification when a purchase order arrives from the specified customer. Drill down to see detailed information. This example shows the activity status for the city of Los Angeles. The Activity Status view shows the dates on which several business milestones were reached and tracking information (the Activity ID), in addition to the other data. With this functionality, it is easy to start with aggregated data (all orders processed) and see the details for orders that make up the totals. Configure and share alerts to notify specific users in the event that particular threshold conditions are met—for example, if the number of unprocessed purchase orders exceeds 100, send an e-mail message to the sales manager. Once created, alerts can be subscribed to by other users who are interested in the same information. Escalate issues to the systems administrator. A link is provided to send feedback to a preconfigured e-mail address notifying the recipient of problems that are identified by portal users. Demonstration: Monitoring Business Activity Learn to implement an existing Business Activity Monitoring activity for a BizTalk Server solution. Install the OrderMgmt Application 1. Start the bt10d-demos virtual machine. 2. In Windows Explorer, navigate to C:\AllFiles, and double-click startBtServices.cmd. 3. In Windows Explorer, navigate to C:\AllFiles\DemoCode\Module12, and double-click BAMSetup.cmd. Deploy the BAM View Created by the Business Analyst 1. On the Start menu, click Run. 2. In the Open box, type cmd, and then press ENTER. 3. In the command prompt window, type cd “\Program Files (x86)\Microsoft BizTalk Server 2010\Tracking”, and then press ENTER. 4. In the command prompt window, type the following command (all on one line), and then press ENTER. bm deploy-all -DefinitionFile:C:\AllFiles\DemoCode\Module12\OrderMgmt.xml 5. When the command completes, close the command prompt window. Prepare for BAM Data Collection 1. On the Start menu, click All Programs, click Microsoft BizTalk Server 2010, and then click Tracking Profile Editor. 2. On the File menu, click Open, and then navigate to and open C:\AllFiles\DemoCode\Module12\OrderMgmt.btt. 3. In the left pane of the Tracking Profile Editor, expand City, and then click the City subnode. BAM intercepts individual pieces of information during the execution of the BizTalk processes and writes this information to the Tracking database. The City is retrieved from the original Purchase Order because it is initially received in the orchestration. 4. In the left pane, expand approved, and then click FulfillmentDelay. Notice that the approved milestone in the observation model is linked to the Fulfillment Delay shape in the BizTalk orchestration. 5. On the Tools menu, click Apply Tracking Profile. Although the observation model has been deployed, it is necessary to apply the mappings between the logical model and the actual orchestration. 6. In the Tracking Profile Editor dialog box, click OK. 7. Close the Tracking Profile Editor. Test BAM Functionality 1. In Windows Explorer, double-click C:\AllFiles\DemoCode\Module12\Send20POs.bat. 2. In Microsoft Internet Explorer®, browse to http://localhost:8080/BAM. 3. In the My Views task pane, expand Aggregations, and then click Order Progress. 4. In the message box, read the warning, and then click OK. 5. Because SQL Analysis Services caches the BAM data that it receives from BizTalk, it may take 1 to 2 minutes for the data to appear in the Pivot Table View. Click the red exclamation point (!) to refresh the view The Evaluation cells might not always be visible. The orders in Evaluation have been received, but have not yet been approved or denied. 6. Notice the relationship between the data in the graph and the PivotTable. 7. In Windows Explorer, double-click C:\AllFiles\DemoCode\Module12\Send20POs.bat. 8. Switch back to Internet Explorer and click the PivotTable toolbar button with the red exclamation point (!) icon to refresh the data. 9. Expand the Received, Approved, and Evaluation cells to show the status of the various completed processes. The Evaluation cells might not always be visible. The orders in Evaluation have been received but not yet approved or denied. 10. Notice that the counts have increased. 11. In the PivotTable, right-click the cell that contains the total count for Approved, and then click Show Results. 12. Click any link in the City column. 13. In the My Views task pane, click OrderMgmt. 14. In the Query section, in the Business Data list, click City. 15. In the Value box, type LosAngeles. 16. In the Column Chooser section, select all the data and milestones, and then click Add (>>). 17. Click Execute Query. The details for each order in which the City was LosAngeles are displayed. 18. Double-click any row in the Results section, and then notice that the level of detail is the same as was seen previously. 19. Close all windows, and shut down the bt10d-demos virtual machine. Lab: Monitoring Business Activity Time estimated: 45 minutes Scenario Business Activity Monitoring (BAM) is a tool designed to be used by business analysts for gathering business data from both archived and running business processes. In this lab, you will see how to use several new tools, including the Microsoft Excel Business Activity Monitoring Add-In and the BAM Portal, for analyzing business data that was processed by BizTalk Server. Start the Virtual Machine Procedure List 1. If the Server Manager window is not already open, click on the Server Manager icon located in the task bar next to the Start button. 2. Expand Roles, Hyper-V, Hyper-V Manager. The last node to appear displays the machine name. Click on it to see the list of virtual machines available. 3. Double-click the virtual machine bt10d-12 to open a Virtual Machine Connection window. 4. Click on the Action menu in the Virtual Machine Connection window and choose Start. 5. Once the virtual machine starts, press CTRL+ALT+END. 6. Log on using the user name Administrator and the password pass@word1. 7. At the Windows Activation prompt, click Ask Me Later, then click OK. Ensure that the BizTalk Services are started Procedure List 8. In Windows Explorer, navigate to C:\AllFiles. 9. Double click startBtServices.cmd. 10. When prompted, press any key to close the command-line window. Exercise 1: Define a Business Activity Overview A business activity specifies the data from the business process that is captured by BAM. This data may come from message content, message context, orchestrations, and other sources. Once the business analyst has finished specifying the data to be gathered, the business activity is exported to a BAM Definition File. In this exercise, you will use the Business Activity Monitoring Add-In for Excel to specify the initial data to be collected as each purchase order is processed by the system. Define Milestones Procedure List 1. On the Start menu, click All Programs, click Microsoft Office, and then click Microsoft Excel 2010. In the Microsoft Office Activation Wizard window, click Cancel. 2. On the File menu, click Options 3. In the Excel Options window, in the left pane, click Add-Ins. 4. In the right pane, at the bottom, in the Manage list, click Excel Add-ins, then click Go. 5. In the Add-Ins dialog box, click Browse, and navigate to C:\Program Files (x86)\Microsoft BizTalk Server 2010\ExcelDir, then click Bam.xla and click OK. 6. In the Add-Ins dialog box, in the Add-Ins available list, ensure that the Business Activity Monitoring box is checked, and then click OK. 7. In the Excel menu ribbon, on the Add-Ins tab, click BAM, and then click BAM Activity. 8. In the Business Activity Monitoring Activity Definition dialog box, click New Activity. 9. In the Activity name box, enter OrderMgmt. 10. Click New Item, and in the New Activity Item dialog box, in the Item name box, enter received, in the Item type list, click Business Milestones then click OK. This milestone allows a timestamp value to be gathered from the message after the message is received by the business process. 11. Repeat step 9, substituting in the following values to create the remaining Activity Items needed to monitor the OrderMgmt business process. Item Name Item type denied Business Milestones approved Business Milestones acknowledged Business Milestones City Business Data - Text State Business Data - Text Product Business Data - Text Amount Business Data - Decimal Later in this lab, you will specify the points in the business process at which each of these data values will be collected by the BAM infrastructure. 12. Click OK twice. Exercise 2: Define an Observation Model The BAM definition that you initialized in the preceding exercise specifies the information to be collected by BAM. In this exercise, you will create a BAM view. You will design this view by adding progress dimensions and measures that categorize the data gathered by the BAM activity. The data in the view is displayed as a Microsoft Office Excel PivotTable. Create the Order Progress Dimension Procedure List 1. On the Welcome to the Business Activity Monitoring View Creation page, click Next. 2. On the BAM View page, click Create a new view, and then click Next. 3. In the View name box, type SalesManager, select the Select all activities check box, and then click Next. This view will contain data most likely needed by a sales manager for daily, weekly, or monthly reports. A BAM view can be thought of as similar to a Microsoft SQL Server view in which you see only the data you need to see. 4. On the New BAM View: View Items page, select the Select all items check box, and then click Next. 5. On the New BAM View: View Items page, review the aliases listed. 6. Click New Duration. When a message is received, it is in the evaluation stage. After evaluation, it is either approved or denied. If approved, two serial processes occur so that an instance is either in the fulfillment stage or the fulfillment has occurred and a delivery notification has been received. The sales manager is interested in how many messages are in each phase, and therefore, this view is created to summarize this data. 7. In the Duration Name box, type CycleDuration. 8. In the Start business milestone list, click received (OrderMgmt). 9. In the End business milestone list, click acknowledged (OrderMgmt). 10. In the Time resolution list, click Minute, and then click OK. 11. On the New BAM View: View Items page, click Next. 12. On the New BAM View: Aggregation Dimensions and Measures page, click New Dimension. 13. In the New Dimension dialog box, type OrderProgress as the Dimension Name, in the Dimension Type list, click Progress Dimension, and then click New Milestone. 14. In the New Progress milestone dialog box, in the Progress milestone box, type Received, in the Business milestone list, click received (OrderMgmt), and then click OK. 15. In the New Dimension dialog box, in the Progress milestones and stages section, click Received, and then click New Stage. 16. In the New Progress Stage dialog box, in the Progress Stage field, type Evaluation, and then click OK. 17. Click Evaluation, and then click New Milestone. 18. In the New Progress Milestone dialog box, in the Progress milestone box, type Approved, in the Business milestone list, click approved (OrderMgmt), and then click OK. 19. Click Approved, and then click New Milestone. 20. In the New Progress Milestone dialog box, in the Progress milestone box, type Denied, in the Business milestone list, click denied (OrderMgmt), and then click OK. 21. In the New Dimension dialog box, in the Progress milestones and stages section, click Approved, and then click New Stage. 22. In the New Progress Stage dialog box, in the Progress stage box, type Fulfillment, and then click OK. 23. Click Fulfillment, and then click New Milestone. 24. In the New Progress Milestone dialog box, in the Progress milestone box, type DeliveredAck, in the Business milestone list, click acknowledged (OrderMgmt), and then click OK. 25. In the New Dimension dialog box, in the Progress milestones and stages section, click Denied, and then click New Stage. 26. In the New Progress Stage dialog box, in the Progress stage box, type Contacting, and then click OK. 27. Click Contacting, and then click New Milestone. 28. In the New Progress Milestone dialog box, in the Progress milestone box, type DeniedAck, in the Business milestone list, click acknowledged (OrderMgmt), and then click OK. Screen shot of the completed New Dimension dialog 29. In the New Dimension dialog box, click OK. Create the Count Measure Procedure List 1. On the New BAM View: Aggregation Dimensions and Measures page, click New Measure. In the following steps, you will configure the Count aggregation type, which will count all order activities passing through the system. 2. In the New Measure dialog box, in the Measure name box, type Count. 3. Click Count in the Aggregation Type section, and then click OK. This will automatically select the OrderMgmt activity as the base data item because it will be a count of all order activities passing through the system. Create the AvgCycleDuration Measure Procedure List 1. On the New BAM View: Aggregation Dimensions and Measures page, click New Measure. 2. In the New Measure dialog box, in the Measure name box, type AvgCycleDuration. 3. In the Base data item list, click CycleDuration (OrderMgmt). 4. Click Average, and then click OK. Create the MyTimeSlice Time Duration Procedure List 1. On the New BAM View: Aggregation Dimensions and Measures page, click New Dimension. 2. In the New Dimension dialog box, in the Dimension name box, type MyTimeSlice, in the Dimension type list, click Time Dimension, in the Base business milestone list, click received (OrderMgmt), click Year, month, day, hour, minute, and then click OK. Configure the BAM View Procedure List 1. On the New BAM View: Aggregation Dimensions and Measures page, click Next. 2. On the New BAM View: Summary page, click Next. 3. Click Finish. An empty PivotTable will appear along with a pre-populated PivotTable field list. 4. From the PivotTable Field list box, drag the OrderProgress field onto the Drop Row Fields Here box in the PivotTable. 5. Drag the Count measure from the PivotTable Field list box onto the Drop Value Fields Here box. 6. Double-click the Received cell in the PivotTable to expand it. You will see three values: Approved, Denied, and Evaluation. 7. Double-click the Approved cell. You will see two values: DeliveredAck and Fulfillment. 8. Right-click the Approved cell, and then click Pivot Table Options. 9. In the PivotTable Options dialog box, in the Name box, type Order Progress, and then click OK. This is the name that will identify this particular aggregation in the BAM Portal that will be used later. 10. On the Excel menu ribbon, click the Add-Ins tab, and in the Toolbar Commands section, click the Real Time Aggregation (RTA) button. 11. In the Excel menu ribbon, click BAM, and then click Export XML. 12. In the Export BAM XML dialog box, type OrderMgmt_MyBAMDefinition.xml as the file name, and then save the file to the desktop. At this point, you can save the Excel workbook with any name you want to the desktop before closing Excel. Exercise 3: Deploy the BAM Observation Model Overview Once the business analyst has created the BAM activity and view, an IT professional will deploy the BAM Observation Model to generate the structure of the BAM databases. In this exercise, you will deploy the BAM Observation Model by using the BAM command-line tool. Deploy the BAM Observation Model Created by the Business Analyst Procedure List 1. On the Start menu, click Run. 2. In the Open box, type cmd, and then press ENTER. 3. In the command prompt window, type cd %BTSInstallPath%\tracking”, and then press ENTER. 4. In the command prompt window, type bm.exe deploy-all -DefinitionFile: “C:\AllFiles\LabFiles\Lab12\OrderMgmt_BAMDefinition.xml”, and then press ENTER. 5. When the command is complete, close the command prompt window. This task dynamically creates all of the BAM infrastructure needed based on the observation model that was created in Exercises 1 and 2. Exercise 4: Map a BAM Activity to the Implementation Overview After the BAM activity has been deployed by the IT professional, a developer will link the BAM activity to the BizTalk implementation. In this exercise, you will use the Tracking Profile Editor (TPE) to create a tracking profile that maps the BAM activity to a receive port and to an orchestration. You will then apply the tracking profile. Select the Target BAM Activity for Which to Create a Tracking Profile Procedure List 1. On the Start menu, click All Programs, click Microsoft BizTalk Server 2010, and then click Tracking Profile Editor. 2. In the left pane, click Click here to import a BAM Activity Definition. 3. In the Import BAM Activity Definition dialog box, in the bottom pane, click OrderMgmt, verify that Retrieve the current tracking settings for this activity definition check box is cleared, and then click OK. Map the Received Milestone Procedure List 1. In the Tracking Profile Editor, in the top-right corner, click Select Event Source, and then click Select Messaging Property. 2. In the right pane, expand Schema and MessageProperties. Here you are mapping the Received milestone defined by the business analyst to an actual step in the business process. 3. Drag the PortEndTime node to the received node in the left pane. 4. In the left pane, right-click PortEndTime, and then click Set Port Mappings. 5. In the Select Ports dialog box, click OrderMgmt_RcvPO, click the > button to map the port, and then click OK. The port mapping part of this step is necessary because the same order might pass through multiple receive ports. The port mapping specifies the port from which the information will be collected. Map the City Payload Item Procedure List 1. Click Select Event Source, and then click Select Messaging Payload. 2. In the Select Event Source Parent Assembly dialog box, under Assembly name, click TheImplementationOfOrderMgmt, and then click Next. 3. In the Select Schema dialog box, under Schema Name, click OrderMgmt.PurchaseOrder, and then click OK. 4. In the right pane, expand Schema, PurchaseOrder, Header, and ShipTo. Now you will map the City item to actual values from the physical OrderMgmt_RcvPO port configured in the BizTalk Server Administration Console. 5. Drag the City schema item under ShipTo from the right pane to the City item in the left pane. 6. Right-click City in the left pane (where you just dropped it), and then click Set Port Mappings. 7. In the Select Ports dialog box, click OrderMgmt_RcvPO, click the > button to map the port, and then click OK. Map Additional BAM Milestones In the following steps, you will add BAM milestones to the actual orchestration. You will be able to query BAM for information about messages that were denied and acknowledged. Every order will either be denied or acknowledged, but cannot be both. Procedure List 1. Click Select Event Source, and then click Select Orchestration Schedule. Multiple orchestrations could exist in the OrderMgmt assembly, so in these steps, you must associate the correct orchestration with the business analyst’s BAM views. 2. In the Select Event Source Parent Assembly dialog box, under Assembly name, click TheImplementationOfOrderMgmt, and then click Next. 3. In the Select Orchestration dialog box, under Orchestration Name, click OrderMgmt.OrderMgmtProcess, and then click OK. 1. Drag the FulfillmentDelay shape from the orchestration to the approved milestone in the left pane. 2. Drag the RejectionDelay shape to the denied milestone in the left pane. Any order received will reach only one of these milestones because they are mutually exclusive outcomes of a presumed order evaluation—an order is either approved or denied. 3. Drag the SendPOAck shape to the acknowledged milestone in the left pane. Map the Remaining BAM Activity Items In the following steps, you will associate specific fields from the PurchaseOrder schema to fields in BAM. Procedure List 1. Right-click the ReceivePO shape, and then click Message Payload Schema. 2. In the right pane, expand Schema, PurchaseOrder, Header, and ShipTo. 3. Expand Item and Summary. 4. Drag the State schema item (under ShipTo) to the State data item in the left pane. 5. Drag the Product schema item (under Item) to the Product data item in the left pane. 6. Drag the Amount schema item (under Summary) onto the Amount data item in the left pane. Create a Continuation A BAM continuation is analogous to a correlation set in an orchestration. Continuations are sets of unique values that allow the BAM infrastructure to identify all messages that belong to the same instance of a BAM activity. In this lab, you must define a continuation to indicate that the messages accepted by the receive port belong to the same activity as those that are processed by the orchestration. Procedure List 1. In the left pane of the Tracking Profile Editor, right-click OrderMgmt, and then click New Continuation. 2. Set the name of the new continuation to OrderMgmtContinuation. 3. In the Tracking Profile Editor, in the top-right corner, click Select Event Source, and then click Select Messaging Property. 4. In the right pane, expand Schema and MessageProperties. 5. From the right pane, drag the InterchangeID node to the new OrderMgmtContinuation node in the left pane. 6. In the left pane, right-click InterchangeID, and then click Set Port Mappings. 7. In the Select Ports dialog box, click OrderMgmt_RcvPO, click the > button to map the port, and then click OK. This step instructs the BAM infrastructure to initialize the continuation with the value of the message’s interchange ID. The interchange ID is a GUID that identifies this message and any of its descendants. 8. In the left pane of the Tracking Profile Editor, right-click OrderMgmt, and then click New ContinuationID. 9. Set the name of the new continuation ID to OrderMgmtContinuation. The name of the continuation ID must match the name of the original continuation. 10. Click Select Event Source, and then click Select Orchestration Schedule. 11. In the Select Event Source Parent Assembly dialog box, under Assembly name, click TheImplementationOfOrderMgmt, and then click Next. 12. In the Select Orchestration dialog box, under Orchestration Name, click OrderMgmt.OrderMgmtProcess, and then click OK. 13. Right-click the ReceivePO shape, and then click Message Property Schema. 14. In the right pane, expand MessageProperties, and then drag the InterchangeID node to the new continuation ID node that you just created. The ReceivePO shape will report the message’s interchange ID to the BAM infrastructure, allowing BAM to associate this message with the correct BAM activity. Deploy the Tracking Profile Once you have deployed the Tracking Profile to the BAM run-time environment, the BAM infrastructure will start collecting data from messages that pass through the business process. Procedure List 1. On the File menu, click Save. 2. In the left pane, click Desktop, in the File name box enter OrderMgmt.btt, and then click Save. 3. In the Tracking Profile Editor, on the Tools menu, click Apply Tracking Profile. 4. In the Tracking Profile Editor message box, click OK. 5. Close the Tracking Profile Editor window. Exercise 5: Use the BAM Portal to Test the BAM Implementation The BAM portal provides users with a Web interface to view the data collected by BAM. In this exercise, you will submit messages, and then use the BAM portal to view the information collected by BAM about the processing of each purchase order. Generate Initial Inbound Flow of Purchase Orders Procedure List 1. In the BizTalk Server Administration Console, start the OrderMgmt application. 2. In Windows Explorer, double-click the file C:\AllFiles\LabFiles\Lab12\Messages\Send20POs.bat. The batch file used here generates 20 test orders so that you will have some data to analyze in this exercise. Launch the BAM Portal and View Order Progress Data Aggregation Procedure List 1. In Internet Explorer, navigate to http://localhost:8080/BAM. 2. In the My Views navigation pane, expand the Sales Manager view. 3. Click the plus sign (+) to expand the function named Aggregations, and then click Order Progress. 4. In the Microsoft Office 2003 Web Components message box, click OK. If you do not see any data in the Pivot Table View, click the button with the red exclamation point (!) icon in the PivotTable tool bar to refresh the view. Because of SQL Server / OLAP caching, it might take up to one minute for the data to appear. 5. Click the plus signs (+) to expand cells in the PivotTable until Evaluation is shown with a corresponding Total amount. Generate Another Inbound Flow of Purchase Orders Procedure List 6. Double-click the file C:\AllFiles\LabFiles\Lab12\ Messages\Send20POs.bat to create and submit 20 new purchase orders. Review the Detailed Status Information Procedure List 1. Expand the Column Chooser section, select all remaining items in the Available Data and Milestones pane, and then click the >> button to move them to the Items to Show pane. 2. Collapse the Column Chooser section, and then click the Execute Query button at the top right of the page to run the query again. The user might want to modify the query itself. Specifically, if the number of items presented by this Show Results action is too large, it might be necessary to use some refinement criteria to limit the list to something workable. For example, of the orders piling up in this processing stage, you might care only about those that have been in that stage for more than a certain number of hours. You can refine the query by expanding the Query section of this page and modifying the set of query clauses.