MCTS Biztalk Server 2010 Administrator Courseware
Transcription
MCTS Biztalk Server 2010 Administrator Courseware
Microsoft MCTS BizTalk Server 2010 Biztalk Administrator Courseware Microsoft Certified Technology Specialist Version 1.0 www.firebrandtraining.com Module 0: Introduction Time estimated: 30 minutes Provide an overview of the course Course timing Approximate timings for this course are included in the following tables. Day 1 Start End Module 9:00 9:30 Introduction 9:30 10:45 Module 1: Introduction to BizTalk Server 2010 10:45 11:00 Break 11:00 11:30 Lab 1: Examining a BizTalk Application 11:30 12:00 Module 2: Installing a BizTalk Server Hosting Environment 12:00 12:15 Lab 2a: Install and Configure Windows SharePoint Foundation 12:15 1:15 Lunch 1:15 1:45 Module 2: Installing a BizTalk Server Hosting Environment 1:45 2:15 Lab 2b: Install and Configure BizTalk Server 2:15 2:30 Break 2:30 3:15 Module 3: Deploying BizTalk Applications 3:15 3:45 Lab 3a: Deploying an Application by Using an MSI Package 3:45 4:15 Module 3: Deploying BizTalk Applications 4:15 5:00 Lab 3b: Composing and Deploying Business Rules Start End Module 9:00 9:30 Day 1 review 9:30 10:00 Module 4: Managing BizTalk Applications 10:00 10:15 Break 10:15 11:00 Lab 4a: Administering a BizTalk Application 11:00 11:45 Module 4: Managing BizTalk Applications 11:45 12:15 Lab 4b: Monitoring Message Activity and Debugging Orchestrations 12:15 1:15 Lunch 1:15 1:45 Module 4: Managing BizTalk Applications 1:45 2:00 Lab 4c: Scripting Administrative Tasks 2:00 2:30 Module 4: Managing BizTalk Applications 2:30 2:45 Break 2:45 3:45 Lab 4d: Monitoring Business Activity 3:45 4:00 Module 5: Administering a BizTalk Server Environment 4:00 4:15 Lab 5a: Managing a BizTalk Server Group 4:15 4:30 Module 5: Administering a BizTalk Server Environment Day 2 4:30 5:00 Lab 5b: Backing Up and Restoring BizTalk Server Data Optional Topic Start End Module Module 6: Monitoring a BizTalk Environment with System Center Operations Manager Introduction Facilities About This Course Description This five-day instructor-led course provides students with the knowledge and skills to integrate internal and external systems and trading partners and to develop business process integration applications using BizTalk Server 2010. Audience This course is intended for administrators who are responsible for managing a Microsoft BizTalk Server 2010 group. Individuals who attend this course are expected to have the following prerequisite knowledge or experience: At least one year of experience managing a Microsoft Windows Server environment Familiarity with systems Microsoft SQL Server Familiarity with a scripting language Prior experience with of BizTalk Server is not required. Course Outline Course outline This course contains a total of five modules. Each module contains multiple lessons. Module 1, “Introduction to BizTalk Server 2010,” introduces the core features of BizTalk Server 2010 and how messaging and orchestration services work. Also, this module provides a look at what is new in BizTalk Server 2010. Module 2, “Installing a BizTalk Server Hosting Environment,” shows how to install and configure BizTalk Server 2010. Module 3, “Deploying BizTalk Applications,” shows how to deploy BizTalk Server applications. Module 4, “Managing BizTalk Applications,” shows how to manage BizTalk Server applications. Module 5, “Administering a BizTalk Server Environment,” shows how to script administrative actions and back-up BizTalk Server databases. Optional Content Module 6, “Monitoring a BizTalk Environment with System Center Operations Manager” show how to monitor a BizTalk environment using the Microsoft BizTalk Server 2010 Management Pack (MP) for System Center Operations Manager. Setup Explain the classroom setup Hyper-V configuration In this course, you will use Microsoft Hyper-V R2 to perform the hands-on practices and labs. The following table shows the role of each virtual machine used in this course. Virtual machine Role bt10a-01 Supports the lab for module 1 bt10a-02 Supports the lab for module 2 bt10a-03 Supports the lab for module 3 bt10a-04 Supports the lab for module 4 bt10a-05 Supports the lab for module 5 bt10a-06 Supports the lab for module 6 Course files There are files associated with the demonstrations, practices, and labs in this course. The files are located on each student computer, in the folder C:\Microsoft BizTalk Server 2010 Training. Classroom setup Each classroom computer will have the same virtual machine configured in the same way. Each of the labs in this course uses its own virtual machine. There are 14 virtual machines. Course hardware level To ensure a satisfactory student experience, Microsoft Learning requires a minimum equipment configuration for trainer and student computers in all Microsoft Certified Partner for Learning Solutions (CPLS) classrooms in which Official Microsoft Learning Products are used. This course requires a hardware level 5 computer, which includes but is not limited to: 2 GB of RAM, 40 GB of free disk space, and a Pentium IV 2.4-gigahertz processor. Demonstration: Using Hyper-V Demonstrate how to use Microsoft Hyper-V Hyper-V demonstration In this demonstration, your instructor will help familiarize you with the Virtual PC environment in which you will work to complete the practices and labs in this course. You will learn: How to start Hyper-V. How to start a virtual machine. How to log on to a virtual machine. How to switch between full screen and window modes. How to pause a virtual machine How to resume a virtual machine How to distinguish the virtual machines that are used in the practices for this course. How to close a virtual machine Keyboard shortcuts While working in the Hyper-V environment, you might find it helpful to use keyboard shortcuts. Some useful shortcuts include: CTRL-ALT+END to log on to the Virtual Machine. CTRL-ALT+BREAK to switch between full-screen and window modes. For more information about using Hyper-V, see Hyper-V Help. Module 1: Introduction to BizTalk Server 2010 Time estimated: 75 Minutes Module objective: In this module, you will learn how to: Describe the BizTalk message processing architecture and identify the new features and toolsets provided in BizTalk Server 2010. Overview Microsoft® BizTalk® Server 2010 helps customers efficiently and effectively integrates systems, employees, and trading partners faster than ever before. BizTalk Server 2010 introduces a host of new performance features and an improved toolset that enables developers, IT professionals, and business analysts to build, deploy, and analyze complex application integration and business process automation scenarios. Lesson 1: What Is BizTalk Server 2010? Lesson objective: Describe common BizTalk Server 2010 scenarios, the overall messaging architecture, and the common job roles and toolsets used with BizTalk. Overview BizTalk Server 2010 solves common problems that many businesses encounter with automating business processes: integrating multiple heterogeneous systems and communicating with business partners. This section provides an overview of BizTalk Server 2010 and identifies several common BizTalk integration scenarios. It will also provide a detailed look at how BizTalk works to processes messages. BizTalk Integration Services and Tools Describe the services and tools provided in BizTalk Server 2010. Overview BizTalk Server 2010 is an efficient business-process management server that provides powerful messaging and orchestration services and development tools. BizTalk unifies these services and development tools to provide a smooth design experience for developers designing a business process as well as a robust environment for deploying and executing business processes. BizTalk Tools and Services The following services and tools are included in BizTalk Server 2010: Messaging services. Messaging services transform and route messages to and between business processes Orchestration services. The Orchestration engine is responsible for processing documents in an automated workflow application. Application development tools. BizTalk provides a number of graphical tools that enable developers to perform such tasks as creating, testing, and deploying schemas, maps, and orchestrations. Business rule engine. The business rule composer and the associated runtime engine enable dynamic business policies and logic to be integrated within a business process without the need to recode and redeploy the BizTalk application. Message activity tracking. The BizTalk Administration Console is used to monitor and debug message activity and orchestrations. Web services integration. BizTalk enables Web services to be consumed by a business process (orchestration) or for a business process to be made available as a WCF service for consumption by client applications. Business Activity Monitoring (BAM). BAM is used to monitor real-time or archived statistical data through end-to-end business processes. What Problems Does BizTalk Server 2010 Solve? Describe business and integration problems solved by BizTalk Server Multiple Applications Businesses often acquire multiple systems and applications from different vendors to support their business needs. This results in a variety of applications that run on dedicated platforms and which were not designed to work together. This is because each application is usually designed in isolation to fulfill a specific purpose such as inventory, human resources, or customer relationship management (CRM). Companies wanting to integrate information from these internal applications discover that integrating systems can be an expensive and time-consuming task. BizTalk helps to solve many of the problems associated with integrating systems and managing business processes. Common Complaints Consider the following common integration complaints: Disparate applications. “It is too difficult to integrate dissimilar applications within my company.” Programming overruns. “It takes too long to develop integrated applications for my company’s enterprise resource plan with our existing development tools.” Time-consuming deployment. “Deploying a business process to integrate with my trading partner’s system takes practically as long as developing the process in the first place.” Dissimilar reports. “There is no way to generate integrated, timely reports from my various applications, because the data is stored in so many places.” Modification difficulties. “Once my internal applications are integrated, changing them is arduous and expensive.” Lack of set procedures. “My company does not have a consistent method for implementing our critical business processes.” Limited tracking. “I have no way of extracting usable, real-time data from a running business process.” Changing partners. “If another business offers me a better deal, it is too difficult to take advantage of it because of all of the IT infrastructure changes that it would require.” What Is BizTalk Server 2010 Integration? (Scenario) Describe a typical BizTalk Server 2010 integration scenario. BizTalk Integration BizTalk Server 2010 facilitates integrating internal applications and securely connects with your business partners over the Internet. Companies need to integrate applications, systems, and technologies from a variety of sources. To make this easier, BizTalk delivers integration technology and, with BizTalk Server 2010, expands the offering with many industry accelerators and adapters. Enterprise Application Integration Scenario In this scenario, an inventory application, perhaps running on a mainframe, determines that the stock of an item is low and issues a request to order more of that item. The following steps occur: 1. The request is sent to a BizTalk Server 2010 application 2. The BizTalk application requests a purchase order (PO) from the organization’s Enterprise Resource Planning (ERP) application. 3. The ERP application, which might be running on a UNIX system, sends back the requested PO. 4. The BizTalk application informs a fulfillment application, built on the Microsoft .NET Framework, that the item should be ordered. In this example, each application communicates by using a different protocol, using message formats specific to the application. This means that the BizTalk messaging engine must be able to communicate with each application in its native communication protocol and format and also convert the messages to the protocol and format required by the other systems. Notably, no single application manages the complete business process. The BizTalk application has the capability of coordinating and tracking the status of all of the parts of the complete business process. What Is BizTalk Server Business Process Automation? Describe a typical BizTalk Server 2010 business process automation scenario. Business Process Automation Business process automation enables the coordination of business processes, such as approving a purchase order, with people and business applications such as enterprise resource planning (ERP), customer relationship management (CRM), or line of business (LOB) applications. These processes frequently start as manual tasks that require integration and input with many different systems and individuals. The process may require days, weeks, or months to complete. For example, assume that your company receives purchase orders from several different trading partners in various formats. Before the purchase order can be processed, it must be converted to an internal format that is usable by your internal systems. Next, your company may have specific rules that must be applied to a received purchase order before it can be fulfilled, such as the availability of the product ordered, the credit worthiness of the customer, and other criteria that may need to be applied during the life of the transaction. Also, several status messages may need to be send to and received by the customer that eventually results in an invoice being sent and payment being received. BizTalk Server 2010 provides the tools and technologies for automating these business processes. BizTalk Orchestration As a developer, you can implement this type of business process integration by writing your own application by using C# or Microsoft Visual Basic®. However, creating, maintaining, and managing complex business processes in conventional programming languages can be challenging, costly, and time-consuming. BizTalk Server 2010 enables you to create these business processes graphically. This results in business process automation applications being developed faster and more cost effectively than building the process directly in a programming language. It also makes the process easier to understand, explain, and change. Business Rule Engine Over time, the rules specified in an orchestration can change. The decisions embedded in a business process—the business rules—are commonly the most volatile. For example, a manager’s spending limit might change, or a customer’s maximum order limit might change. BizTalk Server 2010 includes the Business Rule Engine to enable you to directly create and modify sets of business rules called policies. These policies are created by using the Business Rule Composer and then executed directly by the business rule engine. BizTalk Messaging and Orchestration Services Explain how BizTalk messaging and orchestration services work to process messages. Overview The two main services in BizTalk Server 2010, the messaging engine and the orchestration engine, form the underlying architecture that enables you to integrate and exchange messages with the many types of external systems and applications that exist in your organization and with trading partners. Messaging Engine The purpose of BizTalk is to process messages. All communication within BizTalk and between a BizTalk Server and other systems are based on the exchange of messages. For this reason, the messaging engine is essential to all BizTalk operations. The BizTalk messaging engine performs the following tasks: Receives inbound messages Parses inbound documents to identify their specific formats Extracts key identifiers and identifies applicable routing rules Delivers documents to their respective destinations including ports or orchestrations Tracks documents Message database The MessageBox database is a Microsoft SQL Server™ database that is used by BizTalk to store and route messages to orchestrations and send ports. When a message arrives in the MessageBox database, the metadata associated with the message is matched and evaluated to determine the services that subscribe to messages of this type. Publish-Subscribe Model BizTalk Server 2010 implements a publish-subscribe model for the routing of messages. In the publish-subscribe model, message providers (publishers) submit messages to a central store (the MessageBox), where subscribers (send ports and orchestrations) can subscribe to specific messages. After a message of interest is received by the MessageBox, it is sent to all subscribers. For example, when a patient is admitted to a hospital, several processes need to be started, and various systems need to be updated. These systems might include an ERP application and other proprietary applications. Each of these systems usually requires a unique message format. The creation of a new patient admission form generates the initial message that begins the process. Each of the other systems could subscribe to these messages as separate tasks in an overall business process. Using the publish-subscribe model, new systems can be added and old systems updated without the need to rewrite the integration application. Animation: BizTalk Message Flow To show how BizTalk processes messages. Animation In this animation, you will see an overview of how the BizTalk messaging and orchestration runtime components work to process XML and flat-file messages. BizTalk Job Roles and Tools Identify common job roles that relate to the design, development, and management of a BizTalk solution. BizTalk Job Roles Because different tasks are performed by different people in an organization, BizTalk provides a modular toolset that offers the flexibility of a role-based user experience. Information Workers/Business Analysts The role of a business analyst is to define the rules and actions that make up a business process and to define the key performance indicators used to monitor business activity. The analyst also determines the flow of the business process and determines what information gets sent to each application. Information workers may use the BizTalk Server 2010 Administration Console to maintain trading partner information. The Business Activity Monitor (BAM) portal site can be used to monitor business processes and to view aggregated data. Developers Developers use the design provided by the business analyst to create an application that models the business process. BizTalk developer tools are integrated in Microsoft Visual Studio® 2010. The developer uses these tools to perform tasks such as defining XML schemas for the business documents, specifying the relationships between schemas, creating the orchestrations necessary to implement the business process, and deploying applications to servers for testing the business processes. IT Professionals/Administrators The administrator plays an important role by establishing a secure BizTalk environment, setting up communications among the parts, deploying the application, and performing other administrative tasks to manage the BizTalk environment and applications in a production environment. The administrator role also includes the installation and configuration of a stable and high-performance SQL server environment. BizTalk Server 2010 Editions Identify the differences between BizTalk Server 2010 editions. Overview Microsoft BizTalk Server 2010 is available in five editions designed to meet the needs of organizations of different sizes and needs: Enterprise Edition. BizTalk Server 2010 Enterprise Edition is targeted to large organizations and trading hubs as well as digital marketplaces. Enterprise Edition offers the complete set of BizTalk Server 2010 features. It supports an unlimited number of internal applications running on multiple processors, and it supports clustered deployments. Microsoft also offers a specialized edition of BizTalk Server 2010 named the RFID Enterprise Edition that offers only RFID capability for integration of remote RFID sensors. Standard Edition. BizTalk Server 2010 Standard Edition is designed for small and medium-sized organizations. It offers the same set of features as BizTalk Server 2010 Enterprise Edition, but the number of internal applications is limited to five. This is a decrease of 5 internal applications, but there is no longer a limit to the number of trading partners. Standard Edition will run on 2 CPUs on a single server. Branch Edition. BizTalk Server 2010 Branch Edition is a new licensing option. Branch Edition is designed for intra-enterprise hub and spoke scenarios. You can use Branch Edition to integrate 1 internal application with a BizTalk Server “hub” that coordinates/aggregates events across multiple Branch Editions. It is a subset of BizTalk Server 2010 functionality that includes the technology adapters, RFID, mobile support and Host Integration Server. Branch Edition does not include the application adapters, the BizTalk Adapter Pack or any of the BizTalk accelerators. Branch Edition is limited to 2 CPUs on a single server with a single message box. Developer Edition. BizTalk Server 2010 Developer Edition is available as a free download from the Microsoft web-site. It provides the same set of features as Enterprise Edition, but it is not licensed for production use. Developers can use this edition of BizTalk Server 2010 in a development environment for application development and testing, and for deploying applications to a full production environment. Lesson 2: What’s New in BizTalk Server 2010? Lesson objective: Identify the new features and improvements for developers and administrators. Overview BizTalk Server 2010 builds on the previous version, BizTalk Server 2009, by offering many improvements, including support for more efficient installations, new developer features new management features and updated adapters. The administration features include a new BizTalk Server Settings Dashboard, a new System Center Operations Management Pack and improved trading partner management. Installation and Setup Identify new and improved installation and setup features. Overview There are two key improvements in the setup functionality provided by BizTalk Server 2010. First, BizTalk Server 2010 provides full support for SysPrep which improves administrator efficiency when scaling out a BizTalk Server Group. The second key improvement is the clustering support offered by Windows Server 2008 R2, offering improved highavailability/fail-over support. Full Support for SysPrep BizTalk Server 2010 provides full support for SysPrep, making it easier replicate the disk image of an existing BizTalk Server 2010 installation to new servers, including Hyper-V virtual machines. Administrators can replicate the images from either a physical hard disk, or a virtual hard disk, and use SysPrep to change the machine name. Windows Server 2008 R2 Clustering BizTalk Server 2010 can take advantage of the improved clustering support offered by Windows Server 2008 R2. BizTalk Server can now be deployed in multi-site cluster scenarios, where cluster nodes can reside on separate IP subnets and avoid complicated virtual LANs (VLANs). Developer Tool Improvements Identify new and improved developer tools. Overview The BizTalk developer tools have been enhanced in BizTalk Server 2010 from earlier versions. BizTalk 2010 adds additional improvements to simplify developing BizTalk solutions. Mapper Improvements The BizTalk 2010 Mapper has been improved with a new user interface that eases development of large transformations and provides new search and predictive matching functionality. The new BizTalk Mapper also improves productivity by adding cut, copy, paste, move and undo functions and improved support for documenting maps and readability. Readability improvements include a new pan feature, and automatic scrolling that brings all of the relevant links and functoids in to view when a user clicks on schema node. Developer Tool Improvements Identify new and improved developer tools. Integration with AppFabric Workflows BizTalk Server 2010 introduces a new feature “AppFabric Connect”, which combines features of BizTalk Server development with .NET application development, enabling developers to: Develop custom .NET applications that require connectivity to backend Line of Business (LOB) systems like SAP, Oracle database, Oracle E-Business Suite, Seibel, and SQL Server without writing custom code for LOB connectivity. Develop XML-based data transformation using the BizTalk Mapper that can be launched and used right within a .NET project. AppFabric Connect uses Windows Workflow Foundation (WF) activities to programmatically access BizTalk’s LOB connectivity and data transformation capabilities. This enables users to easily create new composite applications using the WF model, which can be deployed, hosted and managed in Windows Server AppFabric. AppFabric Connect also enables a class of short running scenarios, such as Web-based queries, that don’t require the durability/persistence provided by the traditional BizTalk Server message box architecture. Deployment and Management Improvements Identify new and improved deployment and management tools. New BizTalk Server Settings Dashboard The BizTalk Settings Dashboard in BizTalk Server 2010 is a new feature of the BizTalk Administration Console that provides convenient access to all of the BizTalk performance settings. Administrators can use the BizTalk Settings Dashboard to modify settings for the BizTalk Group, and all the BizTalk Hosts and BizTalk Host Instances in that Group. In previous versions, administrators had to access the settings in various locations including the Windows registry, SQL Server databases and configuration files. The BizTalk Settings Dashboard supports automated settings deployment with scriptable export/import operations. New Database Administration Features SQL Server backup compression is a new feature that is introduced in SQL Server 2008 Enterprise edition. In BizTalk Server 2010, backup compression enables administrators to create compressed backups of BizTalk Server databases that are business critical and consume large amounts of disk space. Creating compressed backups is supported only in SQL Server 2008 Enterprise and later versions. When administrators run backup compression, custom databases that are a part of BizTalk backup jobs will also be compressed. Database backups will happen without compression if backup compression is enabled on databases that belong to non-enterprise editions of SQL Server. SQL Server 2008 Transparent data encryption (TDE) performs real-time I/O encryption and decryption of the data and log files. The encryption uses a database encryption key. TDE protects data "at rest", meaning the data and log files. It provides the ability to comply with many laws, regulations, and guidelines established in various industries. This enables software developers to encrypt data by using AES and 3DES encryption algorithms without changing existing applications. TDE does not provide encryption across communication channels. Encryption of the database file is performed at the page level. The pages in an encrypted database are encrypted before they are written to disk and decrypted when read into memory. TDE does not increase the size of the encrypted database. SQL Server 2008 Transparent data encryption (TDE) performs real-time I/O encryption and decryption of the data and log files. The encryption uses a database encryption key. TDE protects data "at rest", meaning the data and log files. It provides the ability to comply with many laws, regulations, Deployment and Management Improvements Identify deployment and management improvements. New System Center Operations Management Pack The BizTalk Server 2010 Management Pack for System Center Operations Manager (SCOM) provides comprehensive discovery and monitoring of BizTalk Server components and applications. The BizTalk Server 2010 Management Pack improves the visibility of an environment’s health status by using color schemes to visually represent the health status of all BizTalk Server artifacts. A stopped artifact is displayed as red, a started artifact is displayed as green, and an artifact that has encountered any errors is displayed as yellow. In addition to indicating highlighting the artifacts with errors, the BizTalk Server 2010 Management Pack provides improved diagnostic support by including more detailed error information than did previous versions. The BizTalk Server 2010 Management Pack offers improved discovery of artifacts across multiple machines. When SCOM monitors a multiple server environment, monitoring agents running on the machines discover the same set of artifacts from the configuration database, resulting in duplicate displays of an artifact in the SCOM console. With BizTalk Server 2010 management pack, the monitoring agents discover the artifacts from a single machine, avoiding the duplication. The BizTalk Server 2010 Management Pack also offers improved discovery of relationships between BizTalk artifacts. It optimizes the discovery of relationships by properly sequencing the discovery of the artifacts before the discovery of relationships. Improved Trading Partner Management Maintaining the information required to manage trading partner relationships can be difficult when many organizations are involved or when the parties change frequently. Previous releases of BizTalk provided a functional party management offering that enabled customers to build solutions that needed party management data, but it did come with a few challenges around usability and scalability. BizTalk Server 2010 offers improved trading partner management support to simplify the integration of business processes with trading partners and manage trading partner relationships. It offers improved scalability, and it provides a more intuitive user interface and object model to reflect trading partners, their various businesses, partnerships and agreements between partners. The BizTalk Server 2010 trading partner implementation offers better control over user access by introducing a new Windows role. Business users that are responsible for maintaining trading partner data can be assigned to the new “BizTalk B2B Operator” role. The new role allows windows users associated with the role to perform all party management operations, reducing the burden on the BizTalk administrators to perform all trading partner management operations. BizTalk Server 2010 provides a party migration tool that helps upgrade customers to easily move from previous versions of BizTalk without having to recreate hundreds of parties and agreements New and Updated Integration Adapters Identify new and updated integration adapters. Overview BizTalk Server 2010 includes an improved FTP adapter and updated application adapters.. Improved FTP adapter Previous versions of the BizTalk FTP adapter did not offer support for secure network connections. The FTP adapter in BizTalk Server 2010 provides support for file transfers from an FTPS server over Secure Sockets Layer (SSL)/Transport Level Security (TLS). SSL/TLS ensures data confidentiality through encryption. In the previous releases of BizTalk Server, the FTP adapter deleted the file after downloading to avoid downloading the same file during a subsequent polling interval. Due to this design, the adapter was limited to download files only from FTP locations that provided read-write access. In BizTalk Server 2010, the FTP adapter supports download of files from read-only file locations. The adapter now maintains a list of downloaded files in a database. When downloading a file, the FTP adapter checks the list of files to determine whether or not the file has been downloaded previously. The FTP adapter available with the previous releases of BizTalk Server provided atomic file transfer only for binary mode. In BizTalk Server 2010, the FTP adapter is improved to support atomic file transfer for ASCII mode as well. Updated Application Adapters The BizTalk Server 2010 Adapter Pack provides connectivity to SAP 7, Oracle E-Business Suite 12.1, J.D. Edwards 9.0, SQL Server 2008 R2, Siebel and Oracle Databases. The BizTalk Adapter Pack can be installed in conjunction with, or separately from, BizTalk Server. It is included in the Enterprise, Standard and Developer Editions of BizTalk. The SQL Server Adapter included in the BizTalk Server 2010 Adapter Pack replaces the SQL Server adapter provided in previous versions of BizTalk. The specialized BizTalk Adapter Pack Edition is no longer available as a separate product from BizTalk Server. To purchase the BizTalk Server 2010 Adapter Pack for production use, you must purchase either the Enterprise or Standard Edition of BizTalk Server 2010. Upgrading Applications from Previous Versions of BizTalk Server Describe considerations for upgrading from BizTalk Server 2006 R2 or 2009 to BizTalk Server 2010. Upgrading to BizTalk Server 2010 BizTalk Server 2010 provides support for upgrades from BizTalk Server 2006 R2 or BizTalk Server 2010. Customers using older versions of BizTalk Server must first upgrade to either BizTalk Server 2006 R2 or BizTalk Server 2009 before upgrading to BizTalk Server 2010. BizTalk Server 2010 includes a Smart Setup feature that automatically scans and installs the appropriate upgrade when upgrading from BizTalk Server 2010 R2 or BizTalk Server 2009. Windows and SQL Server must be upgraded before upgrading BizTalk Server. Windows must be upgraded to Windows Vista SP2, Windows 7, Windows Server 2008 or Windows Server 2008 R2. SQL Server instances that are hosting BizTalk databases must be upgraded to SQL Server 2008 R2. Developers must have Visual Studio 2010 installed on their workstations. BizTalk solutions created in previous versions of Visual Studio will be upgraded automatically when opened in Visual Studio 2010. The document “Upgrading to BizTalk Server 2010 from BizTalk Server 2009/2006 R2” provides detailed instructions for performing an upgrade. It is available on Microsoft’s web site. Lesson 3: The BizTalk Server Development Environment Lesson objective: Identify system requirements and identify the most common tools used to develop BizTalk applications. Overview The BizTalk Server 2010 development environment includes a number of tools for creating schemas, designing business processes Tools for Developers Identify the purpose of the most common BizTalk developer tools. Overview The BizTalk developer tools are hosted in the Visual Studio environment and are used for both messaging and orchestrations. BizTalk Developer Tools The following tools are used by developers to create the necessary BizTalk artifacts for BizTalk message integration and business process integration: BizTalk Editor. Helps you define schemas, which are used to describe the format of data that is processed within organizations and between trading partners. BizTalk Mapper. Presents source schemas and destination schemas side by side, making it possible to define transformations between data fields in messages. Pipeline Designer. Used to process incoming and outgoing messages by implementing such operations as encryption and decryption, compression, reformatting, and validation. Orchestration Designer. Enables you to create orchestrations that are used to model business processes. Tools for Information Workers Identify common BizTalk tools for information workers. Overview Information workers now have access to two tools for interacting with BizTalk Server. Business Activity Monitoring (BAM) allows information workers to monitor running business processes, and Trading Partner Management (TPM) gives information workers the tools necessary to manage external trading partners. Business Activity Monitoring BAM provides information workers visibility into running business processes. BAM can be used to view business data in as close to real time as possible, and business analysts can use the BAM Activity Wizard to specify what data to collect and how to interpret it. This data can then be saved and viewed in an Excel workbook. The BAM Portal is another new tool that allows business analysts and information workers the ability to view business data. BAM is covered in more depth in later modules. Trading Partner Management Because BizTalk Server 2010 is often used to connect trading partners, TPM is provided to handle managing trading partner relationships. Trading partners must often agree on the protocol they will use to communicate or the formats of messages that are exchanged, and TMP provides information workers with an easy-to-use interface for managing these relationships. Tools for IT Professionals Identify common BizTalk tools for IT Professionals. Overview BizTalk Server 2010 comes with several new features that IT professionals can use for administering and monitoring their BizTalk Server installations. The improved BizTalk Server 2010 Administration Console and the equivalent command-line tool, BTSTask.exe, are the main tools that IT professionals will use when administering a BizTalk Server computer. BizTalk Server Administration Console. This Microsoft Management Console (MMC) snap-in is used for creating, configuring, and managing applications as well as for creating and configuring send ports, receive ports, and orchestrations. The Administration Console also contains the Group Hub, which provides a complete view into the health of a running BizTalk Server. The Group Hub is used by IT professionals to view live data. BTSTask. This command can be used to perform the same tasks as the BizTalk Server Administration Console. System Center Operations Management Pack. The BizTalk Server 2010 Management Pack offers monitoring capabilities for BizTalk artifacts and BizTalk-related platform components. It allows administrators to monitor health state of various BizTalk artifacts such as Send Ports, Orchestrations etc. and platform artifacts such as Host Instances (BizTalk service). Further, this Management Pack includes performance views, diagnostic capability and alerts. Lab 1: Examining a BizTalk Application Time estimated: 15 Minutes Scenario Adventure Works is a company that sells sporting goods. Adventure Works has implemented BizTalk Server 2010 to automate its purchase order approval system. In this lab, you will test the process by submitting purchase orders from two companies to the BizTalk Server application that uses schemas, pipelines, maps, and orchestrations. The application calculates and applies a discount based on rules that have been defined by using the Business Rule Composer. The business rules are as follows: Contoso, Ltd. is a preferred business partner. Orders greater than $10,000 receive a 10 percent discount, all other orders receive a 5 percent discount. The AckCode field in each purchase order is updated to reflect the discount percentage. Fabrikam, Inc. is not a preferred business partner. However, orders greater than $10,000 receive a 5 percent discount. The AckCode field is updated with the following text: 5% discount applied. All orders that do not meet the minimum ($10,000) require manual approval. By default, the AckCode field for these orders is set to Does not meet minimum. A message is sent to a SharePoint document library when a purchase order requires manual approval. A manager must manually override the AckCode field with a value of Accepted or Denied before resubmitting the updated purchase order to BizTalk Server for further processing. After the purchase order has been reviewed by the manager, it is included in a view of the SharePoint document library that displays only evaluated orders. BizTalk Server monitors the document library’s Evaluated view for messages to process. If the purchase order is Accepted, BizTalk calculates and updates the total for the purchase order and routes it to the PurchaseOrderAck folder. If the purchase order is Denied, the purchase order is routed to the Denied folder. An FTP site is used to post shipping notices for approved purchase orders. 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 bt10a-01 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, and then click OK. Ensure that the BizTalk Services are started Procedure List 1. In Windows Explorer, navigate to C:\AllFiles. 2. Double click on startBtServices.cmd. 3. When prompted, press any key to close the command-line window. Extend the Office Trial Version Procedure List 1. To extend the expiration date of the Microsoft Office 2010 installation on this virtual machine, navigate to C:\AllFiles\, and then double click extend.cmd. Exercise 1: Test a BizTalk Server Application Overview In this exercise, you will submit five purchase orders—three from Contoso, Ltd., and two from Fabrikam, Inc.—to BizTalk Server 2010 for processing. Depending on the company name and total order amount, the Business Rule Engine will apply a discount to each purchase order. One purchase order will not meet any requirements of the business rule policy and must be manually approved. Shipping information will also be generated for each approved purchase order and posted to an FTP site. This exercise shows you how BizTalk Server 2010 is used to automate business processes. Test the Application Procedure List 1. In Windows Explorer, navigate to C:\AllFiles\LabFiles\Module 1\Messages. 2. Copy the three ContosoPO… and the three FabrikamPO… XML messages to the PurchaseOrderIN folder. These are the purchase orders that will be processed by BizTalk Server. 3. After the messages disappear from the PurchaseOrderIN folder, navigate to the PurchaseOrderAck folder. 4. In the PurchaseOrderAck folder, open each of the four Completed{GUID}.xml messages, and verify that the AckCode field displays X% discount applied or Accepted. 5. In Internet Explorer, type ftp://BizTalkDemo/ShippedOrders in the Address bar, and then press ENTER. 6. When prompted to log in to the FTP site, in the User name box, enter Administrator and in the Password box, enter pass@word1. 7. Open the ShippedOrders folder, and notice the four ShipNotice{GUID}.xml messages. 8. In Internet Explorer, navigate to http://BizTalkDemo/PurchaseOrderAck. 9. Click the first message, and then in the File Download dialog box, click Open. If the Microsoft Office Activation Wizard window appears, click on its Cancel button. Take note of the Customer Name; it is either Contoso or Fabrikam. 10. In the Ack Code list, choose Accept, and then close the form, saving your changes. 11. In the SharePoint navigation menu in Internet Explorer, click on All Documents and choose Evaluated from the drop-down list. The Evaluated view shows applications that have been accepted or rejected. Notice that the message you modified will be picked up for processing. This may take up to one minute to occur, so you may have to refresh your browser. 12. In Windows Explorer, navigate to C:\AllFiles\LabFiles\Module 1\Messages\PurchaseOrderAck, and notice that another message has been processed. 13. In Internet Explorer, navigate to ftp://BizTalkDemo/ShippedOrders. Notice that another ShipNotice{GUID}.xml message is in the folder. 14. Click on Evaluated in the SharePoint navigation menu and choose All Documents from the drop-down list. Click the remaining message, and then in the File Download dialog box, click Open. If the Microsoft Office Activation Wizard window appears, click on its Reject button. Take note of the Applicant Name; it is either Contoso or Fabrik. 15. In the Ack Code list, choose Reject, and then close the form, saving your changes. 16. Refresh the page, and notice that the message will be picked up for processing. This may take up to one minute to occur. 17. In Windows Explorer, navigate to C:\AllFiles\LabFiles\Module 1\Messages\PurchaseOrderAck, and notice that the message does not appear there. 18. In Windows Explorer, navigate to C:\AllFiles\LabFiles\Module 1\Messages\Denied, open the Denied{GUID}.xml message, and notice that the order was not approved. The structure of this message is different from the acknowledgment messages generated for completed orders. The design of this application is to send the original PO as the denied message. 19. Close all open windows, and shut down the virtual machine. [Type text] Module 2: Installing a BizTalk Server Hosting Environment Time estimated: 60 Minutes Module objective: In this module, you will learn how to: Install and configure Microsoft BizTalk Server 2010 and all prerequisite services. Overview After a Microsoft BizTalk application has been developed and tested, it is typically handed off to the IT professional who is responsible for deploying and managing the application in the production environment for the BizTalk applications. This module provides an overview of planning and installation considerations for implementing a BizTalk production environment. [Type text] Lesson 1: Planning a BizTalk Server Installation Lesson objective: After completing this lesson, you will be able to: Plan a BizTalk Server 2010 installation for a production environment. Lesson Overview Because of the many product dependencies required to perform a complete installation of BizTalk Server, careful planning is essential to a smooth and effective installation. The topics in this lesson provide the concepts and information you will need when you design and implement the optimal BizTalk configuration for your environment. [Type text] System and Software Requirements Identify hardware and operating system requirements and required prerequisite services. Operating System Requirements BizTalk Server 2010 requires either Microsoft Windows 2008 Server R2 or Microsoft Windows 2008 Server with Service Pack 2 (SP2). For development environments, you can also use Microsoft Windows 7 or Microsoft Windows Vista with Service Pack 2, although it is recommended that you use the same operating system as in your test and production environment. Hardware Requirements The minimum hardware requirements for any computer on which you intend to install BizTalk Server 2010 are as follows: A 1-gigahertz (GHz) Pentium–compatible CPU or higher for single processors. Multiple processors are supported and recommended. 2 gigabytes (GB) of random access memory (RAM). 10 gigabytes (GB) of available hard disk space. [Type text] Hardware Recommendation (Test and Production) The hardware requirements, including the number of computers running BizTalk Server required, will be highly dependent on the specific BizTalk solution. For example, a pure messaging solution will have significantly different requirements than a solution that is heavily dependent on processing a single large message per day or one that will be processing hundreds of small messages through a long-running transactional orchestration. For this reason, it is not possible to provide standardized hardware recommendations. Frequently, after performance testing has been performed, it will be necessary to adjust hardware requirements. The hardware design needs to take into account fault tolerance, high availability requirements, and the BizTalk solution, as well as the SQL Server environment. It is common to have multiple computers running BizTalk Server and multiple (clustered) computers running Microsoft SQL Server in a production environment. Required Software In addition to the operating system requirements described here, BizTalk Server 2010 requires access to a computer running SQL Server to host the databases required by BizTalk. BizTalk Server 2010 supports SQL Server 2008 R2 or SQL Server 2008 with Service Pack 1 (SP1). SQL Server does not need to be installed on the computer running BizTalk Server, but it must be accessible on the network. Optional Software If the BizTalk Server environment will support optional functionality, such as publishing orchestrations as Web services or using Business Activity Monitoring (BAM), the following additional optional software services are required: Internet Information Services (IIS). BizTalk Server 2010 requires IIS 7.5 or 7.0 to host a Hypertext Transfer Protocol (HTTP) receive location, which allows submission of messages to BizTalk through an HTTP post. Also, orchestrations and schemas that are published as Web services require IIS. SQL Server 2008 R2/SP1 Analysis Services. Both message tracking operations and Business Activity Monitoring (BAM) can utilize Analysis Services databases. These optional databases can be created during the initial configuration or at a later time. SQL Server 2008 R2/SP1 Integration Services. BizTalk Server 2010 uses SQL Server Integration Services to update SQL Analysis Services databases. SQL Server 2005 Notification Services. BAM allows users to define alert conditions based on the tracking data that is collected. BAM requires SQL Server Notification Services to handle the alert processing. Installation Guides The following documents include a feature dependency matrix that specifies which optional software is required for each BizTalk feature: “Installing BizTalk Server 2010 on Windows Server 2008 R2 and 2008” “Installing BizTalk Server 2010 and BAM in a Multi-Computer Environment” [Type text] Planning the SQL Server Environment Identify SQL Server requirements for high availability. Overview Due to the mission-critical nature of many BizTalk applications and also to BizTalk’s reliance on SQL Server, it is critical to design a stable and high-performance SQL Server environment to support BizTalk. In most production environments, you will likely install SQL Server on a separate computer from the computer running BizTalk Server 2010, and depending on performance requirements and load, you might also need to separate the BizTalk databases onto multiple computers running SQL Server. As always in a highly available environment, it is recommended that you set up clustering for each BizTalk database. SQL Server Design Considerations A BizTalk system will only be as fast and efficient as the SQL Server infrastructure on which it is built. A flawed SQL Server design will result in lowered performance for a BizTalk Server environment. For example, good SQL Server design dictates that you should use fast hardware (disk drives and disk controllers) and that the databases and log files should be located on separate physical disks. SQL Server design also specifies the types of RAID (Redundant Array of Inexpensive Disks) arrays that should be used for best performance. Recommended Configurations for High Availability To provide for high availability in production environments, SQL Server supports passive/active clustering and other options to improve reliability, such as backups and log shipping. Without these options in place, even with multiple computers running BizTalk [Type text] Server, the computer running SQL Server will provide a single point of failure. Here are some recommended cluster and database configurations for businesses of varying size: For small BizTalk Server 2010 deployments that contain fewer than five computers running BizTalk Server, it is preferable to have the SQL Server databases on a separate computer from the computers running BizTalk Server. Having multiple computers running BizTalk Server in a group provides for a level of fault tolerance, scalability, and recoverability. For medium-size deployments that contain 5 to 10 computers running BizTalk Server, you should cluster the computers running SQL Server that contain the BizTalk Server databases. Even in smaller environments, if high availability of the data is a concern, SQL Server clustering is recommended. For large-scale deployments that contain 10 or more computers, with dedicated computers running BizTalk Server for the receiving, processing, and sending functions, performance might be improved by adding additional MessageBox databases, either in a single SQL Server cluster or, for performance, spread across several SQL Server clusters. There are no hard-and-fast rules for deciding how many computers running BizTalk and SQL Server will be required for a specific BizTalk solution. The design of the solution, recoverability requirements, and many other factors will define the final hardware and software requirements for a given BizTalk system. Note: For more information about designing the optimum performance for your computers running SQL Server and BizTalk, refer to the topic “Sample BizTalk Server High-Availability Scenarios” in the BizTalk Server 2010 documentation. [Type text] Configuring Microsoft Internet Information Services Configure Microsoft Internet Information Services (IIS) for a BizTalk Server environment. Overview To enable Web services, you must have at least one Isolated Host in BizTalk Server. Isolated Hosts represent external processes, such as Internet Information Server worker processes that BizTalk Server does not create or control. These types of external processes must host certain adapters, such as HTTP/S and SOAP. The Microsoft BizTalk Server 2010 Configuration Wizard creates the BizTalkServerIsolatedHost that BizTalk uses as the default Isolated Host. Internet Information Services (IIS) IIS is required for BizTalk applications that require message integration by using HTTP, and it enables BizTalk applications to publish Web services. IIS is also required to use the BAM Portal. By default, IIS is not enabled when you install Windows Server 2008, so you must add the Web Server (IIS) role manually and include ASP.NET as a role service. Application Pools in IIS 7.5 and 7.0 IIS 7 in Windows Server 2008 supports the ability to create multiple application pools that run simultaneously for different virtual directories. A different user context can be associated with each application pool to provide security. Each application pool can be assigned to a different user context. Each Isolated Host that will be used with BizTalk Server must use a separate application pool. The permissions and accessibility required for these application pools vary depending on whether the BizTalk configuration database is located on the same server as BizTalk or on a remote server. [Type text] When publishing Web services in BizTalk Server 2010, you will need to identify which application pool each Web service should be associated with. This is beneficial when publishing orchestrations as Web services because you can assign a separate security context to each Web service. You must also configure the application pool to use version 4 of the .NET framework. Choosing the Application Isolation Mode Application pools separate applications by process boundaries to prevent an application from affecting another application on the server. In IIS 7, application pools continue to use IIS 6.0 worker process isolation mode. In addition, you can now specify a setting that determines how to process requests that involve managed resources: Integrated mode or Classic mode. When an IIS 7 application pool is in Integrated mode, you can take advantage of the integrated request-processing architecture of IIS and ASP.NET. When a worker process in an application pool receives a request, the request passes through an ordered list of events. Each event calls the necessary native and managed modules to process portions of the request and to generate the response. There are several benefits to running application pools in Integrated mode. First the requestprocessing models of IIS and ASP.NET are integrated into a unified process model. This model eliminates steps that were previously duplicated in IIS and ASP.NET, such as authentication. Additionally, Integrated mode enables the availability of managed features to all content types. When an application pool is in Classic mode, IIS 7 handles requests in the same way as in IIS 6.0 worker process isolation mode. ASP.NET requests first go through native processing steps in IIS and are then routed to Aspnet_isapi.dll for processing of managed code in the managed runtime. Finally, the request is routed back through IIS to send the response. This separation of the IIS and ASP.NET request-processing models results in duplication of some processing steps, such as authentication and authorization. Additionally, managed code features, such as Forms authentication, are only available to ASP.NET applications or applications for which you have script mapped all requests to be handled by aspnet_isapi.dll. You should only add an application to an application pool in Classic mode if the application fails to work in Integrated mode. For example, your application might rely on an authentication token passed from IIS to the managed runtime, and, due to the new architecture in IIS 7, the process breaks your application. [Type text] Planning a Secure BizTalk Environment Identify security options for a BizTalk Server environment. Overview BizTalk Server provides a standard gateway for sending and receiving documents both within the intranet and over the Internet. Due to the possible business-critical nature of the messages sent to and from BizTalk Server, it is important to consider measures for securing these messages and the information they contain, both when they are being transmitted and while they are being processed and stored in the BizTalk Server environment. Message Security When a BizTalk Server receive location receives an encrypted and signed message, it attempts to obtain the sender's Windows security ID (SSID) from the sending process. If successful, it passes the SSID downstream. The message is processed by the receive pipeline, where the message is decrypted, and the digital signature is verified. If the sender used a signing certificate on the incoming message, then the MIME/SMIME decoder pipeline component overwrites any certificate information obtained from the adapter. If the sender encrypted the message, the MIME/SMIME decoder retrieves the decryption certificate from the personal certificate store for the host instance service account and uses the private key to decrypt the message. You can choose to have the BizTalk Server engine check the Certificate Revocation List (CRL) to ensure that a certificate has not expired and that it is trusted down to a Root Certificate [Type text] Authority (CA). This verification occurs while the pipeline processes the message, in the MIME/SMIME decoder component. In the last stage of the pipeline, the party resolution component will attempt to match the sender’s ID, whether that is the SSID or the client certificate, to a trading partner that has been configured in BizTalk’s Trading Partner Management (TPM) system. If a match is found, then the party resolution component will add the trading partner’s Party ID (PID) to the message’s metadata properties. If not, then the “guest” ID will be assigned to the message. When BizTalk Server sends a message, if the send pipeline is configured to sign all outbound messages, the signing certificate for the BizTalk group is retrieved from the personal certificate store for the host instance service account under which the pipeline is running, and the message is signed using the private key associated with the certificate. If the pipeline encoding component is configured to encrypt all outbound messages, the encryption certificate thumbprint is used to retrieve the public key certificate from the Other People certificate store, and the message is encrypted using that certificate. Receive Authorization Receive authorization is the method you can use to control which hosts can receive (subscribe for) a given message. BizTalk Server uses the certificate information as a subscription property to match predicates on the message: the MessageBox database only routes messages marked as authorization required to the hosts that have the decryption certificate for that message. Routing an un-encrypted message. When BizTalk Server receives a message that the sender did not encrypt, there is no decryption limitation as to how BizTalk routes the message. Both hosts with and hosts without receive authorization certificates configured can receive the message. Routing an encrypted message. When an encrypted message arrives, the receiving pipeline must contain a decoding component that decrypts the message. When BizTalk Server routes a message after it is decrypted, BizTalk uses the certificate thumbprint used to decrypt the message as evidence in the MessageBox database subscription mechanism, and only those hosts configured with that certificate receive the message. Enterprise Single Sign-On (SSO) Enterprise Single Sign-On (SSO) allows the seamless integration of user information between disassociated security providers. Users or external processes can access resources on myriad systems without the need of re-authenticating to each system. These credentials are encrypted and stored in a SQL Server database by using a shared secret technology. Transport Security Network communication can be secured by using industry-standard Secure Sockets Layer (SSL) or Transport Layer Security (TLS). On the receive side, this would be handled by IIS. BizTalk Server 2010 supports the WS-Security, WS-SecureConversation, WS-SecurePolicy and WS-Trust standards through the BizTalk WCF adapters. Access Control BizTalk Server limits access to its processes and databases by using minimum user rights; you can help secure important data in the system by using features from Microsoft Windows [Type text] Server. For security reasons, BizTalk Server Administrators and BizTalk Hosts should not have more user rights than necessary to perform their jobs. BizTalk Server does not support using any of the following built-in Windows accounts: NT_AUTHORITY\NetworkService LocalSystem NT_AUTHORITY\LocalService BizTalk is dependent on SQL Server 2008 for the messaging tracking database as well as other databases. The SQL Server implementation should be planned so that it supports security for the BizTalk Server databases. The most sensitive information (credential information such as database connections strings and user name and passwords related to the BizTalk adapters) is stored in an encrypted format in the Single Sign-On (SSO) database. [Type text] Planning a Multiple-Server Environment Identify considerations for a multiple-server BizTalk Server environment. Multiple-Server Configurations BizTalk can be configured in multiple-server environments to provide scalability and redundancy. This configuration also allows the use of clustered computers running SQL Server for high reliability. Refer to the “Planning the SQL Server Environment” topic page in this module for clustering and database performance recommendations. The BizTalk administration tools can be installed on multiple workstations for distributed administration. The BizTalk Server 2010 Management Pack for System Center Operations Manager (SCOM) provides comprehensive discovery and monitoring of BizTalk Server components and applications that are running in multiple machines. The dependencies that you must install or update before performing an installation of BizTalk Server 2010 will vary and will depend on the selection of features that you choose to include in your installation. You can download the document titled “Installing BizTalk Server 2010 and BAM in a MultiComputer Environment” for more details. [Type text] Lab 2a: Install and Configure SharePoint Foundation 2010 Time estimated: 15 Minutes Introduction Microsoft SharePoint Foundation 2010 is a prerequisite for installing the Windows SharePoint Services adapter for BizTalk Server. In this lab, you will install and configure Microsoft SharePoint Foundation 2010. [Type text] 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 bt10a-02 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, and then click OK. Ensure that the BizTalk Services are started Procedure List 1. In Windows Explorer, navigate to C:\AllFiles. 2. Double click on startBtServices.cmd. 3. When prompted, press any key to close the command-line window. [Type text] Exercise 1: Install SharePoint Foundation 2010 Overview In this exercise, you will install Microsoft SharePoint Foundation 2010. Install SharePoint Foundation 2010 Procedure List 1. In Windows Explorer, navigate to C:\Temp, and then double-click SharePointFoundation.exe. 2. In the Open File – Security Warning window, click Run. 3. In the Microsoft SharePoint Foundation 2010 window, click Install SharePoint Foundation. 4. Click I accept the terms of this agreement, and then click Continue. 5. On the Data Location page, click Install Now, and wait for the installation to complete. 6. In the Microsoft SharePoint Foundation 2010 window, on the Run Configuration Wizard page, click Close. The SharePoint Products Configuration Wizard will launch automatically. [Type text] Exercise 2: Configure SharePoint Foundation 2010 Overview In this exercise, you will configure SharePoint Foundation 2010, including the Internet Information Services (IIS) Manager application pool, and the SQL Server database and credentials used. Configure SharePoint Foundation 2010 Procedure List 1. In the SharePoint Products Configuration Wizard window, on the Welcome to SharePoint Products page, click Next. 2. In the SharePoint Products Configuration Wizard warning dialog box, click Yes. 3. On the Connect to a server farm page, click Create a new server farm, and then click Next. 4. On the Specify Configuration Database Settings page, in the Database server box, enter BIZTALKDEMO. 5. In the Username box, enter ADVENTUREWORKS\SharePointService, and in the Password box, enter pass@word1, and then click Next. 6. On the Specify Farm Security Settings page, in the Passphrase and Confirm passphrase boxes, enter pass@word1, and then click Next. 7. On the Configure SharePoint Central Administration Web Application page, click Next. 8. On the Completing the SharePoint Products Configuration Wizard page, click Next. 9. Allow the configuration to complete, and then on the Configuration Successful page, click Finish, and wait for the configuration to complete. The SharePoint Central Administration page will be launched automatically. Configure the SharePoint Farm Procedure List 1. In Internet Explorer, on the Help Make SharePoint Better page, click No, I don’t wish to participate, and then click OK. 2. On the How do you want to configure your SharePoint farm? page, click Start the Wizard. 3. Click Use existing managed account, and then click Next. 4. In the Title box, enter Lab2, and then click OK. 5. On the This completes the Farm Configuration Wizard page, click the http://biztalkdemo link to view the new SharePoint site. 6. Verify that the Welcome to your site page appears. 7. Close all open windows and pause the bt10a-02 virtual machine. [Type text] Lesson 2: Installing and Configuring BizTalk Server Lesson objective: Install and configure BizTalk Server 2010 for a production environment. Lesson Overview Because of the many product dependencies required to perform a complete installation of BizTalk Server, careful planning is essential to a smooth and effective installation. The topics in this lesson provide the concepts and information that you will need when you design and implement the optimal BizTalk configuration for your environment. [Type text] Installing BizTalk Components Install required and optional components for a computer running BizTalk Server. Required Components The BizTalk Server 2010 Installation Wizard provides you with the ability to select specific components required to support your development or production environment. Required components include the services and tools required by your type of installation. For example, a development and production computer will require the BizTalk run-time services (messaging and orchestration engines). Optional Components Optional components include those components that you choose to install to support your application environment. For example, you could choose to install the Rules Engine to support applications requiring the use of the BizTalk Rules Engine or Business Activity Monitoring (BAM) if you want to provide business analysts with the ability to monitor business processes by using the new BAM Portal. Any components that do not have the prerequisite software installed will be unavailable on the Component Installation page. [Type text] Configuring BizTalk Server Configure BizTalk Server installation options. Overview When the Configuration Wizard starts, it identifies the current state of the installation and any configuration tasks that still require action. Using the Configuration Wizard You can use the Configuration Wizard to perform the following tasks: Configure the Single Sign-On (SSO) service. SSO provides services to store and transmit encrypted user credentials across local and network boundaries, including domain boundaries. Create or Join a BizTalk Group. A BizTalk Server Group is a collection of settings that govern the way BizTalk Server behaves and the data stores it uses. Configure the BizTalk Server Runtime. The BizTalk Server Runtime is the core engine of BizTalk Server, providing message routing capabilities. Configure the Business Rules Engine. The BizTalk Business Rules Engine (BRE) is a rule-based inference engine that evaluates rules against facts and initiates actions based on the results of the evaluation. Configure Business Activity Monitoring Tools and Alerts. Business Activity Monitoring (BAM) tools provide business users with a set of monitoring tools for BizTalk Server 2010. BAM [Type text] alerts provide subscription-based notification services on user-defined instance or aggregate data. Configure the BAM Portal. The BAM portal is an ASP.NET application that presents data that has been collected for BAM activities and views. Configure the EDI/AS2 Runtime. BizTalk Server Electronic Data Interchange (EDI) and AS2 provide support for sending and receiving messages using the EDI or AS2 protocol. Configure the Windows SharePoint Services Adapter Web Service. The Windows SharePoint Services Web Service enables BizTalk and SharePoint integration for this Windows SharePoint Services installation. [Type text] BizTalk Server Accounts and Databases Configure BizTalk administrative accounts and databases. BizTalk Configuration Settings To complete a BizTalk Server 2010 installation, you must provide specific configuration settings for the installed features required to support your BizTalk environment. This includes configuration settings for administrative accounts and the creation of BizTalk Server databases. Considerations for using administration accounts include: Administrative accounts. During the configuration, you must specify the BizTalk administrative and service accounts that will be used to perform specific tasks and operations on the computer running BizTalk. BizTalk Server supports local or domain groups and user accounts in single-computer configurations. If you install BizTalk Server 2010 and all the prerequisite software on a single computer, the Configuration Wizard will create the necessary BizTalk Group accounts for you by default. Domain Accounts. If your environment consists of multiple computers running BizTalk Server, you should manually configure your BizTalk service accounts as domain accounts prior to installing BizTalk Server. Also, when configuring Enterprise Single Sign-On (SSO) service, it is required that you use domain groups and domain user accounts to provide full functionality. [Type text] BizTalk Databases During the configuration of the first computer running BizTalk Server, the BizTalk databases will be created automatically. The default names (which can be changed during installation) and a brief description of the most prominent databases follows: BizTalkMgmtDb. The BizTalk Management database contains the configuration information and metadata related to the BizTalk Server installation. BizTalkMsgBoxDb. The MessageBox database stores messages and message properties. This database also stores subscription predicates, is a host platform, and keeps the queues and state tables for each BizTalk Server host. BizTalkDTADb. The BizTalk Tracking database stores business and health-monitoring data tracked by the BizTalk Server tracking engine. The properties to be tracked are configurable. SSODB. The Single Sign-On (SSO) database is used to store adapter configuration information such as user credentials related to adapters. BizTalkRulesEngineDb. The Rules Engine database maintains the published vocabularies and policies associated with business rules. [Type text] Web Sites and Web Portals Identify the Web sites and Web portals used in a BizTalk Server environment. Tools for Business Analysis and Decision Support Business Activity Monitoring (BAM) provides visibility into business processes in as close to real time as possible. Business analysts can use the BAM Activity Wizard and the BAM Portal to specify what data to collect and how to collect it and then report on the collected data. Activity aggregations of business data are maintained in the form of online analytical processing (OLAP) cubes, and systems administrators schedule SQL Agent jobs to run on a regular basis to update data in the cubes. BAM Portal The BAM portal provides real-time, end-to-end visibility into a business process. It is a Webbased feature that consists of a collection of ASP.NET pages. You can customize BAM to enhance the performance and experience for your users. The BAM portal allows you to perform searches, aggregate data, and set alerts on a BAM view, which is a perspective on your business data. This visibility can provide the necessary KPI information for your business, or it can be used as proof of concept before you implement another solution such as extending a Microsoft Office Excel spreadsheet, using SQL Reporting, or building a custom user interface (UI). [Type text] BAM Databases When you configure Business Activity Monitoring for the first time, the BizTalk Configuration Wizard will create a set of databases for collecting and reporting data that is collected by application components configured to perform Business Activity Monitoring. BAMPrimaryImport. This database holds BAM tracking data for current instances of BAM activities. BAMArchive. This database holds BAM tracking data for completed instances of BAM activities. BAMAnalysis. This SQL Server Analysis Services database keeps the aggregated historical data for Business Activities. This database will only be created if the “Enable Analysis Services for BAM aggregations” option is selected. BAMStarSchema. This database transforms the data collected from the Business Activity Monitoring for OLAP Processing. This database is required when using the BAM Analysis database. [Type text] Troubleshooting Configuration Errors Troubleshoot problems in a BizTalk Server installation. Log File The configuration process generates a single, unified log file. This file contains a summary of the configuration steps performed, as well as diagnostic information about any failures that might have occurred during the BizTalk Server configuration process. The configuration log file is saved in the current user’s Temp folder, and a link to this log file is provided at the end of the Configuration Wizard. Common Errors The configuration process for BizTalk Server 2010 has been greatly improved from earlier versions, which reduces the likelihood of installation and configuration errors. For example, in BizTalk Server 2004, missing prerequisites could cause the configuration to fail and completely roll back. In BizTalk Server 2010, the portion that can succeed does and any components that cannot be configured can be retried later. Here are some of the common configuration errors you’re likely to encounter: Problem: You attempt to configure BizTalk and receive and error that the database cannot be created. Resolution: The account that you are attempting to install under does not have sufficient permissions in SQL Server. Try again using an account with the appropriate permissions. [Type text] Problem: You attempt to configure BizTalk and receive an error that the databases already exist. Resolution: If configuration fails, and if you plan to run the Configuration Wizard again, you must first manually delete any BizTalk databases that have been created. This will include SQL Server databases as well as optional Analysis Services databases that might have been created. Problem: You are trying to install BizTalk Server on multiple computers, but you cannot locate the users in Active Directory directory services. Resolution: You must manually create any domain groups and user accounts before installing BizTalk Server on multiple computers. [Type text] Installing Client Administration Tools Install BizTalk Server client administration tools on a computer running Microsoft Windows. Overview The BizTalk Server client administration tools enable you to perform BizTalk Server administration tasks remotely from a client computer. Missing dependencies are detected during installation, and the user is prompted to install them before continuing. The prompt includes the option to download the latest version of the component or to install the components from the installation media. Administration Tools The administration tools include tools to monitor, administer, and deploy applications on a computer running BizTalk Server. These tools include the Business Rules Composer, Enterprise Single Sign-On (SSO) administration, and the BizTalk Server 2010 Administration Console and other tools for managing the BizTalk Server environment remotely. To perform SSO administration, Microsoft Management Console (MMC) 3.0 SP1 is required. This update is not included in the .cab file that is downloaded and/or executed during the installation. Client Requirements The BizTalk client administration tools require the BizTalk Server components and the Windows 7, Windows Vista SP2, Windows Server 2008 R2, or Windows Server 2008 SP1 operating system. To install the client administration tools, you must be an administrator on the computer. During the installation process, BizTalk will detect whether the required [Type text] prerequisites are installed, including Microsoft SQL XML 4.0 SP1 and ADOMD.NET versions 10.0 and 9.0. After the installation is complete, the Configuration Wizard will allow you to specify the configuration database that you want to manage. Additional databases can be added to support configuration of development, test, and production environments from a single tool installation. [Type text] Changing a BizTalk Configuration Modify an existing BizTalk Server configuration. About the BizTalk Server 2010 Configuration Tool The BizTalk Server 2010 Configuration tool allows you to set up and change the configuration settings for a computer running BizTalk Server. BizTalk Server 2010 provides a Default Configuration option that simplifies a simple single-server configuration. By performing a custom installation, you can select how the various features will be configured. Here are some of the features of the computer running BizTalk Server that can be configured: BizTalk Server groups. You can create a new BizTalk Group or join an existing group. All servers in a BizTalk Server group (or system) share a common set of databases, including the management database and the MessageBox database or databases. SQL Server Analysis Services. You can create an analysis database for aggregation of tracking data and Business Activity Monitoring (BAM) data by using SQL Server Analysis Services, and you can configure database names and administrative roles for these databases. Business Activity Monitoring (BAM). You can enable and disable BAM tools for the BizTalk Group, enable Analysis Services for BAM aggregation, and view the BAM databases. You can also specify the BAM Portal server and site name. The BAM Portal uses ASP.NET functionality, and is not dependent on SharePoint. [Type text] Enterprise Single Sign-On (SSO). You can enable or disable SSO, create a new SSO system, or join an existing SSO system. You can also view or change the SSO database, the Windows service account, and the Windows accounts used by SSO. BizTalk Server Runtime. You can view the BizTalk Host name and the Isolated Host name as well as view and change the accounts associated with each host. Business Rules Engine. You can update the account used by the Rules Engine Update Service as well as view the Rules Engine database name and server name. Electronic Data Interchange (EDI). You can configure support for EDI protocol messaging. Note: Most of the options listed here will already be configured for your current installation of BizTalk Server. If you need to reconfigure any of these options, you can do so by using the Actions menu in the BizTalk Server 2010 Configuration tool. [Type text] Exporting and Importing a Configuration Export an existing BizTalk Server configuration, and import the configuration to a new computer running BizTalk Server. Export and Import Any time after you have completed the BizTalk installation, you can export the configuration settings to an XML file. This XML file will contain a snapshot of all of the configuration choices that you made during the configuration, including administrative accounts, databases, and all other settings. The BizTalk Server configuration can also be exported during the silent custom installation or from the Configuration Summary page. During the initial configuration, you can save a configuration snapshot. The XML file that is generated can then be modified (by changing user names and so forth) and subsequently used on other computers to replicate the configuration as part of a scripted installation. This is helpful in an environment where several computers running BizTalk Server require the same installed components and the same configuration (multiple-server groups and development environments). You can use this XML file to import these configuration settings to another server running BizTalk to replicate the installation process of a new computer during a scripted installation. [Type text] Removing a BizTalk Server Installation Uninstall BizTalk Server from a computer. Add/Remove Programs To remove Microsoft BizTalk Server 2010, you can use the Microsoft Windows Add/Remove Programs utility. Uninstalling BizTalk When removing BizTalk Server, keep the following points in mind: It is important that you not remove any of the BizTalk Server prerequisites before you uninstall BizTalk. All of the prerequisites must be present for the uninstall process to complete successfully. If any assemblies stored in the Global Assembly Cache (GAC) are in use while you are uninstalling BizTalk, the assemblies might not be removed completely. To ensure that all assemblies are completely removed, stop all host instances and Internet Information Services (IIS) prior to uninstalling BizTalk. All active BizTalk services will be stopped and uninstalled during the removal process. The BizTalk Server 2010 uninstall process will remove neither the maps nor the schemas from the GAC nor the BizTalk Server 2010 databases. All such artifacts must be removed manually. [Type text] All receive and send port configurations, such as Web sites and file drop locations, must be removed manually. [Type text] Demonstration: Using the BizTalk Configuration Wizard In this demonstration, you will see how to configure a BizTalk Server computer and export the configuration settings to an XML file. Examine the Existing Configuration 1. On the Start menu, point to All Programs, point to Microsoft BizTalk Server 2010, and then click BizTalk Server Configuration. 2. Click Group in the left pane. Notice that the database servers, database names windows group names are configurable. 3. Click BizTalk Runtime in the left pane. Notice that the default host names, windows service users and windows group names are configurable. Exporting a BizTalk Server Configuration 1. In the Microsoft BizTalk Server 2010 Configuration Wizard, click Export Configuration. 2. In the Save As window, click Desktop in the left pane, and then type DemoBTSConfig.xml as the File name. 3. Click Save, and then click OK. 4. Close the Microsoft BizTalk Server Configuration window. 5. On the Desktop, double-click DemoBTSConfig.xml to open the configuration file. [Type text] 6. Examine the file. 7. Shut down the bt10a-demos virtual machine. [Type text] Lab 2b: Install and Configure BizTalk Server Time estimated: 30 Minutes Introduction In this lab, you will install and configure BizTalk Server 2010. You must have completed Lab 2a in order to successfully complete this lab. [Type text] Exercise 1: Install BizTalk Server 2010 Overview In this exercise, you will perform an installation of BizTalk Server 2010, choosing the components to be installed. Any missing prerequisites will be installed automatically from the provided CAB file. Install BizTalk Server 2010 Procedure List 1. Resume the bt10a-02 virtual machine. 2. In Windows Explorer, navigate to C:\AllFiles\LabFiles\Module 2\BT Server, and then double-click Setup.exe. 3. In the Microsoft BizTalk Server 2010 Installation Wizard, click Install Microsoft BizTalk Server 2010. 4. On the Customer Information page, click Next 5. On the License Agreement page, click Yes, I accept the terms of the license agreement, and then click Next. 6. On the Customer Experience Improvement Program page, click No, I don’t want to participate in the program, and then click Next. 7. On the Component Installation page, expand Additional Software, select all available components, and then click Next. The prerequisites for the MQSeries Agent have not been installed, so that option will be disabled. 8. On the Summary page, click Install, and then wait for the installation to complete. 9. On the Installation Completed page, ensure that Launch BizTalk Server Configuration is selected, and then click Finish. [Type text] Exercise 2: Configure BizTalk Server 2010 Overview In this exercise, you will perform a custom configuration of BizTalk Server 2010. You will specify the user account and database names used by BizTalk Server. Manually Configure BizTalk Server 2010 Procedure List 1. If the Microsoft BizTalk Server 2010 Configuration Wizard is not already running, on the Start menu, point to All Programs, point to Microsoft BizTalk Server 2010, and then click BizTalk Server Configuration. 2. In the Microsoft BizTalk Server 2010 Configuration Wizard, click Custom Configuration. 3. Click the Browse button to the right of the User name box. 4. In the Select User dialog box, click the Advanced button, then click Find Now, and in the Search results list, double-click BizTalkHost, and then click OK. 5. In the Password box, enter pass@word1, and then click Configure. 6. In the left pane of the Microsoft BizTalk Server 2010 Configuration Wizard, click Enterprise SSO. 7. In the right pane, select Enable Enterprise Single Sign-On on this computer. Notice that the account information is automatically populated with the account specified on the first page of the wizard. 8. Click the ellipsis (…) to the right of Enterprise Single Sign-On Service, and then in the in the User Credentials dialog box, click Browse. 9. In the Select User dialog box, click the Advanced button, then click Find Now, and in the Search results list, double-click SsoService, and then click OK. 10. In the User Credentials dialog box, in the Password box, enter pass@word1, and then click OK. 11. In the left pane of the Microsoft BizTalk Server 2010 Configuration Wizard, click Enterprise SSO Sign-On Secret Backup. 12. In the right pane, type pass@word1 in the Secret backup password and Confirm password boxes, and then type Default password in the Password reminder box. When you use the Basic Configuration option to configure a BizTalk Server installation, the SSO Single Sign-On secret backup password defaults to the password of the user installing BizTalk Server 2010. 13. In the left pane, click Group. 14. In the right pane, select Enable BizTalk Server Group on this computer. 15. Click the ellipsis (...) to the right of BizTalk Administrators Group. 16. In the Select Group dialog box, click the Advanced button, and then click Find Now. 17. In the Search results list, double-click BizTalk Server Administrators, and then click OK. 18. Click the ellipsis (...) to the right of BizTalk Operators Group. [Type text] 19. In the Select Group dialog box, click the Advanced button, and then click Find Now. 20. In the Search results list, double-click BizTalk Server Operators, and then click OK. 21. Click the ellipsis (...) to the right of BizTalk B2B Operators Group. 22. In the Select Group dialog box, click the Advanced button, and then click Find Now. 23. In the Search results list, double-click BizTalk Server B2B Operators, and then click OK. 24. In the left pane, click BizTalk Runtime. 25. In the right pane, select Register the BizTalk Server runtime components. 26. Click the ellipsis (…) to the right of BizTalk Isolated Host Instance Account, and then in the in the User Credentials dialog box, click Browse. 27. In the Select User dialog box, click the Advanced button, then click Find Now, and in the Search results list, double-click BizTalkIsoHost, and then click OK. 28. In the User Credentials dialog box, in the Password box, enter pass@word1, and then click OK. 29. Click the ellipsis (...) to the right of BizTalk Host Users Group. 30. In the Select Group dialog box, click the Advanced button, and then click Find Now. 31. In the Search results list, double-click BizTalk Application Users, and then click OK. 32. Click the ellipsis (...) to the right of BizTalk Isolated Host Users Group. 33. In the Select Group dialog box, click the Advanced button, and then click Find Now. 34. In the Search results list, double-click BizTalk Isolated Host Users, and then click OK. 35. In the left pane, click Business Rules Engine. 36. In the right pane, select Enable Business Rules Engine on this computer. 37. Click the ellipsis (…) to the right of Rule Engine Update Service, and then in the in the User Credentials dialog box, click Browse. 38. In the Select User dialog box, click the Advanced button, then click Find Now, and in the Search results list, double-click ReuService, and then click OK. 39. In the User Credentials dialog box, in the Password box, enter pass@word1, and then click OK. 40. In the left pane, click SharePoint Adapter. 41. In the right pane, select Enable Windows SharePoint Services Adapter on this computer. 42. Click the ellipsis (...) to the right of BizTalk SharePoint Adapter Enabled Hosts. 43. In the Select Group dialog box, click the Advanced button, and then click Find Now. 44. In the Search results list, double-click SharePoint Enabled Hosts, and then click OK. 45. In the Windows SharePoint Services Adapter Web Site list, select SharePoint - 80. 46. Click the Apply Configuration button. 47. On the Summary page, click Next. 48. Click Finish. [Type text] 49. On the Overview page of the Microsoft BizTalk Server 2010 Configuration wizard, notice that BAM Tools, BAM Portal and BizTalk EDI/AS2 Runtime have exclamation points next to them. This is because the components are not configured. 50. Click the Export Configuration button, and then save the file to the desktop. 51. Examine the configuration file. 52. Close all open windows, and shut down the virtual machine. Module 3: Deploying BizTalk Applications Time estimated: 90 minutes Module objective: In this module, you will learn: How to choose an application deployment method and deploy applications to a production environment. Overview Microsoft BizTalk Server 2010 includes features that simplify the deployment of BizTalk applications. BizTalk provides an application container for the items in a business solution. The items that can be grouped as an application include orchestrations, schemas, maps, pipelines, and Microsoft .NET assemblies. You can manage, modify, deploy, and install all of the items in an application as a single entity. Lesson 1: Introduction to Application Deployment Lesson objective: Explain how BizTalk applications are deployed and identify the tools available for deploying and managing different versions of applications. Lesson Overview Before you deploy a BizTalk Server solution within your business environment, you need to understand how application deployment works and be familiar with the various methods available for deploying applications. This lesson provides an overview of application deployment and how to manage different versions of applications. What Are BizTalk Server Artifacts? Identify the types of artifacts that make up a BizTalk application. Definition of Artifact An artifact is a BizTalk Server 2010 file that is created by using Microsoft Visual Studio® 2010. Artifacts include schemas, maps, pipelines, and orchestrations. Visual Studio 2010 provides several BizTalk Server project templates that are used to create artifacts for a BizTalk application. Although a BizTalk Server project can contain only BizTalk artifacts, a Visual Studio solution can contain other non-BizTalk projects that might be required by an application. Each project, including all of its contained artifacts, is compiled into a single dynamic-link library (DLL). Types of Artifacts BizTalk artifacts include: Schemas. Files that represent the structure of a message. Most messages that BizTalk Server processes must be represented by a schema. For example, when you receive a purchase order from a customer, the schema for the purchase order describes the format for information received, such as the customer name, address, purchase order number, and so on. BizTalk schemas have an .xsd extension (for example, PurchOrder.xsd). Maps. Extensible Markup Language (XML) files that define the correspondence between the records and fields in one message and the records and fields in another message. For example, a purchase order might need to be converted from a format used by a customer to an internal format that can processed by BizTalk. BizTalk maps have a .btm extension and are typically named to represent the purpose of the map (for example, PurchOrder_to_CustomerOrder.btm). Pipelines. Software components that can perform processing functions on messages. The functions might include processing tasks such as encrypting or decrypting messages, validating incoming messages against a specific schema, or decoding and encoding messages. Pipelines are unique to BizTalk and have a .btp extension (for example, DecryptMessage.btp). Orchestrations. Provide a logical representation of a business process. Orchestrations are built in the Orchestration Designer by using various shapes, each of which has underlying code. Visual Studio uses the orchestration design to generate C# code, which is then compiled in to a .NET assembly that can be executed by computers running BizTalk Server. Orchestrations have an .odx extension and are typically named to represent the purpose of the orchestration (for example, ProcessCustomerOrder.odx). After the artifacts have been created, compiled, and tested by developers, they can then be deployed into a production environment. How Deployment Works Describe the difference between BizTalk assemblies and non-BizTalk assemblies, and explain how the BizTalk assembly deployment process works. Non-BizTalk Assemblies In the Microsoft .NET Framework, one or more associated files that can be loaded as a unit into memory in the form of an executable or a code library image are referred to as an assembly. Assemblies function as the fundamental unit of deployment, versioning, reuse, and security. Microsoft .NET assemblies can be written in any of several languages. BizTalk can make use of assemblies written in any .NET language to perform processing that you might not want, or be able, to perform within BizTalk. Assemblies can be private or shared. A private assembly is deployed with an application and is available for the exclusive use of that application, whereas a shared assembly is available for use by multiple applications on the computer. The global assembly cache (GAC) is a system folder reserved for shared assemblies. For an assembly to be registered in the GAC, it must be assigned a strong name. A strong name requires a key and provides for uniqueness to allow multiple versions of the same assembly to be deployed. BizTalk Assemblies BizTalk assemblies are shared .NET assemblies that include BizTalk artifacts and are based on a BizTalk project. Each BizTalk project, along with all its contained artifacts, will be built into a single assembly (DLL file), which must be deployed to the BizTalk configuration database and installed in the GAC on each computer running BizTalk Server. Because the assembly must be registered in the GAC, it must have a strong name. BizTalk Assembly Deployment Process A typical BizTalk installation consists of development, test, and production environments. In this example, the assemblies will be deployed initially in the development environment before being tested and then finally deployed to the production environment. These two deployment steps will need to be duplicated in each environment: 1. Install the assembly in the GAC. All BizTalk assemblies must be registered in the GAC on each computer running BizTalk Server that requires the artifacts. In a production environment, it is likely that not every server needs to perform all BizTalk functions. Only the assemblies containing the artifacts needed by the function being performed on that server need to be deployed. For example, if a server is performing only the purchase order receive process and is not involved with running orchestration instances for the purchase order process itself, only the DLL containing the purchase order schema needs to be deployed to that server. 2. Register the assembly in the BizTalk configuration (BizTalkMgmtDb) database. The BizTalk configuration database is a central repository for BizTalk Server configuration settings and information. In a BizTalk environment consisting of multiple computers running BizTalk Server, the configuration database is shared between all computers running BizTalk Server. Each assembly needs to be deployed to the database only once. Only BizTalk assemblies can be registered in the configuration database. Although all configuration information is stored in the configuration database, securitycritical information relating to adapter configuration and so on is maintained in the Single Sign-On (SSO) database where the data is encrypted. Application Deployment Methods Describe the different methods available for deploying a BizTalk application and identify the scenarios for using each deployment tool. Microsoft Visual Studio 2010 The most common deployment option used by developers is the capability built in to Visual Studio. Visual Studio can be used to deploy and redeploy assemblies from a BizTalk project. Developers can use this method to deploy assemblies to the GAC and the configuration database in one easy step. Visual Studio offers a redeploy option that is useful for developers who might need to redeploy an application many times during the development process. After redeploying, it is usually necessary to restart the BizTalk host instances to load the latest copy of the assemblies. Visual Studio includes a project option to automatically perform the restart after each deployment. BizTalk Server Administration Console BizTalk Server includes a feature that allows administrators to create MSI packages for BizTalk applications. These MSI packages can contain all of the assemblies required by the application, as well as any other files that the administrator needs to include. This tool enables simplified deployment of BizTalk artifacts from a test environment to a production environment and to multiple servers. Command-Line Deployment In a production environment that includes multiple computers running BizTalk Server, an assembly needs to be deployed only once to the BizTalk configuration database. However, each computer running BizTalk Server in a BizTalk Server group must have the assemblies registered in its own GAC. An administrator can do this manually or can create a script to do this by using the BTSTask command-line tool. BTSTask can be used to perform most of the tasks that are found in the BizTalk Administration Console. What Is a BizTalk Application? Define the BizTalk Server application concept. Overview In BizTalk Server 2010, an application is a logical grouping of all the compiled BizTalk artifacts (schemas, maps, pipelines, and orchestrations), messaging components (receive ports, receive locations, and send ports), and other related items, such as business rule policies that comprise an integrated business process. The BizTalk Server administration and monitoring tools take advantage of this concept, allowing IT administrators to work more efficiently by managing and configuring BizTalk solutions at the application level, rather than being required to work at the individual artifact level. A BizTalk application does not define which Windows process hosts its artifacts or .DLLs, it is simply a logical grouping of artifacts and .DLLs that are deployed and operate together at run-time. The BizTalk Administration Console, for example, allows you to start and stop all of the artifacts within a given application by simply commanding the BizTalk application to start and stop, rather than always requiring you to start and stop each artifact individually. As the number of complex applications increases, they can be individually managed in a simple and intuitive manner. Default Application When BizTalk Server 2010 is configured following installation, a default application named “BizTalk Application 1” is automatically created. You can change or rename the default application. Artifacts are automatically added to the default application in the following situations: When you deploy an assembly from Microsoft Visual Studio® 2010 into BizTalk Server without specifying an application name. When you use BTSTask to add an artifact to an application without specifying an application name. How Assembly Versioning Works Explain the implications of assembly versioning in a test and production environment. Overview When you deploy a BizTalk-based assembly, you must be aware of the effects of versioning. Two versions of the same BizTalk assembly with the same name can be deployed simultaneously provided they have strong names that use the same key and have a unique version number. Testing Environments A single assembly might need to be deployed and redeployed several times to successfully test its functionality. Normally, BizTalk requires that an assembly version (such as 1.0.0.0) be removed before the same assembly version can be redeployed. This is a necessary security precaution for production environments. However, in a test environment, it is often necessary to redeploy a number of times to test a minor modification. In BizTalk Server 2010, Visual Studio 2010 enables an assembly to be deployed over an existing assembly to speed up and simplify the testing process. Production Environments In a production environment, it might be necessary to run multiple versions of the same process side by side. For example, if you have a process that takes three days to complete (a long-running process), you cannot simply replace the existing version of the application without cancelling all existing instances of the process, because all changes to the running instances would be lost. In this case, a new version of the application can be deployed while the old version continues to run. Once the new version is deployed, it will process all new instances of the business process. After the old version has completed processing of existing instances, it can be safely un-deployed. Version Numbering Before you deploy an assembly, you need to verify that the same version of the assembly is not already deployed. If you attempt to deploy an assembly with the same version number, the deployment will fail, and an error will be generated. An assembly version is represented in the following four-part numbering format: Major Version.Minor Version.Revision.Build Number If a change is made to the major version or minor version numbers, the assembly will be identified as being a different version and will support side-by-side deployment. Removing Assemblies Before you remove a BizTalk assembly from the management database, you must ensure that any artifacts that it contains are not in use. For example, if any orchestration is enlisted or if any of the assembly’s maps or pipelines are in use within send or receive ports, the removal will fail. Management of these artifacts will be discussed in detail in upcoming modules. An existing assembly can be removed by using the BizTalk Administration Console. Navigate to the Resources folder under the application in which the assembly is deployed, right-click the assembly name, and then click Remove. This process will remove the assembly from the Configuration database; however, the DLL will still exist on each computer running BizTalk Server. To completely remove the assembly, this file will need to be deleted. You can also remove an assembly by using the BTSTask command-line tool with the RemoveResource option. This utility can remove the assembly from the BizTalk Configuration database and, optionally, from the GAC on the local computer. Type BTSTask /? at the command prompt for a list of all available options for BTSTask. Viewing Deployed BizTalk Assemblies Using the BizTalk Administration Console to view the assemblies that have been deployed. Overview Before deploying a new version of an assembly, it is important to know what versions are already deployed. Using BizTalk Server Administration Console to View Assemblies The assemblies used by BizTalk Server must be deployed to both the GAC of each computer running BizTalk Server and the configuration database. The BizTalk Server Administration Console allows you to view the assemblies which are deployed to the configuration database. You can view all the assemblies deployed to the BizTalk group together or view them on a per application basis. The Resources folder can be used to add additional assemblies (BizTalk and non-BizTalk) and script files. Removing resources from this folder will remove it from the configuration database. Individual artifacts within an assembly can be viewed and managed in the other folders of the BizTalk Server Administration Console. Demonstration: Viewing Deployed Assemblies In this demonstration, you will see how to use the BizTalk Server Administration Console to view multiple versions of deployed assemblies. To View Deployed Assemblies 3. Start the bt10a-demos virtual machine. 4. On the Start menu, point to All Programs, point to Microsoft BizTalk Server 2010, and then click BizTalk Server Administration. 5. In the BizTalk Server 2010 Administration Console, expand BizTalk Server Administration, BizTalk Group, Applications, and Module3, and then click Resources. 6. Notice that three versions of the OrderManagement assembly are deployed— versions 1.0.0.0, 2.0.0.0, and 4.0.0.0. 7. In the left pane, click Maps. 8. Notice that there are three versions of the OrderManagement.PurchaseOrder_To_ShipNotice, OrderManagement.PurchaseOrder_to_PurchaseOrderAck, and OrderManagement.SimpleOrder_to_PurchaseOrder maps. 9. In the left pane, click Schemas. 10. Notice that there are three versions of each of the five schemas. 11. In the left pane, click Orchestrations. 12. Notice that there are three versions of both orchestrations. 13. Pause the bt10a-demos virtual machine. Lesson 2: Deploying Assemblies by Using an MSI Package Lesson objective: Deploy an application by using MSI packages. Lesson Overview BizTalk applications contain BizTalk artifacts (such as schemas and maps) as well as policies, receive ports, and send ports configured within that particular application. Exporting a BizTalk application as an MSI package makes it much easier to copy and move these artifacts between multiple computers running BizTalk Server. What Is a BizTalk Application MSI Package? Explain what an MSI package is and what can be contained in an MSI package. Overview BizTalk Server provides developers and IT professionals with an easy way to generate Microsoft Installer (MSI) packages for moving deployed applications from one physical environment to another. For example, you can create an MSI package when you need to move a BizTalk application from a staging environment to a production environment or from one computer running BizTalk Server to another. This greatly simplifies a process that required many steps in earlier versions of BizTalk Server. A BizTalk application MSI package can contain: • The BizTalk assemblies that make up the application, including schemas, maps, pipelines, and orchestrations. • The configuration information required to start the application on a computer. • Any non-BizTalk items, such as .NET assemblies. • Business rule policies to be processed by the Business Rules Engine (BRE). • Any Web resource information required to enable Web-based applications. Deployment with MSI packages Package and deploy an application as an MSI package. What Is an MSI package? BizTalk Server 2010 allows entire solutions to be packaged into MSI package files by using the Microsoft Windows Installer technology. The MSI package contains all of the assemblies and configuration information (bindings) needed to install the application on another system. After it is installed, the MSI package creates entries in the Add or Remove Programs list on the computer running BizTalk Server. This allows administrators to manage BizTalk applications in the same way as other applications running on the computer. Also, any deployment mechanism can be used to deploy MSI packages, including Microsoft System Center Configuration Manager. Deploying with an MSI package The completed MSI package can then be handed off to an administrator for installation and deployment. The use of MSI packages has several advantages, such as easy deployment upgrade and removal. Executing the MSI registers the assembly in the GAC and deploys to the configuration database. To facilitate moving from development to test or production environments, an entire application with all its contents and configuration information can be packaged into a single MSI file. As noted earlier, all servers in a BizTalk group share the BizTalk Configuration database, so when you deploy an MSI package to multiple physical servers, the assemblies are added only once to the Configuration database. However, all assemblies and non-BizTalk items must also be added to a physical location on each server as well as to each server’s GAC. Because each server in the group generally needs to have the same artifacts installed, the MSI package can be executed on each server to facilitate this installation. Exporting an Application as an MSI Package Export an application as an MSI package. MSI File Export Utility The MSI File Export Utility enables you to create a BizTalk Server application MSI package. You can use this utility to select which parts of an application you want to export as an MSI package. You can also specify binding information, dependencies, and any Internet Information Services (IIS) virtual directories required by the application. Before exporting the application as an MSI package, additional resources—such as preprocessing scripts, post-processing scripts, BizTalk assemblies, supporting (non-BizTalk) DLLs, files, and so on—can be added to the application. You can also configure properties for defining how and when the assembly should be registered in the GAC, including: • Installing the assembly in the GAC on the local computer when the assembly is added to the application. • Installing the assembly in the GAC on the local computer when the application MSI file is imported. • Installing the assembly in the GAC on the local computer when the application is installed from the MSI file. Importing a Microsoft Installer Package Install an MSI application package. Overview Before a computer running BizTalk Server can use a BizTalk assembly, the assembly needs to be registered in the GAC and deployed to the configuration database. An MSI package can perform either or both of these tasks. The registering of the assembly in the GAC needs to be performed only once for the BizTalk group and can be performed on any server in the group. Registering the assembly in the GAC must be performed on each computer running BizTalk Server that will be referencing artifacts contained in the assembly. Deploying an MSI Package to another Environment You must perform the following steps to deploy the MSI application package to other computers: Import the application. During the import, the options that were defined when the package was created can be modified (for example, which application to deploy to, the file location, and so on). Install on first server. After the Import Wizard has completed, you have the option to install the MSI application package. Choosing this option launches the wizard to start the installation process, which then registers the assembly in the GAC on the computer running BizTalk Server. Install on additional servers. For each additional computer running BizTalk Server in the group, you can double-click the MSI package to start the application Setup Wizard, which will result in the assemblies being registered in the GAC on each computer running BizTalk Server. The import process must be executed only one time per BizTalk Server group. If an application having the same name does not already exist in the BizTalk Server group, importing the application creates a new application in the group. If the application already exists in the BizTalk Server group, this operation imports the application’s artifacts into the existing application. While importing, an option to overwrite existing artifacts is presented (and is not selected, by default). Select this check box to overwrite all selected artifacts on the destination server. After you have installed the MSI package and all the necessary files have been copied to the correct location, an entry is made in Add or Remove Programs in Control Panel. You can then use the BizTalk Administration Console to import the configuration information for the application into a BizTalk Server group in the new environment. Removing a BizTalk Application Remove a BizTalk application. Overview Because a BizTalk deployment affects several different components, removing it will involve several steps. A complete removal will include removing the assemblies from the configuration database and removing the references in the GAC and the actual DLLs from the local computer or computers. Removing BizTalk Application Files by Using Add or Remove Programs When an application is installed by using an MSI package (whether created by a BizTalk developer or by a BizTalk administrator), an entry is added to Add or Remove Programs in Control Panel. Selecting this option removes the installation files from the local computer, but you will still need to remove the application from the BizTalk configuration, and also uninstall the assemblies from the GAC. Removing a BizTalk Application from the Configuration Database The BizTalk Administration Console and the BTSTask command-line utility provide options for removing individual assemblies as well as entire applications from the BizTalk configuration database. To remove an application from the BizTalk management database using the BizTalk Administration Console, perform a full stop of the application, then right-click the application name and then click Delete. To remove an assembly from an application by using the BizTalk Administration Console, navigate to the Resources folder in the containing application. In the right pane, right-click the assembly and then click Delete. The assembly and all its contained artifacts will be disassociated from the application. If artifacts are un-deployed by using the command-line utility, BTSTask.exe, you can choose to remove the artifacts from the configuration database by simply deleting them. Manual Steps to Be Performed After Removal Regardless of the method that you use to remove BizTalk assemblies and applications, the following additional steps might be necessary: If the deleted application includes a virtual directory, the virtual directory and all its files are removed, unless files were not included in the MSI package, and they were added to the virtual directory following installation. In this case, the virtual directory and the added files are not removed. You must remove these files explicitly. If your application is using a certificate, the certificate will be deleted unless another application is also using the certificate. In this case, you must manually delete the certificate from the certificate store on the server by using the Certificates snap-in for the Microsoft Management Console (MMC). Any preprocessing and post-processing scripts are removed, but any files added by the scripts during installation or removal are not removed, nor are any actions that were taken by the scripts rolled back. You must manually reverse any actions and remove any files added by scripts. Components are not removed from the Windows registry; they must be removed manually. To completely remove the application, you must also uninstall the assembly from the GAC by either deleting it in C:\Windows\Assembly or by using the gacutil command-line utility. Before you delete an application, consider the following points: The application must be stopped before it can be deleted. You can delete an application only if no other applications contain references to it. You cannot delete the application if it contains a send port group of which a send port in another application is a member. You must unenlist the member send port before you can delete the application. You cannot delete the default application. If you want to delete a default application, you must first make another application the default. The default application is created when you install BizTalk Server. The BizTalk Server 2010 Help files contain detailed instructions on how to perform these procedures. Demonstration: Deploying an MSI Package In this demonstration, you will see how to import a BizTalk MSI package that contains an assembly that will be deployed to the BizTalk configuration database. You will then see how to export a BizTalk assembly to an MSI, and how to undeploy an assembly. To Import a BizTalk MSI Package 1. On the Start menu, point to All Programs, point to Microsoft BizTalk Server, and then click BizTalk Server Administration. 2. In the BizTalk Server Administration Console, expand BizTalk Server Administration, BizTalk Group, Applications, and Module3. 3. Right-click the Module3 application, point to Import, and then click MSI file. 4. In the MSI file to import box, type C:\AllFiles\DemoCode\Module3\OrderManagementVersion3.msi, and then click Next. 5. On the Application Settings page, click Next. 6. On the Application Target Environment Settings page, click Next. 7. On the Import Summary page, click Import. 8. On the Results page, select the Run the Application Installation Wizard to install the application on the local computer check box, and then click Finish. The Application Installation Wizard starts. 9. On the Select Installation Folder page, click Next. 10. On the Welcome to the Module3 Setup Wizard page, click Next. 11. On the Confirm Installation page, click Next. 12. On the Module3 Information page, click Next. 13. On the Installation Complete page, click Close. 14. In the BizTalk Server Administration Console, under Module3, click Resources. 15. Notice that OrderManagement, Version=3.0.0.0… assembly has been deployed. If you do not see version 3.0.0.0 of the assembly listed, refresh the BizTalk Server Administration Console at the Module3 application level. To Export an Assembly to a BizTalk MSI Package 1. In the left pane of the BizTalk Server Administration Console, right-click Module3, point to Export, and then click MSI file. 2. On the Welcome to the Export MSI File Wizard page, click Next. 3. On the Select Resources page, deselect OrderManagement, Version=2.0.0.0…, OrderManagement, Version=3.0.0.0…, and OrderManagement, Version=4.0.0.0…, and then click Next. You want to export only the Version=1.0.0.0 assembly in this MSI package. 4. On the Specify IIS Hosts page, click Next. 5. On the Dependencies page click Next. 6. On the Destination page, click the ellipsis (…) button next to the MSI file to generate box. 7. In the Export MSI dialog box, navigate to C:\AllFiles\DemoCode\Module3, in the File name box, type OrderManagementVersion1, and then click Save. 8. On the Destination page, click Export. 9. On the Summary page, click Finish. To Undeploy an Assembly 1. In the left pane of the BizTalk Server 2010 Administration Console, click Resources. 2. In the right pane, right-click OrderManagement, Version=1.0.0.0, and then click Remove. 3. In the Confirm remove pop-up message box, click Yes. 4. Notice that the OrderManagement, Version=1.0.0.0… assembly is no longer displayed in Resources. 5. In the left pane, click Schemas. 6. Notice that no schemas from the OrderManagement, Version=1.0.0.0… assembly are displayed. 7. Repeat the preceding steps to remove OrderManagement, Version=2.0.0.0… and OrderManagement, Version=3.0.0.0. To Move an Assembly Between Applications 1. In the left pane of the BizTalk Server 2010 Administration Console, click Resources under the Module3 application. 2. Right-click OrderManagement, Version=4.0.0.0, and then click Move To Application. 3. In the Move to Application dialog box, select Module4 in the Destination application list. Notice that the dependent assemblies are listed, as well as all the other artifacts that will be moved. 4. In the Move to Application dialog box, click OK. 5. Expand the Module4 application, and then click Resources. 6. Notice that one assembly has been moved. 7. Close all open windows. 8. Shut down the bt10a-demos virtual machine. Lab 3a: Deploying an Application by Using an MSI Package Time estimated: 30 minutes Scenario You are responsible for managing and administering the computers running BizTalk Server for Adventure Works. The BizTalk development team has just completed a new version of a BizTalk application and exported it as an MSI package. In this lab, you will remove the previous version of the application, install the new version of the application, and then test its functionality. 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 bt10a-03 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, and then click OK. Ensure that the BizTalk Services are started Procedure List 1. In Windows Explorer, navigate to C:\AllFiles. 2. Double click on startBtServices.cmd. 3. When prompted, press any key to close the command-line window. Exercise 1: Remove the BizTalk Application Overview In this exercise, you will uninstall an older version of the Module 3 application from the computer running BizTalk Server. You will first uninstall the application by using Add or Remove Programs in Control Panel. You will then use the BizTalk Server Administration Console to remove the application from the BizTalk configuration database. Uninstall the Old BizTalk Application Procedure List 1. On the Start menu, point to All Programs, point to Microsoft BizTalk Server 2010, and then click BizTalk Server Administration. 2. In the BizTalk Server Administration Console, expand BizTalk Server Administration, BizTalk Group, and Applications, and then notice that the Module 3 – Uninstall application is displayed. 3. On the Start menu, click Control Panel, and then under Programs, click Uninstall a program. 4. In the Programs and Features window, right-click Module 3 – Uninstall, and then click Uninstall. The application name shown in Add or Remove Programs is the application name associated with the MSI from which the application was installed. This name might not be the same as the one shown in the BizTalk Server Administration Console. 5. After the uninstall completes, close the Programs and Features window. 6. In the BizTalk Server Administration Console, right-click Applications, and then click Refresh. 7. Notice that the Module 3 – Uninstall application is still displayed. Uninstalling the application removes the assembly from the global assembly cache (GAC) of the local computer, but it does not remove the application from the BizTalk Configuration database. You will need to remove the assembly or delete the application by using the BizTalk Server Administration Console. 8. In the BizTalk Server Administration Console, right-click Module 3 – Uninstall, and then click Stop. 9. In the dialog box, click Full Stop – Terminate Instances, and then click Stop. You must terminate any running instances of the application before uninstalling the application. If you do not perform this step, the uninstall will most likely fail. 10. In the BizTalk Server Administration Console, right-click Module 3 – Uninstall, and then click Delete. 11. In the Confirm delete application dialog box, click Yes. 12. Notice that the Module 3 – Uninstall application is no longer displayed. Exercise 2: Deploy a BizTalk Application from an MSI Package Overview Deploying a BizTalk Server application is a two-step process. The BizTalk assembly must be installed to the global assembly cache of the computer running BizTalk Server, and registered in the BizTalk configuration database. In this exercise, you will deploy a BizTalk Server application by using an MSI package. First you will import the MSI package to the BizTalk Server configuration database by using the BizTalk Server Administration Console. Then, you will run the MSI package to install the application to the computer running BizTalk Server. Import the BizTalk MSI Procedure List 1. In the BizTalk Server Administration Console, right-click Applications, point to Import, and then click MSI file. 2. In the Import MSI Wizard, type C:\AllFiles\LabFiles\Module 3\Module3.msi in the MSI file to import box, and then click Next. 3. On the Application Settings page, ensure that the Application name is set to Module 3, select the Overwrite resources check box, and then click Next. 4. On the Application Target Environment Settings page, click Next. 5. On the Import Summary page, click Import. 6. On the Results page, select the Run the Application Installation Wizard to install the application on the local computer check box, and then click Finish. Selecting this check box will start the MSI installation. If you do not select this check box, you must manually execute the Module3.msi file. Install the BizTalk MSI Procedure List 1. On the Select Installation Folder page of the Module 3 window, click Next. 2. On the Welcome to the Module 3 Setup Wizard page, click Next. 3. On the Confirm Installation page, click Next. 4. On the Module 3 Information page, click Next. 5. On the Installation Complete page, click Close. Exercise 3: Start and Test the BizTalk Application Overview In this exercise, you will start and test the BizTalk Server application. Start the BizTalk Application Procedure List 1. In the BizTalk Server Administration Console, notice that the Module 3 application has been added to the list of applications. 2. In the left pane, click Applications, and then notice the red “stopped” icon next to the Module 3 application. 3. Expand the Module 3 application. 4. Click Policies, right-click DiscountPolicy, click Deploy, and then in the Deploy Policy dialog box, click Yes. Deploying a business rule such as this one allows the BRE to evaluate business rules based on calls from orchestrations. The DiscountPolicy business policy is made up of several rules pertaining to company names and total order amounts. These rules, which are described in Lab 1, apply different discounts to orders based on the total order amount and the company placing the order. 5. Click Schemas and then notice the five schemas in this application. Schemas define the structure of XML messages. BizTalk Server uses schemas to ensure that data being sent to BizTalk Server is in the correct structure and has all the information that BizTalk Server needs to process the document. This particular application supports five different schemas. 6. Click Maps, and then notice the three maps in this application. BizTalk Server uses maps to translate and transform data from one format to another. For example, data might be received by BizTalk Server in a flat-file format. BizTalk Server can use a map to transform that data from a flat-file format to XML for further processing. 7. Click Resources, and then notice the OrderManagement assembly—this is the only assembly in this application. Assemblies in BizTalk Server are built and compiled by the BizTalk developer, and they contain BizTalk artifacts such as schemas and maps. Any BizTalk artifacts must be contained in an assembly before they can be used by BizTalk Server. In BizTalk Server, an assembly is compiled as a DLL. 8. Click Receive Ports, and then notice that the MSI package includes two receive ports: RcvPO, and RcvPOReview. Receive ports pick up messages for BizTalk Server to process. 9. Click Receive Locations, and then notice that the RcvPOFILE and RcvPOReviewFILE receive locations are also included in the MSI package. Receive locations specify information such as the physical file location, the adapter used, and the BizTalk Server host used to pick up messages that BizTalk Server processes. In this example, both receive locations are using the FILE adapter type and will poll a specific directory for messages with a file extension of .xml. 10. Click Send Ports and then notice the five send ports that are included in the MSI package. Send ports specify the destination of a message after being processed by BizTalk Server. Send ports allow you to specify settings such as the adapter type, the location to send the message to, and any maps used to transform the message before exiting BizTalk Server. 11. Click Orchestrations, and then notice the two orchestrations listed. Orchestrations are used for more complex processing of messages inside BizTalk Server. Orchestrations are automated business processes that can perform actions such as calling business rules and making calls to Web services. 12. Right-click Module 3 and then click Start. You must start an application before it will process messages. 13. In the Start ‘Module 3’ Application dialog box, click Options, ensure that all the check boxes are selected, and then click Start. Starting an application in this fashion will by default try to start all send ports, orchestrations, and host instances, as well as enable all receive ports and resume suspended service instances. If you need to, each port/location, orchestration, or host can be started or stopped individually. 14. In the left pane, click Applications and then notice that the red “stopped” icon in the right pane has been replaced with the green “running” icon. There is another application status icon, the blue “partially started” icon, which means that at least one port, location, orchestration, or host is not running. Test the BizTalk Application Procedure List 1. In Windows Explorer, navigate to C:\AllFiles\LabFiles\Module 3\Messages. 2. Copy the ContosoPO_Large.xml, ContosoPO_Medium.xml, and ContosoPO_Small.xml files to the POIn folder. Do not move the messages. After the messages have been processed by BizTalk, the original files are not retrievable. If you do accidentally move the messages, additional copies can be found at C:\AllFiles\LabFiles\Module 3\Messages\MessageCopies. 3. After the messages disappear from the POIn folder, navigate to C:\AllFiles\LabFiles\Module 3\Messages\Completed, and then notice the two POAck{GUID}.xml messages. It might take up 2 minutes for the messages to appear. Any messages in this folder have been approved, and a new field—AckCode—has been added, stating the discount amount. 4. Navigate to C:\AllFiles\LabFiles\Module 3\Messages\POReviewOut. Only orders that do not meet the minimum purchase order amount are routed to this folder. 5. Move the {GUID}.xml file from the POReviewOut folder to C:\AllFiles\LabFiles\Module 3\Messages\POReviewIn. Moving the file to this location represents approving the order. 6. Navigate to C:\AllFiles\LabFiles\Module 3\Messages\Completed and notice that another POAck{GUID}.xml file is displayed. This is the message that was manually approved in step 5 when you moved the order to POReviewIn. 7. Delete the three messages in the Completed folder. 8. Navigate to the C:\AllFiles\LabFiles\Module 3\Messages\Shipped folder. These messages contain shipping information for each approved purchase order. 9. Delete the three messages in the Shipped folder. 10. Do not shut down the virtual machine without saving your changes. The configuration you performed in this lab is required for the next lab. Lesson 3: Deploying Business Rules Lesson objective: Explain how business rules are composed managed and implemented into a BizTalk Server application. Overview The BizTalk Server Business Rule Engine (BRE) enables business users to create policies that contain rule sets for processing documents. The policies can be called from BizTalk orchestrations as well as from an application programming interface (API). What are Business Rules? Explain what business rules are and how the Business Rule Engine works. Business Rules Business rules are statements that govern the conduct of business processes. A policy is a collection of related rules that are evaluated together—for example, a bank’s loan approval policy might consist of several different rules that need to be evaluated. The policy is executed, and each rule is evaluated and applied. Each rule consists of a condition (an if clause) and a resulting action (a then clause). The conditions and actions can be quite simple or quite complex. The condition is evaluated, and if it evaluates to True, the specified actions are asserted by the Business Rule Engine. Unlike most programming models, there is no else clause in the Business Rule Engine. For example, if you want to perform an action on all purchase orders but the action varies based on the total order amount, you would need to create two rules, one for purchase orders with a total less then $1,000, and one for purchase orders with totals greater than or equal to $1,000. These two rules would make up the discount policy, which is what is called (not the individual rules). Business Rule Engine Because business rules embedded in applications can change over time, BizTalk Server 2010 provides the Business Rule Engine (BRE) to enable you to create and modify sets of business rules. These rules can be created graphically by using the Business Rule Composer, or they can be written using the business rule APIs. After it is published, the policy can be called from a BizTalk orchestration and executed by the Business Rule Engine. The BRE enables business rule policies to be changed in real time, and any orchestrations that use business rules do not need to be recoded or rebuilt when a business rule changes. Business rules are versioned together as part of a business policy, and all a business analyst needs to do when a rule changes is create a new version of a policy and then deploy the policy. Although typically used in conjunction with BizTalk orchestrations, business rule policies can be called from any .NET assembly by using the supplied APIs. The focus of this lesson is on using business rules in conjunction with orchestrations. The BizTalk Server 2010 documentation contains more information about calling business rules programmatically, including an example in the BizTalk SDK. Example Consider the example business rule from the preceding illustration. A manufacturer has received a purchase order from a customer and needs to fulfill the purchase order request. To process the purchase order, the manufacturer must answer a series of questions: Is this purchase order from an existing customer or a new customer? If the customer is new, the customer must be added to the database. If the customer already exists, the next step in the business rule can be called. Is the product being ordered a product that we manufacturer? If so, we can continue processing the purchase order. If not, the purchase order must be declined. Can we supply the product being requested? If the quantity on hand is more than the order quantity, we can supply the product. If not, we will either have to decline the purchase order or send a backorder notice. Notice that each question can be answered either True or False. These rules apply basic business logic to determine whether a purchase order can be fulfilled. Business rules can be used to: Trigger notifications. For example, if a product is low in inventory, a business rule could trigger a reorder notice for the product. Automate approvals. You could use a business rule, for example, to route documents with a total order amount over $10,000 to a manager for approval. Reroute documents. If a purchase order is from a new customer, you could route the purchase order to another business process that handles new customers. What Are Rules, Policies, and Vocabularies? Define common business rule terminology. Overview The following sections describe common business rule terminology. Rule Business rules are statements that govern the conduct of business processes. Business rules consist of a condition and one or more consequent actions. Conditions are True or False expressions, otherwise known as Boolean expressions, that consist of one or more predicates applied to facts. Multiple conditions can be combined to provide for complex computations. Policy Policies are logical rule sets. You compose a version of a policy, save it, test it by applying it to facts, and when you are satisfied with the results, publish it and deploy it to a production environment. Policies are versioned and deployed, so if a rule changes, you simply create a new version of the policy, test the policy, and then deploy it. You do not have to recompile or modify orchestrations or other business processes that are using a particular business policy. When called from an orchestration, the Business Rule Engine will always execute the latest version of a policy. Changes made to a business rule policy will be immediate. The next time the policy is called from an orchestration, the most recently deployed version will be used. When called programmatically, the version of the policy is specified. Once published, a business rule policy is immutable and can only be changed by creating a new version. Vocabulary Vocabularies are user-defined names for the facts used in rule conditions and actions. Vocabulary definitions render rules easier to read, understand, and share for the various workers within a particular business domain. For example, the source location for a particular fact might be one field in one record in a single database, represented as an SQL query. Instead of employing the SQL query (an abstract procedural statement, difficult for most people to memorize or recognize) in the rule, a name meaningful to all the relevant parties in the development and deployment process can be associated with the query by the creation of a vocabulary definition. Rule Store The rule store is a repository for business policies and vocabularies. Policies and vocabularies are deployed to the rule store. The rule store is by default the Business Rule database (BizTalkRuleEngineDb). This database is created when configuring business rules for the BizTalk Server group. Additionally, policies and vocabularies can be exported to an XML store to simplify modification and deployment between test and production environments. How Rules and Facts Work Define business rules, actions, and facts. Business Rules A business rule consists of a condition and one or more resulting actions. Conditions A condition is a True or False (Boolean) expression that consists of one or more predicates applied to facts. Predicates can be combined with the logical connectives AND, OR, and NOT to form a logical expression that is potentially quite large, but that will always evaluate to either True or False. Actions An action is the functional consequence of condition evaluation. If a rule condition is met, a corresponding action or actions are initiated. Actions are represented in the Business Rule Framework as Microsoft .NET–based objects or as set operations on XML documents or database tables. Facts Facts are the data that rules use to make decisions. Facts can be derived from multiple data sources and must be fed into the Business Rule Engine through predefined vocabularies, XML schemas, .NET classes, and database row sets. Many facts are instance facts that will be different for each firing of the rules—for example, the customer name and account number fields in a purchase order message. Other facts might be long term—for example, interest rates usually change infrequently and do not need to be rechecked each time a rule is fired. Long-term facts are determined once and then held in cache until refreshed, whereas instance facts are determined for each rule execution. Business Rule Vocabulary Describe how business rule vocabularies work. Creating a Vocabulary The Business Rule Framework gives you the option of creating vocabularies to simplify the development of rules by offering users intuitive, language-specific, and domain-specific terminology that they can associate with rule conditions and actions. You can identify the data sources to be used, create a new vocabulary, and add vocabulary definitions to the BRE. You can save a version of your vocabulary to the rule store, and when the vocabulary is complete, you can publish it to provide users with a well-defined, immutable set of terms that are bound to the appropriate data references. The rules are created (or modified) to use the terms defined within a specific vocabulary. If the vocabulary changes, the rule will need to updated (and republished) to take advantage of the changes. In BizTalk Server 2010, applications are BRE policy aware. When applications are exported and imported, the policies and vocabularies that are deployed are part of the MSI package that is generated, thereby making the process of synchronizing rules easier. New Vocabulary Versions Like business rule policies, vocabulary versions are also immutable. If you want to make changes to your vocabulary after you publish it, you must create a new version of the vocabulary that reflects the changes. Also any policies that use these vocabularies will need to be updated with the changes. Example In the example in the preceding illustration, ShoppingCartAmount has been created as a vocabulary definition that represents the Company.Namespace.ShoppingCart.PurchaseAmount node in a schema. The term ShoppingCartAmount is much more human readable than the node in a schema it represents. These vocabularies (generally created by developers) are easier for administrators and business analysts to understand than having to learn complex XML and Transact-SQL. The business rule is easy to read and interpret, and if a change is needed for the business rule, a business analyst or an administrator could use the Business Rule Composer to make the change. If the discount amount changes from 10 percent to 15 percent, you could copy the old rule into a new version of a policy, and simply change the discount amount from 10 to 15. No recompiling or redeploying of orchestrations is necessary. We will be referring to this example rule in subsequent topics. Business Rule Orchestration Scenarios Identify scenarios where calling the BRE from an orchestration is appropriate Overview You can integrate business rules into your orchestrations to support a variety of scenarios: Instead of having to code and recode constantly changing business policies and logic within your complex business processes, you can incorporate a call to the BRE and thus allow information workers to update the rules instead. You can use rules to evaluate business logic and to determine when a business process requires a variable delay. For example, you might set up a loop to check on the status of an item to determine whether the item is in stock. After initially checking the stock of an item that is not available, the rule delay would be 1 minute. The next time, the rule would wait 5 minutes before executing; the time after that, the rule would wait 30 minutes before executing; and so on. You can use rules to determine the execution path for a business process, basing the determination on the results of the rule execution. For example, if a customer does not exist for a particular purchase order, you could route the document to another business process to add the customer to the database before continuing to process the purchase order. Identifying Business Rule Personas Identify job roles and responsibilities for managing business rules. Overview The Business Rules Framework incorporates a graphical user interface—the Business Rule Composer—that developers, information workers, and administrators can all use in various ways to develop and apply both rules and policies. Developers Create vocabularies to make it easier for information workers to edit and understand business rule policies. Create the initial business rule policies. Bind business logic to data. Developers create the orchestrations from which the business rules will be called and define the action to be taken when a decision is returned to the orchestration. As long as the decision path within the orchestration does not change, the orchestration will not need to be redeployed. Information Workers Manage business policies in real time. Changes made to a BRE policy will be executed from an orchestration without having to recompile and redeploy the BizTalk assembly. The BRE always calls the latest deployed version of the policy. Administrators Secure business rule policies. By default, when a new policy or vocabulary is created in the rule store, only the user who created it and the BRE administrator have both read/execute and modify/delete access. The BRE administrator can configure which users have the access level, or rights, to perform different operations (processes operate under user credentials). Deploy business rule policies from one physical environment to another. Deploying business rules to other physical environments is accomplished by using the Rules Engine Deployment Wizard and is covered later in this module. Rules can also be exported and imported by using the MSI process defined earlier in this module. Monitor the results of executed business rules by using BizTalk Administration Console. This tool allows auditing of the rules based on decisions made within each orchestration instance. Composing Business Rules Use the Business Rule Composer to define business rules. Business Rule Composer The Business Rule Composer is a graphical user interface that allows you to create business rule policies that will contain one or more business rules. These rules can evaluate facts to determine whether specific actions should be performed. To assist in making these rules human readable, vocabularies can be created that provide a user-friendly alias to the terms and conditions. Multiple versions of the policies and vocabularies can be created, tested, published, and deployed by using the Business Rule Composer to make management of these artifacts easier. Creating a Business Rule Policy A policy is a collection of rules. Each rule is a conditional comparison of facts; if the comparison evaluates to True, the actions defined in the rule are executed. Rules are constructed in the Business Rule Composer by adding predicates and facts (which can be direct facts or can be based upon vocabularies) and defining actions. AND, OR, and NOT operators can be added to conditions to provide for complex comparisons. Facts and actions are added by dragging them to the Business Rule Composer design surface. Actions will update nodes in the document specified. This is one notable exception to the immutability of messages in BizTalk orchestrations. The BRE makes changes to the message that is passed during the call to the engine. For this reason, you might want to create a specific message that is sent to the engine, rather than having the BRE change the original message. Creating a Business Rule Vocabulary Earlier, you saw an example of a rule that said: If the Shopping Cart contains more then $1,000 worth of items, give the customer a 10% discount. As written, this rule is easy to understand. The rule is a Boolean comparison (greater than) between two variables, the shopping cart and a value of 1,000. The action to be performed is to apply a 10 percent discount to the total order. The problem is that computers do not think in these terms. In Visual Basic, this looks like: If Company.Namespace.ShoppingCart.PurchaseAmount > Qualifying Amount as System.Decimal Then Company.Namespace.Customer.DisocuntAmount = Company.Namespace.ShoppingCart.PurchaseAmount * .1 EndIf You need to create a vocabulary that takes an obscure concept and makes it more human readable. This is the purpose for creating vocabularies. Although rules can be created and used without the use of vocabularies, creating vocabularies makes the creation and maintenance of rules much easier. Vocabularies abstract difficult concepts by defining an alias to be associated with schema nodes, database fields, or .NET classes. With correctly defined vocabularies, policies can be maintained by (if not initially created by) information workers. Two vocabularies, Predicates and Functions, which are used in the creation of all rules, are built into the Business Rule Composer. It is possible to extend these vocabularies as needed—for example, the phrase If the Shopping Cart contains more than $ 1,000 worth of items is actually a greater than comparison (Shopping Cart > 1,000). The built-in Greater Than function in the Functions vocabulary could have an additional vocabulary term defined that represents this relationship, which might make it easier for information workers to understand the relationship. Testing and Publishing When a version of a policy is defined to the business analyst’s satisfaction, the policy should be tested. This should be done prior to publishing. It will be necessary to provide sample messages and database connections on which the policy is to be performed. The act of publishing the policy to the rule store makes the policy available to the BRE. By default, the BRE uses a Microsoft SQL Server™ database as the rule store; however, rules can be exported to an XML-based rule store as well. Once published, policy versions are immutable and cannot be changed without creating a new version. Deploying Business Rules Deploy a business rule. Overview After a policy is published, it must be deployed before it can be used by external processes. The shortcut menu in the Business Rule Composer includes an option to deploy the policy. The Rule Engine Deployment Wizard, found on the Microsoft BizTalk Server 2010 program menu, can be used to export and import business rule policies to and from a Business Rule Language (BRL) file and to publish policies to the SQL rule store. You can use this wizard in development, staging, and production environments. The Rule Engine Deployment Wizard allows you to: Export a version of a policy or vocabulary from an SQL rule store into a file rule store. This creates an XML file containing the configuration information for the policy or vocabulary being exported. This XML file can then be copied to another computer to be imported at a later date. Import a version of a policy or vocabulary from a file rule store into an SQL rule store. Deploy a version of a policy from an SQL rule store to a production SQL rule store so that the policy can be run within a rule-based application. Deploying a rule makes the rule available to other business processes. Undeploy a version of a policy from a SQL rule store, to make the policy unavailable for use by a rule-based application. Undeploying a version of a policy does not remove the policy from the database. The policy is still saved in the Business Rule Engine database but cannot be used by other applications. Demonstration: Using Business Rules In this demonstration, you will see how to examine and test a deployed business rule policy. To Examine Existing Business Rules 1. On the Start menu, point to All Programs, point to Microsoft BizTalk Server 2010, and then click Business Rule Composer. 2. In Microsoft Business Rule Composer, in the Policy Explorer pane, expand DiscountPolicy and Version 1.0 – Deployed. 3. In then Facts Explorer pane, under MyVocabulary, expand Version 1.0 – Published. A vocabulary is a collection of definitions that provide simple-to-read aliases for complex message values or fields in a database. 4. Click Current Order Total. The Current Order Total definition refers to the Amount node of the message when it is received into the Business Rules Engine (BRE). This value is from PurchaseOrderAck.xsd, which you can see by examining the Schema and XPathField properties in the Properties dialog box. 5. Click Customer Name. The Customer Name definition refers to the Name node of the message. This value is also derived from the Name XPath field in PurchaseOrderAck.xsd. 6. Click Discounted total. The Discounted total definition has a multiplication function built in. This definition will update the Amount node with the product of the two variables specified within the function. 7. Click Set AckCode. The vocabulary definition Set AckCode refers to the AckCode node in the PurchaseOrderAck schema. By using these vocabularies, it is possible to create user-readable (and manageable) rules in plain business language. 8. In Policy Explorer, click Small Order Contoso (5% disc). The Conditions pane shows that this rule will be applied when Customer Name is equal to Conto, and current order total is less than or equal to 10,000. The Actions pane shows that two events will occur when the conditions are met: AckCode will be changed to 5% discount applied, and amount will be changed to the current order total multiplied by 0.95. 9. Click Large Order Contoso (10% disc). This rule is similar to the previous rule with two exceptions: if the current order total is greater than 10,000, the action will be to change AckCode to 10% discount applied and the current order total will be discounted by 10 percent. 10. Click Large Order Non-Contoso (5% disc). This rule uses the same actions as the Small Order Contoso rule, but the conditions state that if the customer name is not Conto and the total order amount is greater than 10,000, the discount is applied. To Test the Business Rule Policy 1. In Windows Explorer, navigate to C:\AllFiles\DemoCode\Module3 and open BRETestMessage.xml. Notice that AckCode equals Accepted, the CustomerName equals Fabrik, and that Summary Amount equals 10500. 2. In Policy Explorer, right-click Version 1.0 – Deployed, and then click Test Policy. 3. In the Select Facts dialog box, click OrderManagement.PurchaseOrderAck, and then click the Add instance button. 4. In the Open dialog box, navigate to C:\AllFiles\DemoCode\Module3, select BRETestMessage.xml, and then click Open. 5. In the Select Facts dialog box, click Test. 6. In the Output pane, select the first three FACT ACTIVITY processes. Notice that the Operation property is Assert. This is where the facts that will be used to evaluate the first rule condition or conditions are added to the facts list. 7. Select the first two CONDITION EVALUATION TEST (MATCH) processes. Notice the Test Expression and Operand values. This step performs the conditional test to determine whether the value in the message that was passed is less than or greater than 10,000. 8. Select the next FACT ACTIVITY process. Because the second condition in the preceding step is true, a new fact (Customer) is asserted to be used in the next two CONDITION EVALUATION processes. 9. Select the next two CONDITION EVALUATION TEST (MATCH) processes. Notice the Test Expression and Operand values. This step performs a conditional test to determine whether the company name is Conto. 10. Select the AGENDA UPDATE and the RULE FIRED processes. The AGENDA UPDATE step adds an action item to update the AckCode to apply a 5% discount. RULE FIRED steps execute the action items that have been included in the agenda. 11. Select the remaining FACT ACTIVITY processes. Notice that the Operation property is Retract. This is where all of the facts which were previously asserted are being retracted as they are no longer needed. Our test is quite simple, but additional facts can be asserted, or retracted at any time to assist in the decision process. 12. In Windows Explorer, navigate to and open C:\AllFiles\DemoCode\Module3\BRETestMessage.xml, and notice that AckCode now reads 5% discount applied. 13. Close all open windows. 14. Shut down the bt10a-demos virtual machine. Lab 3b: Composing and Deploying Business Rules Time estimated: 15 minutes Scenario The Module 3 application uses a BRE policy to calculate a discount amount for the purchase orders based on the customer name and total order amount. In this lab, you will create a new rule that will provide a 2 percent discount to all orders that do not meet the criteria for any other discounts. After you have composed and tested the rule in the Business Rule Composer, you will deploy and test it within the application. Preparation You must have successfully completed the previous lab before starting this lab. Exercise 1: Create a New Business Rule Overview In this exercise, you will create a new version of the DiscountPolicy business rule policy, and then add a new rule to the policy. Create a New Version of the DiscountPolicy Business Rule Policy Procedure List 1. Resume the bt10a-03 virtual machine. 2. On the Start menu, point to All Programs, point to Microsoft BizTalk Server, and then click Business Rule Composer. 3. In the Open Rule Store dialog box, click OK. 4. Under DiscountPolicy, expand Version 1.0 – Deployed. 5. Right-click DiscountPolicy in Policy Explorer, and then click Add New Version. After a version of a business rule has been published, the rule cannot be changed. However, you can create a new version of a rule and copy and paste from other policies that have been published and deployed. 6. Drag the Large Order Contoso (10% disc) rule to Version 1.1 (not saved). 7. Drag the Large Order Non-Contoso (5% disc) rule to Version 1.1 (not saved). 8. Drag the Small Order Contoso (5% disc) rule to Version 1.1 (not saved). Create the Small Order Non-Contoso (2% disc) Business Rule Procedure List 1. Right-click Version 1.1 (not saved) in Policy Explorer, and then click Add New Rule. 2. Name the rule Small Order Non-Contoso (2% disc). 3. In the IF pane, right-click Conditions, and then click Add logical AND. 4. Right-click AND, point to Predicates, and then click NotEqual. 5. In Facts Explorer, expand Version 1.0 – Published under MyVocabulary. 6. Drag Customer Name from the Vocabularies tab to argument1. 7. Click argument2, and then type Conto in the text box. 8. Right-click AND, point to Predicates, and then click LessThanEqual. 9. Drag Current Order Total from the Vocabularies tab in the Facts Explorer pane to argument1. Current Order Total has been created for you by a BizTalk developer to make your rules easier to understand. This value originates from the Amount field of the PurchaseOrderAck schema. 10. Click argument2, and then type 10000 in the text box. 11. Drag Set AckCode from the Vocabularies tab in the Facts Explorer pane to Actions in the THEN pane. 12. Click <empty string>, and then type 2% discount applied. 13. Drag Discounted total from the Facts Explorer pane to Actions in the THEN pane. 14. Right-click 0, point to Functions, and then click Multiply. 15. Drag Current Order Total from the Facts Explorer pane to value1. 16. Click value2, and then type 0.98. Here you are applying the 2 percent discount to non-Contoso orders that have a total order amount less than or equal to $10,000. Exercise 2: Deploy and Test the New Policy Overview Publishing the policy makes the policy immutable, and deploying the policy makes it available for other applications to use. BizTalk Server uses the latest deployed version of each business rule engine policy. In this exercise, you will deploy a new version of the DiscountPolicy and then test it by using the BizTalk Server application. Deploy Version 1.1 of the DiscountPolicy Business Rule Policy Procedure List 1. In Policy Explorer, right-click Version 1.1 (not saved), and then click Save. 2. Right-click Version 1.1 in Policy Explorer, and then click Publish. 3. Right-click Version 1.1 in Policy Explorer, and then click Deploy. Test the New Policy Version Procedure List 1. In Windows Explorer, navigate to C:\AllFiles\LabFiles\Module 3\Messages. 2. Open ContosoPO_Large.xml, notice that the customer name is Conto, and then close Internet Explorer. The total order amount of this order is 10300. 3. Open FabrikamPO_Large.xml, notice that the customer name is Fabrik, and then close Internet Explorer. The total order amount of this order is 10300. 4. Copy ContosoPO_Large.xml and FabrikamPO_Large.xml to the C:\AllFiles\LabFiles\Messages\POIn folder. 5. Navigate to C:\AllFiles\LabFiles\Module 3\Messages\Completed, notice the two POAck{GUID}.xml messages. 6. Open both POAck{GUID}.xml messages. Notice that the message with a customer name of Fabrik has 5% discount applied in the AckCode field, and that the message with Conto as the customer name has 10% discount applied in the AckCode field. 7. Close Internet Explorer, and then delete all the messages in the Completed folder. 8. In Windows Explorer, navigate to C:\AllFiles\LabFiles\Module 3\Messages. 9. Open FabrikamPO_Medium.xml. Notice that the total order amount will equal 1030 and that the customer name is Fabrik, and then close Internet Explorer. 10. Copy FabrikamPO_Medium.xml to the POIn folder. 11. Navigate to C:\AllFiles\LabFiles\Module 3\Messages\Completed, and then open the POAck{GUID}.xml message. Notice that the customer name is Fabrik and that the AckCode field contains the text 2% discount applied. 12. Close Internet Explorer, and then delete the message from the Completed folder. 13. In Windows Explorer, navigate to C:\AllFiles\LabFiles\Module 3\Messages. 14. Open the ContosoPO_Small.xml file, notice that the customer name is Conto and that the total order amount will equal 526, and then close Internet Explorer. 15. Copy ContosoPO_Small.xml to the POIn folder. 16. Navigate to C:\AllFiles\LabFiles\Module 3\Messages\POReviewOut. This folder simulates a more advanced process of manually approving the order. 17. Move the {GUID}.xml files to C:\AllFiles\LabFiles\Module 3\Messages\POReviewIn. Moving the message to this folder represents approving the order. 18. Navigate to C:\AllFiles\LabFiles\Module 3\Messages\Completed. 19. Open the POAck{GUID}.xml file. 20. Notice that the customer name is Conto and that the AckCode field contains the text 5% discount applied. 21. Close all open windows, and shut down the virtual machine. Module 4: Managing BizTalk Applications Time estimated: 135 minutes Module objective: In this module, you will learn: How to manage Microsoft BizTalk Server applications by using administrative tools and command-line scripts. Overview After you have installed and configured Microsoft BizTalk Server 2010 in a production environment, and have deployed BizTalk applications to one or more computers running BizTalk Server, a number of ongoing administration tasks need to be performed regularly. This module will cover the administration tasks that need to be performed on a day-to-day basis. Lesson 1: Administering a BizTalk Server Application Lesson objective: In this lesson you will learn how to: Describe the BizTalk application environment, and identify components that must be configured to support message processing, including managing and binding ports and locations, and managing applications by using the Group Hub. Overview BizTalk Server 2010 provides a number of administrative tools for managing your BizTalk Server environment. Before you can effectively manage or administer a BizTalk Server environment, you will need a good understanding of the BizTalk components that must be configured to support specific application requirements. This lesson provides an overview of application messaging functions and components and the tools required to manage them. What Are Physical Ports and Logical Ports? Explain the differences between physical and logical ports What Is a Port? BizTalk Server uses the term port to refer to two distinct entities: Physical ports. Used by BizTalk Server to communicate with external systems. Physical ports are used to receive and send messages between BizTalk Server and the outside world. Physical ports are configured and managed by using the BizTalk Server Administration Console or by using scripts. Logical ports. Also called orchestration ports, logical ports are internal to a specific orchestration and are used within BizTalk to pass messages in and out of a BizTalk orchestration. Logical ports are configured by developers by using the Orchestration Designer in Microsoft Visual Studio® 2010. Port Types Ports, whether physical or logical, can be either one-way or two-way. As their name implies, one-way ports provide communication in one direction only—for example, when sending a purchase order. Two-way ports are used for synchronous communication, where a request is sent and a response is required before processing can continue. BizTalk Messaging Example Here is an example of how messages are passed through BizTalk messaging and orchestration services: 1. A message—for example, a purchase order—is received by a physical receive port, which has an associated receive location. This receive location will be of a specific type representing the protocol and transport used—for example, Hypertext Transfer Protocol (HTTP), File Transfer Protocol (FTP), Microsoft SQL Server™ database, file drop, and so on. 2. The purchase order is passed through the receive location and any associated pipelines and is published in the MessageBox database as Extensible Markup Language (XML). 3. The purchase order is processed by a subscribing orchestration and passed to the logical receive port within the orchestration that processes the message. 4. A new purchase order acknowledgment message (POAck) is generated, and the POAck is passed back to the MessageBox database through the logical send port. 5. A subscribing physical send port retrieves the POAck message from the MessageBox and passes it through an associated send pipeline. 6. The message is then sent to its destination. Note: There is an association between the logical ports and physical ports referred to as a binding. Bindings will be discussed in detail later in this module. Managing Receive Ports and Locations Explain the relationship between receive ports and receive locations. Receive Ports A receive port is a container for one or more receive locations. Receive locations define the various protocols and processes used to receive a message. For example, different customers might need to send purchase orders by using methods such as e-mail or FTP, or through an HTTP location. Each receive location would then be configured to support the specific protocol or transport method required to support the customer. Managing Receive Ports Receive ports can be created by using command-line tools, Microsoft Windows® Management Instrumentation (WMI) scripts, and the BizTalk Server Administration Console. (Developers can also create receive ports by using Visual Studio 2010.) A receive port contains configuration information for authentication and tracking, optionally ports can be configured with one or more maps for transforming documents. Receive Locations A receive location is the combination of a specific address where inbound messages arrive and the messaging pipeline processes the messages. Receive locations are created in the BizTalk Server Administration Console and are associated with a single receive port. Receive locations have both adapter-specific properties and common properties—for example, an FTP adapter has properties such as the firewall port and password that the FILE adapter does not require. When naming the receive location, it is typical to use the name of the port with which the location is associated with the protocol appended—for example, PurchaseOrderFTP. For each adapter that is supported by BizTalk, global properties can, and in some cases must, be configured. For example, the SMTP adapter and MQSeries adapter have a Server property which identifies which server the adapter is to communicate with. In the case of the SMTP adapter, this global property is optional because it can be set on a per-instance basis, whereas the Server property is required for the MQSeries adapter. Receive Location States Receive locations can be in one of two states, which can be set through the BizTalk Server Administration Console: Enabled. You enable a receive location to start receiving messages. With most receive locations, such as file receive locations, messages that arrive while the port is disabled will simply wait for the port to be enabled before the message will be processed. Disabled. You disable a receive location if you want to prevent it from receiving messages or if you want to delete the receive location. If an error occurs while a receive location is listening for messages at a specific address and BizTalk uses all retry attempts, BizTalk will disable the receive location automatically. Receive locations are disabled by default. For more information about receive locations and configuring properties of specific receive location types, refer to “About Receive Locations” in the BizTalk Server documentation. Managing Send Ports and Send Port Groups Create and manage send ports and send port groups. Send Ports Send ports are the endpoints to which BizTalk Server sends messages. Like receive ports, send ports have two communications patterns: one-way and two-way, referred to as solicitresponse. Solicit-response ports are used by BizTalk Server (principally through orchestrations) to consume external resources. Two-way send ports are used for Web service invocation and SQL adapter queries, among other uses. Static vs. Dynamic Ports In addition to being one-way or two-way, send ports can be either static (which is most common), dynamic (which is generally more powerful), or direct (which must be configured within the orchestration itself): Static send ports. These send ports contain a fixed destination address. When you create a static send port, you specify the adapter type, destination address (Uniform Resource Identifier, or URI), and pipeline used for the static send port. Dynamic send ports. Dynamic ports are addressed in the developer documentation because their dynamic nature is available only from orchestrations. By using dynamic ports, which do not contain a fixed destination, a decision can be made by the orchestration at run time as to how the port is to be configured. For example, some vendors might choose to receive catalog updates from your company by email, whereas others would like to receive updates by means of FTP. With a dynamic send port, a decision can be made within the orchestration (possibly through a call to the Business Rule Engine or BRE) as to how the port should be configured for each instance of the orchestration. Direct send ports are send ports which are bound to a specific end-point specified in an orchestration. This binding can only be changed within the orchestration. Send ports can be created by using the BizTalk Server Administration Console or by using WMI scripts. Also when importing binding files or importing from MSI packages, ports are created automatically. Send Port Groups A send port group is a named collection of send ports that you can use to send the same message to multiple destinations in a single configuration. Send port groups are useful when you need to send a message from a specific business process to multiple physical locations. For example, you might need to submit a confirmation message for an invoice that was over $10,000 to an FTP site, an HTTP directory, and a file drop for auditing purposes. If you create three separate send ports—one for each transport type—and then create a send port group consisting of these three send ports, you can create a single filter that will send any messages that meet the filter criteria to all three physical send ports. The filter for a send port group is configured in the same way as a filter for a single send port. Send Port States Once created, send ports will not begin processing messages until a subscription is created. In BizTalk Server, subscriptions are created by enlisting send ports. Send ports have three possible states indicating whether a subscription exists and whether the port will actively process messages: Bound. Send ports or send port groups that are fully configured but do not have any subscriptions are considered Bound. When send ports are in the bound state, they are ready to be enlisted and started. Fully configured ports are have been assigned a pipeline, are associated with a BizTalk Host, and have been bound to an orchestration’s logical port. Messages will not be queued or processed until the port is enabled. Clicking Unenlist on the shortcut menu for stopped or started ports will change the state to bound. Stopped. Enabling a bound send port or stopping a started send port will switch the port to the Stopped state. When the send port or send port group is in this state, all new messages routed to this send port or send port group are sent to the suspended queue of the host where the send handler is running. If the send port or send port group was previously started, processing continues in the work queue; however, no new messages begin processing. Clicking Enlist or Stop (depending on the initial state) will switch the port to this state. Started. When a send port is in the started state, the subscription for this send port exists and is active. When the port is in this state, messages are delivered and processed by the send port. Starting a send port implies enlisting the port as well. Demonstration: Configuring Ports and Receive Locations In this demonstration, you will see how to use the BizTalk Server Administration Console to create and configure multiple receive ports, receive locations, send ports, and a send port group. You will also see how to import a binding file to create ports. This demonstration can be a little long. If in the interest of time you do not want to create all the ports manually, the DemoABindings binding file will create all the required ports for you. If you turned off the demonstration virtual PC without saving changes after completing Module 3 you will need to perform the following before continuing with these demonstrations. Remove the versions 1.0.0.0 and 2.0.0.0 of the OrderManagement assembly from the Module3 application, and then move the version 4.0.0.0 OrderManagement assembly from the Module3 application to the Module4 application. To Create Two Receive Ports 1. On the Start menu, point to All Programs, point to Microsoft BizTalk Server 2010, and then click BizTalk Server Administration. 2. In the BizTalk Server Administration Console, expand BizTalk Server Administration, BizTalk Group, Applications, Module4, and then click Receive Ports. 3. Right-click Receive Ports, point to New, and then click One-way Receive Port. 4. In the Receive Port Properties dialog box, change the Name to PurchaseOrders, and then click OK. 5. Right-click Receive Ports, point to New, and then click One-way Receive Port. 6. In the Receive Port Properties dialog box, change the Name to ReviewPurchaseOrders, and then click OK. To Create Two Receive Locations 1. In the BizTalk Server Administration Console, right-click Receive Locations, point to New, and then click One-way Receive Location. 2. In the Select a Receive Port dialog box, click PurchaseOrders, and then click OK. 3. In the Receive Location Properties dialog box, change the name to PurchaseOrdersFILE, click FILE in the Type list, and then click Configure. 4. In the FILE Transport Properties dialog box, click Browse. 5. In the Browse For Folder dialog box, browse to C:\AllFiles\DemoCode\Module4\Messages, click POIn, and then click OK. 6. In the FILE Transport Properties dialog box, click OK. 7. In the Receive Location Properties dialog box, click XMLReceive in the Receive pipeline list, and then click OK. 8. In the BizTalk Server Administration Console, right-click Receive Locations, point to New, and then click One-way Receive Location. 9. In the Select a Receive Port dialog box, click ReviewPurchaseOrders, and then click OK. 10. In the Receive Location Properties dialog box, change the name to ReviewPurchaseOrdersFILE, click FILE in the Type list, and then click Configure. 11. In the FILE Transport Properties dialog box, click Browse. 12. In the Browse For Folder dialog box, browse to C:\AllFiles\DemoCode\Module4\Messages, click POReviewIN, and then click OK. 13. In the FILE Transport Properties dialog box, click OK. 14. In the Receive Location Properties dialog box, click XMLReceive in the Receive pipeline list, and then click OK. To Create Three Send Ports 1. In the BizTalk Server Administration Console, right-click Send Ports, point to New, and then click Static One-way Send Port. 2. In the Send Port Properties dialog box, change the name to ToAccountingFILE, click FILE in the Type list, and then click Configure. This port will be used to send an acknowledgment to the accounting department. 3. In the FILE Transport Properties dialog box, click Browse. 4. In the Browse For Folder dialog box, browse to C:\AllFiles\DemoCode\Module4\Messages, click POAckOUT, and then click OK. 5. In the FILE Transport Properties dialog box, change the File name to AccountingACK%MessageID%.xml, and then click OK. 6. In the Send Port Properties dialog box, click PassThruTransmit in the Send pipeline list, and then click OK. For better performance, use the PassThruTransmit Pipeline when send pipeline processing is not required. 7. In the BizTalk Server Administration Console, right-click Send Ports, point to New, and then click Static One-way Send Port. 8. In the Send Port Properties dialog box, change the name to ToCustomerFILE, click FILE in the Type list, and then click Configure. This port will be used to send an acknowledgment to the customer. 9. In the FILE Transport Properties dialog box, click Browse. 10. In the Browse For Folder dialog box, browse to C:\AllFiles\DemoCode\ Module4\Messages, click POAckOUT, and then click OK. 11. In the FILE Transport Properties dialog box, change the File name to CustomerACK%MessageID%.xml, and then click OK. 12. In the Send Port Properties dialog box, click PassThruTransmit in the Send pipeline list, and then click OK. 13. In the BizTalk Server Administration Console, right-click Send Ports, point to New, and then click Static One-way Send Port. 14. In the Send Port Properties dialog box, change the name to ToSalesManagerFILE, click FILE in the Type list, and then click Configure. This port will be used to send an acknowledgment to the sales manager. 15. In the FILE Transport Properties dialog box, click Browse. 16. In the Browse For Folder dialog box, browse to C:\AllFiles\DemoCode\ Module4\Messages, click POAckOUT, and then click OK. 17. In the FILE Transport Properties dialog box, change the File name to SalesManagerACK%MessageID%.xml, and then click OK. 18. In the Send Port Properties dialog box, click PassThruTransmit in the Send pipeline list, and then click OK. To Create a Send Port Group 1. In the BizTalk Server Administration Console, right-click Send Port Groups, point to New, and then click Send Port Group. 2. In the Send Port Group Properties dialog box, change the Name to PurchaseOrderACK. 3. In the Send ports section, click ToAccountingFILE, ToCustomerFILE, and ToSalesManagerFILE in the Name list, and then click OK. To Import Port Bindings by Using a Binding File 1. In the BizTalk Server Administration Console, right-click the Module4 application, point to Import, and then click Bindings. 2. In the Import Bindings dialog box, navigate to C:\AllFiles\DemoCode\Module4, and then double-click DemoABindings.xml. 3. In the left pane of the BizTalk Server Administration Console, click Send Ports, and then notice that three new send ports (ToErrorFILE, ToShipNoticeFILE, and ToPOReviewFILE) have been created. 4. Pause the bt10a-demos virtual machine. What Is Port Binding? Describe port bindings and export and import port bindings. Port Bindings Port bindings specify the entry points into a BizTalk application and are most often used to associate logical ports in an orchestration with physical ports. The port binding contains configuration information that specifies where and how a message is to be sent or from where it is received. You can bind logical send ports to physical send ports and logical receive ports to physical receive ports. Port bindings must be used when developers use the Specify Later port binding option in the Orchestration Designer. Developers typically choose the Specify Later option because only the port type that describes the port must be specified. Administrators can then specify the actual port location separately from the logical flow of the message after the application has been deployed. Exporting and Importing Binding Information After the port bindings have been configured, the binding information can be exported to an XML file and later imported into another environment. Because the binding file is written in XML, it is easy to read and edit the XML if a simple change in the configuration needs to be made. Options for exporting binding files include: Export all bindings from the current application. Choose this option if you want to save the binding information for all orchestrations and ports in the selected application. Export all bindings from the current group. Choose this option to export all the port bindings for the BizTalk group which you are connected to. Export bindings for the selected assembly. Choose this option to export bindings for orchestrations in a specific assembly and select the assembly for which you want to export bindings. This option is only enabled if there is at least one assembly registered within the current application. Using MSI files to export applications results in the binding information being included in the MSI package. It is not necessary to perform export or import bindings if you create an MSI package to deploy an application. BizTalk protects passwords in exported binding files. Whenever a file containing a password is exported from BizTalk, the password node is included with the substitution value ***Hidden***. Before the file can be imported, it is necessary to supply the correct password for the account specified. Managing Orchestrations Manage the processing state of a BizTalk orchestration. Overview Both orchestrations and send ports have similar states and require similar actions for changing the state of a port or orchestration. Once an assembly containing an orchestration has been deployed to the BizTalk Configuration database and its ports have been bound to physical send and receive ports, you can enlist the orchestration and then start it so that it can begin to process messages. Orchestration States You can use either the BizTalk Server Administration Console or WMI to enlist, start, stop, and unenlist orchestrations. The states of an orchestration include: Unbound. When an orchestration is in this state, the orchestration is deployed to the Configuration database but is not bound to ports. Orchestrations with missing binding information will remain in this state. Bound. Orchestrations in this state are bound to all required ports, and the orchestration is ready to be enlisted. Started. In this state, an orchestration is running and is able to create new instances. Stopped. Enlisting a bound orchestration or stopping a started orchestration results in a stopped state. In this state, the subscription exists and messages are being queued for processing; however, the orchestration is not actively processing new messages. If the orchestration had been previously started and is currently processing messages, processing continues in the work queue; however, no new orchestration instances will start. Stopping. When an orchestration is stopping, it is attempting to stop but dependent processes are not yet complete. Enlisting Actions The actions that can be invoked to change the state of an orchestration are Enlist, Start, Stop, and Unenlist. The actions associated with orchestrations are similar in function to the actions of send ports and send port groups. Demonstration: Binding an Orchestration In this demonstration, you will see how to use the BizTalk Server Administration Console to configure orchestration hosts, bind orchestration ports, and start and then test a BizTalk server application. To Bind the Application 1. In the BizTalk Server Administration Console, right-click Module4, and then click Configure. 2. In the Configure Application dialog box, under Orchestrations, click orchCalculateShipping. 3. Select BizTalkServerApplication in the Host list. 4. In the Configure Application dialog box, under Orchestrations, click OrchProcessOrder. 5. Select BizTalkServerApplication in the Host list. 6. Bind the logical ports to the physical ports as shown in the following table. Inbound logical ports Receive ports RcvPO PurchaseOrders RcvPOReview ReviewPurchaseOrders Outbound logical ports Send ports/send port groups SndPOReview ToPOReviewFILE SndError ToErrorFile SndShipNotice ToShipNoticeFILE SndFinalPOAck PurchaseOrderACK PurchaseOrderACK is a send port group that includes the ToAccountingFILE, ToCustomerFILE, and ToSalesManageFILE send ports. This means that the message being sent out of the orchestration will be processed by all three of these ports. 7. Click OK. Ensure that the BizTalk Services are started Procedure List 1. In Windows Explorer, navigate to C:\AllFiles. 2. Double click on startBtServices.cmd. 3. When prompted, press any key to close the command-line window. To Start the Application 1. In the BizTalk Server Administration Console, right-click the Module4 application, and then click Start. 2. In the Start ‘Module 4’ Application dialog box, click Start. 3. In the left pane of the BizTalk Server Administration Console, click Module4. 4. Notice that the Module4 icon at the top of the center pane contains a green arrow. To Test the Application 1. In Windows Explorer, navigate to C:\AllFiles\DemoCode\Module4\Messages, and then open the ContosoPO_Large.xml file. 2. Copy ContosoPO_Large.xml to the POIn folder; wait for the message to disappear. Be sure to copy the files. After the file is processed by BizTalk, the original message will not be retrievable. 3. Navigate to the ShipNoticeOUT folder, and then open the {GUID}.xml message. Notice that a Shipment node has been added to the message and that Amount equals 10300. 4. Close Internet Explorer. 5. In Windows Explorer, navigate to the POAckOUT folder, and notice the three acknowledgment messages. The orchestration uses the PurchaseOrderACK send port group, which sends the single outgoing message through the three send ports making these acknowledgments. 6. Open the AccountingACK{GUID}.xml message. 7. Close Microsoft Internet Explorer®. 8. Delete all the messages from the POAckOUT and ShipNoticeOUT folders, and then close all open windows. 9. Shut down the bt10a-demos virtual machine. Lab 4a: Administering a BizTalk Application Time estimated: 45 minutes Scenario In previous labs, all send and receive ports were provided for you. In this lab, you will create send and receive ports. After you have created the physical ports, you will bind them to the orchestration, and then submit several purchase orders to the BizTalk Server application to see whether the purchase orders are successfully processed. 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 bt10a-04 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, and then click OK. Ensure that the BizTalk Services are started Procedure List 1. In Windows Explorer, navigate to C:\AllFiles. 2. Double click on startBtServices.cmd. 3. When prompted, press any key to close the command-line window. Extend the Office Trial Version Procedure List 1. To extend the expiration date of the Microsoft Office 2010 installation on this virtual machine, navigate to C:\AllFiles\, and then double click extend.cmd. Exercise 1: Create Receive Ports and Locations Overview BizTalk Server receive ports can have one or more receive location. In this exercise, you will use BizTalk Server Administration Console to create a receive port with a single receive location that uses the FILE adapter to process purchase orders from a directory. You will then create and configure another receive port and a POP3 receive location. Create and Configure a Receive Port and FILE Receive Location Procedure List 1. On the Start menu, point to All Programs, point to Microsoft BizTalk Server 2010, and then click BizTalk Server Administration. 2. In the BizTalk Server Administration Console, expand BizTalk Server Administration, BizTalk Group, Applications, and Module 4, and then click Orchestrations. 3. Double-click the ProcessOrder.OrchProcessOrder orchestration. 4. In the Orchestration Properties dialog box, click Bindings. 5. Notice that this orchestration has two Inbound Logical Ports and four Outbound Logical Ports listed. Logical ports are found in orchestrations, and they are used to specify logical entry and exit points for messages as they are being processed by the orchestration. All logical ports must be “bound” to physical ports before an orchestration can process messages. 6. Click Cancel. 7. Right-click Receive Ports, point to New, and then click One-way Receive Port. 8. In the Receive Port Properties dialog box, change the Name to PurchaseOrders, and then click Receive Locations. Naming receive ports with descriptive names is important for tracking and troubleshooting later. 9. Click the New button. 10. In the Receive Location Properties dialog box, change the Name to PurchaseOrdersFILE, click FILE in the Type list, and then click Configure. Here you are creating a physical receive location that will use the FILE adapter to pick up messages for processing by the orchestration. 11. In the FILE Transport Properties dialog box, click the Browse button. 12. In the Browse For Folder dialog box, expand Computer, Local Disk (C:), AllFiles, LabFiles, Module 4, and Messages, click PurchaseOrderIN, and then click OK. Notice that you can create new folders from here if a folder does not already exist. 13. In the FILE Transport Properties dialog box, click OK. 14. In the Receive Location Properties window, click XMLReceive in the Receive pipeline list, and then click OK. Receive pipelines handle such processes as decrypting a file and making sure the inbound document matches a particular schema. In this case, any documents processed by this receive location must be well-formed XML. 15. In the Receive Port Properties dialog box, click OK. Create and Configure a SharePoint Receive Location Procedure List 1. In the BizTalk Server Administration Console, right-click Receive Ports, point to New, and then click One-way Receive Port. 2. In the Receive Port Properties dialog box, in the Name box, type ManualReview. 3. Click Receive Locations, and then click New. 4. In the Receive Location Properties dialog box, in the Name box, type PurchaseOrderAckSharePoint. 5. In the Type list, click Windows SharePoint Services. In the Receive pipeline list, click XMLReceive, and then click Configure. 6. In the Windows SharePoint Services Transport Properties dialog box, under General, configure the properties as they appear in the following table, and then click OK. Property Setting Polling Interval 60 SharePoint Site URL http://BIZTALKDEMO Source Document Library URL PurchaseOrderAck View Name Evaluated The SharePoint adapter will process all messages displayed by the view specified. This receive location will process messages displayed by the Evaluated view. 7. Click OK twice. Exercise 2: Create Send Ports Overview BizTalk Server uses send ports to communicate with external systems. In this exercise, you will create four send ports. The first is an FTP send port that is used to send shipping information for all successfully processed purchase orders. The second is an SMTP port that is used to forward purchase orders that need approval to the sales manager. The last two send ports are used to separate approved and denied purchase orders into file folders. Create and Configure an FTP Send Port Procedure List 1. In the BizTalk Server Administration Console, under Module 4, right-click Send Ports, point to New, and then click Static One-way Send Port. 2. In the Send Port Properties dialog box, change the Name to ShipNoticeFTP, click FTP in the Type list, and then click Configure. FTP is one of several types of adapters that BizTalk Server can use to send documents after they have been processed. Global configuration settings for the FTP adapter can be found in the Adapters section of the Microsoft BizTalk Server Administration Console, under Platform Settings. 3. In the FTP section of the FTP Transport Properties dialog box, configure the properties as shown in the following table. Leave all other properties at the default settings, and then click OK. The Target File Name property adds the prefix ShipNotice to the GUID associated with each approved purchase order’s shipment information. Property Setting Folder ShippedOrders Password pass@word1 Note: Click the down arrow to the right of the Password box before entering the password. Server BIZTALKDEMO Target File Name ShipNotice%MessageID%.xml User Name Administrator 4. In the Send Port Properties window, click OK. Create and Configure a SharePoint Send Port Procedure List 1. In the BizTalk Server Administration Console, under Module 4, right-click Send Ports, point to New, and then click Static One-way Send Port. 2. In the Send Port Properties dialog box, change the Name to ManualReviewSharePoint. 3. In the Type list, click Windows SharePoint Services, and then click Configure. 4. In the Windows SharePoint Services Transport Properties dialog box, under General, configure the properties as they appear in the following table, and then click OK. Property Setting Destination Folder URL PurchaseOrderAck Filename PoAck%MessageID%.xml SharePoint Site URL http://BIZTALKDEMO This send port will send messages to a SharePoint Document Library named PurchaseOrderAck. 5. Click OK to close the Send Port Properties dialog box. Create and Configure a FILE Send Port for Denied Orders Procedure List 1. In the BizTalk Server Administration Console, right-click Send Ports, point to New, and then click Static One-way Send Port. 2. In the Send Port Properties dialog box, change the Name to DeniedFILE, click FILE in the Type list, and then click Configure. Notice that the word FILE appears in the name of the send port. It is a good practice to include the adapter type in the name of your send ports for ease of tracking and troubleshooting. 3. In the FILE Transport Properties dialog box, click the Browse button. 4. In the Browse For Folder dialog box, expand Computer, Local Disk (C:), AllFiles, LabFiles, Module 4, and Messages, click Denied, and then click OK. 5. In the FILE Transport Properties dialog box, change the File name to Denied%MessageID%.xml, and then click OK. This prepends the word Denied to the name of any messages dropped in this folder. Only messages that have been explicitly denied by the sales manager should end up in this folder. 6. In the Send Port Properties window, click OK. Create and Configure a FILE Send Port for Approved Orders Procedure List 1. In the BizTalk Server Administration Console, right-click Send Ports, point to New, and then click Static One-way Send Port. 2. In the Send Port Properties window, change the Name to POAckFILE, click FILE in the Type list, and then click Configure. 3. In the FILE Transport Properties dialog box, click the Browse button. 4. In the Browse For Folder dialog box, expand Computer, Local Disk (C:), AllFiles, LabFiles, Module 4, and Messages, click PurchaseOrderAck, and then click OK. 5. In the FILE Transport Properties dialog box, change the File name to Completed%MessageID%.xml, and then click OK. This pre-pends the word Completed to the name of any messages dropped in this folder. Only purchase orders that were successfully processed should end up in this folder. 6. In the Send Port Properties dialog box, click OK. Exercise 3: Bind the Orchestration Overview In this exercise, you will bind the orchestration’s logical ports to the physical send and receive ports that you created in earlier exercises. Configure the Orchestration Bindings Procedure List 1. In the BizTalk Server Administration Console, click Orchestrations. 2. Right-click ProcessOrder.OrchProcessOrder, and then click Properties. 3. In the Orchestration Properties window, click Bindings. 4. In the Orchestration Properties window, configure the properties as shown in the following table, and then click OK. Notice that logical receive ports can be bound only to physical receive locations and logical send ports can be bound only to physical send ports. Property Setting Host BizTalkServerApplication RcvPO PurchaseOrders RcvPOReview ManualReview SndPOReview ManualReviewSharePoint SndError DeniedFILE SndShipNotice ShipNoticeFTP SndFinalPOAck POAckFILE Exercise 4: Start and Test the Application Overview In this exercise, you will start and test the BizTalk Server application that processes purchase orders. Start the Application Procedure List 1. In the BizTalk Server Administration Console, right-click Module 4, and then click Start. 2. Notice that the Configure Application dialog box states that the application cannot be started because it is not fully configured. Click Yes to finish configuring the application. 3. In the Configure Application window, notice that the orchCalculateShipping orchestration has a yellow exclamation point next to it. This orchestration has not been fully configured. Until all orchestrations are configured, the application cannot start. 4. Click orchCalculateShipping. 5. Click BizTalkServerApplication in the Host list, and then click OK. The BizTalk host defines the process boundary in which the orchestration will run. Notice that this orchestration does not have any ports. It communicates internally with the ProcessOrder.OrcheProcessOrder orchestration. 6. In the BizTalk Server Administration Console, right-click Module 4, and then click Start. 7. In the Start ‘Module 4’ Application dialog box, click Options, ensure that all of the check boxes are selected, and then click Start. Test the Application Procedure List 1. In Windows Explorer, navigate to C:\AllFiles\LabFiles\Module 4\Messages. 2. Copy the three ContosoPO… and the two FabrikamPO… XML messages to the PurchaseOrderIN folder. Do not move the messages. After the messages have been processed by BizTalk, the original files are not retrievable. 3. After the messages disappear from the PurchaseOrderIN folder, navigate to the PurchaseOrderAck folder. 4. In the PurchaseOrderAck folder, notice the four Completed{GUID}.xml messages, open each, and verify that the AckCode field displays X% discount applied. 5. In Internet Explorer, type ftp://BIZTALKDEMO/ShippedOrders in the Address bar, and then press ENTER. 6. When prompted to log in, in the User name box, enter Administrator, and in the Password box, enter pass@word1, then click Log On. 7. Notice the four ShipNotice{GUID}.xml messages. 8. In Internet Explorer, navigate to http://BIZTALKDEMO/PurchaseOrderAck. 9. Click the message, and then in the File Download dialog box, click Open. If the Microsoft Office Activation Wizard window appears, click on its Cancel button. Take note of the Customer Name; it is either Contoso or Fabrik. 10. In the Ack Code list, choose Accept, and then close the form, saving your changes. 11. In the SharePoint navigation menu in Internet Explorer, click on All Documents and choose Evaluated from the drop-down list. The Evaluated view shows purchased that have been accepted or rejected. Notice that the message you modified will be picked up for processing. This may take up to one minute to occur, so you may have to refresh your browser. 12. In Windows Explorer, navigate to C:\AllFiles\LabFiles\Module 4\Messages\PurchaseOrderAck, and notice that another message has been processed. 13. Pause the bt10a-04 virtual machine. Lesson 2: Monitoring Orchestrations and Messages Lesson objective: In this lesson you will learn how to: Manage and monitor the state of message and orchestration processing. Lesson Overview Microsoft BizTalk Server provides tools that can be used to troubleshoot messaging and orchestration processes. The BizTalk Server Administration Console offers the BizTalk Group Hub page, which can be used for viewing live BizTalk Server instances, as well as historical instances. Live instances are defined as currently executing, whether in an active, dehydrated, or suspended state. Historical instances refer to completed processes. The BizTalk Group Hub provides powerful search and summary capabilities to assist in identifying the overall health of a BizTalk system. What Is the BizTalk Group Hub Page? Use the Group Hub Page to determine the health of your BizTalk system and view details on instances. The Group Hub Page The BizTalk Server Group Hub provides IT Professionals with an overview of the health of a BizTalk group by displaying data relating to orchestrations, suspended service instances, host instances, and adapters. Viewing Information in the Group Hub Page Clicking any of the links in the Group Hub Page executes a query that returns details in a new Hub page. You can also create and save your own queries. The Group Hub Page is broken down into sections that provide an overview of the health of your BizTalk Server system: Configuration Overview. This section, located at the top of the Group Hub page, indicates the overall status of the BizTalk group by displaying the number and state of applications, host instances, and adapter handlers within the BizTalk Server group. This section shows a red-light or green-light view of the status of these items. Work in Progress and Suspended Items. This section displays dehydrated orchestrations; retried and idle ports; and running, ready, scheduled, and suspended service instances. You can also view suspended messages by using the Group Hub page. Grouped Suspended Service Instances. This section of the Group Hub page displays suspended service instances grouped in various ways. This grouping assists in managing suspended instances in a batch fashion. For instance, if several messages are all generating the same error, you will see them grouped here by error code. Once the error has been resolved (perhaps an unavailable server or incorrect configuration), all instances can be resumed (or terminated) together. Tracked Service Instances and Tracked Message Events. This section of the Group Hub page displays completed and terminated service instances, as well as tracking events related to individual messages, including transmission failure events. You can also use the BizTalk Administration Console to turn on tracking options for a message instance and view actual message data. You can create run and save custom queries in the Group Hub to troubleshoot problems with a particular message. Users must have BizTalk Administrative privileges to configure tracking for BizTalk Server. Running a Query in the Group Hub Run queries to find specific message activity in the Group Hub. Viewing Instance Details When a query is executed in the Group Hub, a new query page is opened with the query expression at the top of the window. This query can be modified to further restrict the results of the query. The Query Results section displays a count of the instances that match the query, with a detailed list of the resulting service instances below. Each service instance has multiple ways to track or troubleshoot errors, as well as several actions which can be performed on the instance. The options for viewing instance information include: Service Details. The Service Details option will display the status of the instance—for example, the instance ID, start time, and any errors that occurred. The Messages page shows all the messages associated with this instance. On the Messages page, you can double-click any message and proceed to its details, where the message context and even the message itself can be viewed. Show Messages. The Show Messages option initiates a new query that returns the messages associated with this instance; this is the same list you see if you navigate the Service Details option. Show Instance Subscriptions. If the instance is a message related to an orchestration, instance subscriptions will be shown with this query. Terminate and Suspend Links. Use to suspend or terminate an individual instance. Right-clicking the summary in the Results section allows you to suspend or terminate all the related instances at once. Two additional options are provided, Message Flow and Orchestration Debugger, which will open a window displaying tracked properties of the message or a window displaying the status of running orchestration instances. These options will be covered later in this module. Viewing Tracking Data Use Group Hub queries to track and monitor message activity. Overview A BizTalk Server messaging system can process tens of thousands of messages in a day. Administrators, developers, and, sometimes even, business analysts require the ability to track messages and to view, monitor, and query the data related to messages being processed. The BizTalk Group Hub queries allow users to view the tracking details related to either messaging or orchestration instances. Benefits Some of the benefits of using Group Hub queries include: Tracking when a service begins or ends or when a message is sent or received. The query results show the start time and the end time for every message processed by BizTalk Server. The results also show the state of any messages processed through BizTalk Server. Message states include active, suspended, completed, and terminated. Monitoring the health of operations and creating reports to analyze the current state of business processes. Every message goes through a series of contiguous processing steps, and you can access this message flow by querying for messages and then right-clicking the message that you want to track. Click Message Flow in the drop-down list to see the processing steps for the message and to see whether any errors occurred while the message was being processed by BizTalk Server. Gathering information about the state of a running process to be able to implement appropriate changes to the business process when needed. You can modify which data you want to track without affecting the rest of the BizTalk environment, and redeployment of assemblies is not necessary when changing tracking options. Changes to which properties are tracked is managed through the BizTalk Server Administration Console. Monitoring live data also enables you to monitor your system so that you can fix problems in the development or staging environment. Tracking Levels The level of tracking is configurable within the BizTalk Server Administration Console. For example, tracking can be performed at the port or schema levels. This configuration includes being able to specify that message bodies must be retained before and after processing. Each property that is tracked adds to the amount of data maintained in the tracking database (size) and requires additional steps to process. This means that tracking can have a negative impact on message processing performance. For this reason, care should be taken in enabling specific message tracking levels. It is highly recommended that tracking should be anticipated and included in the testing process to identify the overall impact. Note: Many of the desired goals of message tracking can be better achieved by configuring Business Activity Monitoring (BAM), with a drastically smaller impact on performance. Identifying Group Hub Tracking Job Roles Describe various user roles for the Group Hub. Message Tracking Roles The BizTalk Group Hub can be used to query completed instances. Different users might need access to this data at different times and for different reasons: Systems administrators. Can use the Group Hub to track the health of a BizTalk application, determine bottlenecks, and monitor the BizTalk environment. They can view the technical details of a particular orchestration, pipeline, or message instance, as well as view the message flow for an individual message being processed. Systems administrators can configure various tracking options during run time, and tracking options can be changed for an item at any time without interrupting the business process. Business users. Can view, monitor, and query data that is being tracked with the Group Hub. Additionally, business users can create custom views and queries and save them for reuse. They can also track the state of business processes by viewing both live and archived data. Developers. Can use the Group Hub in a development environment to debug orchestrations in real time, and to track messages as they are processed by BizTalk. The orchestration debugger attaches to an instance of a running orchestration and enables developers to track the path a message takes through the orchestration. Developers can also use the Group Hub to view message properties and real-time values contained in messages. Identifying the Types of Events and Data to Track Explain the messaging events and data that can be tracked. Event Tracking BizTalk tracks data as events based on tracking filters that you have set. You can track events such as: The starting or ending of a service. When messages are sent or received. When a pipeline starts or ends. When an orchestration starts or ends. The execution of each shape in an orchestration. Data Tracking You can turn on tracking for any information in the message, including promoted properties, routing information, and partner data. The Group Hub also allows you to see suspended orchestrations and pipeline information. You can also track: Promoted properties. This is useful when you have implemented content-based routing that uses promoted properties and want to locate messages that were processed. After you turn on tracking for a promoted property in a schema, you can find messages in which the promoted property is a specific value. For example, if you want to see only messages that have a Quantity property less than 100, you can query the tracking database based on the Quantity promoted property. However, only promoted properties for which you have turned on tracking will show up in the Property drop-down list. Tracking is configured in the BizTalk Administration Console. Routing information. Because tracking allows you to trace the path of a message as it is routed through BizTalk Server, enabling tracking can be useful for troubleshooting errors. The Group Hub can display error codes and routing states for a message so that you can troubleshoot errors in real time. Partner data. In addition to tracking messages based on their schemas, you can additionally track data based on the trading partner associated with the message. This allows you to query message activity based on specific partners that have been set up in the Trading Partner Management (TPM) system. This is especially useful if you have multiple parties using the same schema or port and you want to filter the data based on which party is involved in the message flow. Schema information. The BizTalk Group Hub allows you to find messages based on the schema type. This can be useful when you want to see only messages associated with a particular schema. Also, if you have promoted any properties in the schema that you are tracking, you can select the specific property you want to track from the Property drop-down list and narrow your search even further. Viewing and Tracking Message Activity Use the Message Flow view to view specific message details. Overview You can view both live and archived data by using various views provided by the Group Hub. You must have message body tracking turned on to save messages after service instance processing is complete. Also verify that the SQL Server Agent service is running on all MessageBox databases. This makes message bodies available to the Group Hub and WMI, and it enables you to perform cleanup in the MessageBox database. Message body tracking is configured by using the BizTalk Administration Console and is covered later in this module. Capabilities of Message Tracking Message tracking enables you to: Track both live and archived data. Select schemas to investigate and filter messages. Messages can be filtered based on dates, the send or receive port that was used, trading partners if available, and promoted properties. Display and track services such as orchestrations and messaging. The Group Hub displays the state of each service instance returned from the query. Common service instance states include completed and terminated. View message instances, including metadata and message bodies. If a message did have problems, you can easily find error messages to help troubleshoot the problem and then resolve it. Debug orchestrations in real time. The ability to debug a running business process in real time is a powerful feature of the Group Hub that can be used to track the flow of a message through an orchestration. Demonstration: Tracking and Viewing Message Activity In this demonstration, you will see how to use the BizTalk Group Hub to view and track message activity. To Create Message Activity 1. In Windows Explorer, navigate to C:\AllFiles\DemoCode\Module4\Messages. 2. Copy the ContosoPO_Large.xml, ContosoPO_Small.xml, and ContosoPO_BadNameSpace.xml files from the Messages folder to the POIn folder. Be sure to copy the messages to the POIn folder. If you move the messages, they will be permanently modified by the BizTalk process. If you happen to move any of the messages, a copy can be found at C:\AllFiles\DemoCode\MessageCopies. To Use the Group Hub Page to View Message Activity 1. On the Start menu, point to All Programs, point to Microsoft BizTalk Server 2010, and then click BizTalk Server Administration. 2. Expand BizTalk Server Administration, and then click BizTalk Group. 3. Press the F5 key to refresh the view. 4. On the BizTalk Group Hub page, notice the six sections: Configuration Overview, Work in Progress, Suspended Items, Grouped Suspended Service Instances, Tracked Service Instances and Tracked Message Events. 5. In the Configuration Overview section, notice that the Group name, Server, and Database are displayed. Also notice that summaries of the Applications, Host Instances, and Adapter Handlers are displayed, including their status. 6. In the Work in Progress section, notice that there is one Running service instance. 7. In the Suspended Items section, notice that there is one Suspended service instance (Resumable). 8. In the Suspended Items section, click Suspended service instances. 9. In the Query results section, click Suspended (resumable). 10. In the Preview for the selected query result pane, right-click the service instance, and then click Service Details. 11. In the Service Details dialog box, click the Error Information tab. 12. Notice the last line of the Error Description, which reads: Reason: Finding the document specification by message type "http://IncorrectNamespace#PurchaseOrder" failed. Verify that the schema is deployed properly. This error message explains why this message was suspended. In this case, the message type does not match a deployed schema. 13. Click the Messages tab. 14. Right-click the message, and then click Message Details. The Message Details dialog box opens. The General page of the Message Details dialog box displays information about the message associated with this service instance, including the Host, Adapter, and URI. 15. Click Context in the left pane of the Message Details dialog box. The Context page displays the metadata associated with the message instance, including ReceivedFileName, InboundTransportLocation, ReceiveLocationName, and ReceivePortName. 16. Click body in the left pane of the Message Details dialog box. All XML messages have at least one message part, known as the message body. The body page displays the actual message body in both text and binary formats. 17. Click the Binary tab on the body page. 18. Close the Message Details dialog box. 19. Close the Service Details dialog box. To Use the Group Hub Page to Track Completed Service Instances 1. In Windows Explorer, navigate to C:\AllFiles\DemoCode\Module4\Messages. 2. Copy the ContosoPO_Large.xml file to the POIn folder. 3. On the BizTalk Group Hub page, beneath the Tracked Service Instances heading, click the Completed instances link. 4. Right-click the most recent service instance, which is at the top of the list, and then click Message Flow. 5. Maximize the Message Flow window. The top section of this window has information about this service instance, such as the type, start and end times, and the host used. The lower section has In and Out parts. 6. Click the ProcessOrder.OrchProcessOrder link at the bottom of the Message Flow window. The top section has information about the service instance. The lower section provides information about how the message was received into the orchestration (Microsoft.BizTalk.DefaultPipelines.XMLReceive) and where the orchestration sent the message (one instance of the PassThruTransmit pipeline on the SndShipNotice port, and three instances of the PassThruTransmit pipeline on the SndFinalPOAck port). 7. Click the first Microsoft.BizTalk.DefaultPipelines.PassThruTransmit link under the SndFinalPOAck port. Notice the URL and port used by this instance of the pipeline. Because send port groups are nondeterministic in the order in which the message is sent, the order of the send ports used is random. 8. Click the ProcessOrder.OrchProcessOrder orchestration link. 9. Click the second Microsoft.BizTalk.DefaultPipelines.PassThruTransmit link under the SndFinalPOAck port. 10. Click the ProcessOrder.OrchProcessOrder orchestration link. 11. Click the third Microsoft.BizTalk.DefaultPipelines.PassThruTransmit link under the SndFinalPOAck port. Notice the URL and port used by this instance of the pipeline. 12. Close all Health and Activity Tracking windows. 13. Pause the bt10a-demos virtual machine. Using the Group Hub to View Orchestrations Explain the service instance states and message instance states displayed in the Group Hub. Service Instance States These instances can be in a number of different states depending upon various conditions, including the load on the server, availability of resources, and the design of the orchestration that is being processed. The service instance states include: Ready to run. A service instance has received an activation message but hasn’t started yet. When the number of ready-to-run instances continually increases, the resources to process the workload may be insufficient or unavailable. Scheduled. Scheduled is a ready-to-run sub-state in which a service is ready to be processed but will commence processing only within a specified window of time (service window). The service window can be specified by the user in the Port Properties dialog box for the port. Outside that service window, the service is shown as scheduled. Retrying. When a send port instance encounters a failed message transmission, typically because a resource is unavailable, it periodically tries to resend the message. Dehydrated. The orchestration instance is idle and not in memory. Dehydrated is essentially the same state as retrying, but it relates to an orchestration instead of to a message port. A dehydrated orchestration typically is reactivated when it receives a message. Suspended, resumable. The service instance is suspended. You may be able to resume the service instance by means of an API call or an administrative action. Suspended, nonresumable. The service instance is suspended and cannot be resumed. Active. The service instance is currently in memory. In breakpoint. The service instance has stopped execution at a preset breakpoint. You can resume the execution of the service instance through the Orchestration Debugger or by right-clicking the service instance and then clicking Resume. Message Instance States As has been noted, all processing within BizTalk begins with the receipt of a message. A single service instance can have a number of messages with which it is involved, each of which will have some state associated with that message. Valid states for messages are: Consumed. The message has been processed by a service instance. The service that processed the instance retains a reference so that it can access the message later. The message is considered delivered. Delivered (not consumed).The message has been delivered to the engine, is being processed, and is in memory. It is considered delivered. Suspended, resumable. The service instance associated with the message is suspended and can be resumed. Suspended, non-resumable. The service instance associated with the message is suspended and cannot be resumed. Undelivered. There may be no services available to process the message, or there may be no services running. For example, in an ordered delivery scenario, a message is undelivered when another message that precedes it is being retried by the ordered delivery send port. Undelivered (retrying).The message is associated with a send port that is attempting to resend it because the destination resource is unavailable. (See the previous definition for the “retrying” service instance.) Undelivered (scheduled).The message is waiting to be sent by a send port that has a service window set. Using the Orchestration Debugger Use the Orchestration Debugger to monitor orchestration processing and debug an orchestration. Overview The Orchestration Debugger enables you to track the activity of a single orchestration instance on a shape-by-shape basis. The Orchestration Debugger displays a rendered view of the orchestration that was created in Orchestration Designer. Accessing the Orchestration Debugger You can start the Orchestration Debugger from within the Group Hub to view archived data or debug orchestrations in real time. Simply right-click any service or message instance associated with an orchestration type, and then choose Orchestration Debugger from the context menu. You can switch back and forth between Orchestration Debugger view and Message Flow view. Orchestration Debugger Features Using the Orchestration Debugger, you can: Display a rendered view of the orchestration, in which you can replay each processing step for that particular orchestration. Set breakpoints before any orchestration shape and then continue execution (for running instances only). The maroon dot on the Receive_1 shape in the Orchestration Debugger denotes a breakpoint. View the specific variables and message data associated with an orchestration instance while in debugging mode. Enable all of the tracking options for a particular orchestration instance when that instance is opened in the Orchestration Debugger. Continue and resume in debug mode, and terminate the particular orchestration instance. Demonstration: Troubleshooting Orchestrations In this demonstration, you will see how to use the Orchestration Debugger to troubleshoot a running orchestration. Note: When debugging orchestrations, it’s possible that the debugger may not stay attached to the first instance. It’s recommended that if you do not get the expected results the first time submit another message (without clearing breakpoints) and try the debugging process again. To Open the Orchestration Debugger from the BizTalk Group Hub Page 1. On the Start menu, point to All Programs, point to Microsoft BizTalk Server 2010, and then click BizTalk Server Administration. 2. Expand BizTalk Server Administration, and then click BizTalk Group. 3. Click the Refresh button. 4. In the Work in Progress section, click Running service instances. 5. In the Preview for the selected query result section (bottom pane), right-click the ProcessOrder.OrchProcessOrder… with a Status of Dehydrated, and then click Orchestration Debugger. The right pane of the Orchestration Debugger displays the orchestration being debugged. The left pane displays event tracking. Every event has a start and an end. The start is represented with a green arrow and the completion is represented with a blue arrow. To Set Breakpoints on Orchestration Shapes 1. In the Orchestration Debugger, right-click the Receive PO Ack receive shape, and then click Set Breakpoint on Class. 2. Right-click the Apply Discount scope shape, and then click Set Breakpoint on Class. 3. Right-click the Invoke Shipper Info scope shape, and then click Set Breakpoint on Class. To Resume and Complete the Dehydrated Orchestration Instance 1. In Windows Explorer, navigate to C:\AllFiles\DemoCode\Module4\Messages\POReviewOUT. 2. Move the {GUID}.xml file to the POReviewIn folder. 3. On the File menu of the Orchestration Debugger, click Refresh. The breakpoints will not be applied to this instance of the orchestration, but they will be applied to all future orchestration instances until the breakpoints are removed. 4. Close the Orchestration Debugger window. To Debug a New Instance of the Orchestration 1. In Windows Explorer, navigate to C:\AllFiles\DemoCode\Module4\Messages. 2. Copy ContosoPO_Large.xml to the POIn folder. 3. In the BizTalk Group Hub, on the Running page, click Run Query. In the Preview for the selected query result pane at the bottom of the Group Hub window, notice that the Status of the orchestration is In Breakpoint (Active). 4. Right-click ProcessOrder.OrchProcessOrder…, and then click Orchestration Debugger. Notice that the Receive PO Ack event has started. 5. On the Debug menu of the Orchestration Debugger, click Attach. Notice that the Receive PO Ack event has completed, and the orchestration instance is stopped at the breakpoint on the Apply Discount scope shape. 6. In the Variable List section, click RcvPO. Notice the Address property. This is the physical location from which this message was received. 7. In the Variable List section, click msgPO. 8. In the Variable Properties section, click the ellipsis (…) button next to (Collection). The Message Properties dialog box contains contextual information about this message instance, such as InboundTransportType, InboundTransportLocation, and MessageType. 9. Close the Message Properties dialog box. 10. On the Debug menu of the Orchestration Debugger, click Continue. Notice that the Calculate Discount event starts and completes, along with the Apply Discount event. The Invoke Shipper Info event begins. 11. On the Debug menu of the Orchestration Debugger, click Continue. The orchestration completes successfully. 12. On the Debug menu, click Clear All Breakpoints on Class. 13. Close all open windows. 14. Pause the bt10a-demos virtual machine. Tracking Business Policy Execution Use the Group Hub to track the execution of business rules. Tracking Business Policies You can use the Group Hub to monitor rule activities and to track the overall progress of an orchestration that uses the Business Rules Framework. You can click a policy to view the policy or to change the current tracking configuration for that policy. Tracking the execution of business policies can be helpful in identifying how and why business decisions were made. With business policy execution tracking, you can: Use Track Fact Activity to track the instance data on which the policy operates. Use Track Condition Evaluation to track the True or False results of conditions in the selected policy. Use Track Rule Firings to track the actions triggered as a result of the policy. Use Track Agenda Updates to track updates to the agenda, which generates a list of actions that are True and need to be fired. After tracking configurations have been set, you can then use the BizTalk Group Hub page to track policy and message details. You should be aware that tracking rules execution can have an effect on performance and should be used conservatively in performance testing. Demonstration: Tracking Business Policy Execution In this demonstration, you will see how to configure and track business policy execution by using the BizTalk Administration Console. Enable Policy Tracking 1. On the Start menu, point to All Programs, point to Microsoft BizTalk Server 2010, and then click BizTalk Server Administration. 2. Expand BizTalk Server Administration, BizTalk Group, Applications, and Module4, and then click Policies. 3. Right-click DiscountPolicy, and then click Properties. 4. In the Policy Properties dialog box, click Tracking. 5. Select the four check boxes, and then click OK. Track Policy Execution 1. In Windows Explorer, navigate to C:\Labs\AllFiles\DemoCode\Module4\Messages. 2. Copy FabrikamPO_Large.xml to the POIn folder. 3. On the BizTalk Group Hub page, beneath the Tracked Service Instances heading, click the Completed instances link. 4. Right-click the most recent service instance, which is at the top of the list, and then click Message Flow. 5. In the Message Flow window, click ProcessOrder.OrchProcessOrder. 6. Click the Follow this link to view the Policy execution details for the Orchestration Instance. 7. In the Policy Execution dialog box, click Discount Policy 1.0. 8. Click Fact Activity. This page shows the facts that were used to evaluate the rule condition(s) being asserted to and retracted from the facts list. 9. On the File menu, click Navigate back. 10. Click Rules that Fired. 11. Click Large Order Non-Contoso (5% disc). The rule as it is displayed in the Business Rule Composer is shown. 12. On the File menu, click Navigate back. 13. On the File menu, click Navigate back. 14. Click Rules that did not Fire. The two rules that did not fire are displayed. 15. On the File menu, click Navigate back. 16. Click Conditions that Evaluated. This page shows all the conditional tests that were performed to determine which rules would be applied. 17. On the File menu, click Navigate back. 18. Click Agenda Updates. This page shows the Business Rule Engine agenda update, which states that the Large Order Non-Contoso (5% disc) was to be applied. 19. Close all open windows. 20. Pause the bt10a-demos virtual machine. Lab 4b: Monitoring Message Activity and Debugging Orchestrations Time estimated: 30 minutes Scenario In this lab, you will use the BizTalk Group Hub to troubleshoot archived messages. You will also use the Group Hub page in the Microsoft BizTalk Server Administration Console to track running business processes. Preparation You must have successfully completed the previous lab before starting this lab. Exercise 1: Track and View Message Activity Overview The BizTalk Group Hub page is used to view the details of running service instances, as well as those of completed instances. In this exercise, you will use the Group Hub to view the message flow of the messages that were processed in the previous lab. Then you will use the Group Hub page to troubleshoot a running service instance. Track Archived Message Activity by Using the BizTalk Group Hub Procedure List 1. In Windows Explorer, navigate to C:\AllFiles\LabFiles\Module 4\Messages. 2. Copy ContosoPO_Large.xml to the PurchaseOrderIN folder. 3. In the BizTalk Server Administration Console, in the left pane, click BizTalk Group. 4. Press the F5 key to refresh the page. 5. On the BizTalk Group Hub page, beneath the Tracked Service Instances heading, click the Completed instances link. 6. In the Query results pane, right-click the first record that is listed with a Service Name of Microsoft.BizTalk.DefaultPipelines.XMLReceive, and then click Message Flow. 7. Maximize the Message Flow window. 8. The top section of the Message Flow window displays helpful troubleshooting information about this service instance, such as Host, Type, Start Time, and End Time. 9. The lower section displays the flow of the message instance. This message was received as an Unparsed Interchange through the PurchaseOrders port. It was then sent to the ProcessOrder.OrchProcessOrder orchestration by using the PurchaseOrders port. 10. Click the ProcessOrder.OrchProcessOrder link at the bottom of the page. 11. Notice that the Type of the service is Orchestration, the State is Completed. 12. In the lower section, notice that the message was received with the RcvPO port, sent through the SndShipNotice and SndFinalPOAck ports. 13. Click the Microsoft.BizTalk.DefaultPipelines.PassThruTransmit link in the SndShipNotice port section. 14. Information about the service instance is displayed. 15. Click the ProcessOrder.OrchProcessOrder link. View Running Instances by Using the Group Hub Page Procedure List 1. In Windows Explorer, navigate to C:\AllFiles\LabFiles\Module 4\Messages, and then copy BadNameSpace.xml and ContosoPO_Small.xml to the PurchaseOrderIN folder. 2. In the BizTalk Server Administration Console, in the center pane, click the Group Hub tab. 3. Press F5 to refresh the page. Notice that there is one Running service instance and one Suspended service instance shown as Resumable. Remember to refresh the Group Hub page periodically, especially if you have made a change and want to see new information on a running orchestration instance. If a service instance is marked as Resumable, it will continue to process the message after the error is fixed. 4. Click Running service instances. 5. In the bottom pane of the Group Overview page, right-click ProcessOrder.OrchProcessOrder, and then click Message Flow. The Message Flow window allows you to track the message. 6. Close the Message Flow window. 7. In the lower pane, right-click ProcessOrder.OrchProcessOrder, and then click Service Details. The General tab contains information such as the start time, service class, and status of the selected service. 8. Click the Messages tab. 9. Double-click the message with the Message Type of http://MyCompany/OrderMgmt.PurchaseOrder#PurchaseOrder to open the Message Details dialog box. The General tab of the Message Details window displays information about this message instance. 10. In the left pane, click Context. The Context tab of the Message Details window displays the message context information that is used to route and track the message. 11. In the left pane, click body. The body tab of the Message Details window displays the message body. 12. Close the Message Details dialog box, and then close the Service Details dialog box. 13. In Internet Explorer, navigate to http://BIZTALKDEMO/PurchaseOrderAck. 14. Click the message, and then in the File Download dialog box, click Open. If the Microsoft Office Activation Wizard window appears, click on its Cancel button. Take note of the Customer Name; it is either Contoso or Fabrik. 15. In the Status list, choose Accept, and then close the form, saving your changes. 16. In Windows Explorer, navigate to C:\AllFiles\LabFiles\Module 4\Messages\PurchaseOrderAck, and notice that the processed message is here. It might take up to one minute for the message to appear. 17. In the BizTalk Server Administration Console, click the Group Hub tab, and then press the F5 key to refresh the data. The running service instance has now been completed and is no longer displayed here. 18. Under Suspended Items, click Resumable. 19. In the lower pane, double-click the service instance with a Service Name of PurchaseOrders. The General tab contains information such as the start time, service class, and status of the selected service. 20. Click the Error Information tab. You can use the information on this tab to troubleshoot errors in the message. You can also use Event Viewer to see BizTalk error messages. 21. Click the Messages tab. 22. Double-click the message in the lower pane. 23. In the Message Details dialog box, click body. Notice in the first line that the namespace (xmlns:ns0=“http://BADNAMESPACEDATA”) is not a valid namespace, in that there are no assemblies deployed with a schema with this namespace. The namespace should be http://MyCompany/OrderMgmt.PurchaseOrder. 24. On the File menu, click Save Message, and then click OK. 25. In the BizTalk Server Administration Console message box, click OK. 26. In the Browse for Folder dialog box, navigate to C:\AllFiles\LabFiles\Module 4\Messages, and then click OK. 27. In the BizTalk Server Administration Console message box, click OK. 28. Close the Message Details window, and then close the Service Details window. 29. In the lower pane, right-click the PurchaseOrders service, and then click Terminate Instance. 30. Click Yes, and then click OK. 31. Click the Run Query button, and notice that there are no more Suspended (resumable) instances. 32. In Windows Explorer, navigate to C:\AllFiles\LabFiles\Module 4\Messages. Notice the two new files that have been created; one is the context of the saved message, the other is the message itself, saved as an OUT file. 33. Rename the {GUID}_{GUID}_body.out file FixedNameSpace.xml. 34. Right-click FixedNameSpace.xml, and then click Edit. 35. In the first line of the message, change http://BadNameSpace to http://MyCompany/OrderMgmt.PurchaseOrder, and then save and close the message. 36. Copy FixedNameSpace.xml to the PurchaseOrderIN folder, and then navigate to the PurchaseOrderAck folder and notice that the message was processed correctly. 37. Close all open windows, and pause the bt10a-04 virtual machine. Lesson 3: Scripting Administrative Tasks Lesson objective: In this lesson, you will learn how to: Administer BizTalk operations by using command-line tools and scripts. Lesson Overview BizTalk applications are made up of assemblies that contain schemas, maps, pipelines, and orchestrations. The assemblies must be deployed to both the BizTalk Configuration database and the global assembly cache (GAC) before an application can begin to process messages. In addition to using MSI packages and the BizTalk Server Administration Console to deploy BizTalk Server assemblies, you can also use WMI to script assembly deployments and other administrative tasks by using command-line utilities. This lesson shows you how to automate common BizTalk administration tasks by using command-line utilities. The BizTalk Server 2010 software development kit (SDK) includes several examples of how this can be performed. In a default BizTalk Server installation, these examples can be found in C:\Program Files\Microsoft BizTalk Server 2010\SDK\Samples\Admin. Deploying from the Command Prompt Deploy a BizTalk application by using command-line tools. Deploying by Using BTSTask You can use the BTSTask command-line utility to perform many of the same tasks as the BizTalk Server Administration Console; the restrictions are the same as those when deploying assemblies by using the BizTalk Server Administration Console. By using BTSTask, you can register BizTalk assemblies in the BizTalk Configuration database and deploy them to the global assembly cache (GAC). When to Use BTSTask The following BTSTask command adds the assembly named NewAssembly.dll to the DemoApp application, overwriting the assembly if it already exists. The application resides (or will be created) in the BizTalkMgmtDb database, which is the default Configuration database for BizTalk. The SQL Server is named SQL6. BTSTask AddResource /ApplicationName:DemoApp /Type:BizTalkAssembly /Overwrite /Source:"C:\Source Assemblies\NewAssembly.dll" /Destination:"C:\New Assemblies\NewAssembly.dll " /Options:GacOnInstall,GacOnImport /Server:SQL6 /Database:BizTalkMgmtDb With the GAC options specified, the assembly will be installed to the GAC either when imported or when installed. Only one option is required, but executing the command this way will ensure that if the application is later exported to an MSI package, both settings are provided. The parameter values listed here are not case-sensitive, and you can type only the first few letters of the parameter name to specify it unambiguously. Refer to the BizTalk Server 2010 online documentation about either the “BTSTask” or “AddResource command” for more help on deploying assemblies by using BTSTask. Removing Deployed Assemblies Remove a BizTalk application by using command-line tools. Overview Undeploying an assembly removes it from the BizTalk Configuration database and, optionally, from GAC. You can undeploy an assembly by using BTSTask. Undeploying by Using BTSTask To undeploy an assembly by using the BTSTask utility, use the RemoveResource command. You can use the BTSTask command-line utility to perform the same tasks as the BizTalk Server Administration Console; the restrictions are the same as when undeploying assemblies by using the BizTalk Server Administration Console. The syntax for removing an assembly by using BTSTask is: BTSTask RemoveResource ApplicationName LocallyUniqueIdentifier ServerName DatabaseName Refer to the BizTalk Server 2010 online documentation on “BTSTask” for more information about undeploying assemblies by using BTSTask. Creating and Binding Ports by Using the Command Prompt Export and import binding files by using command-line tools. Overview As described earlier, a port binding specifies the entry points into the BizTalk application and is most often used to associate logical ports in an orchestration with physical send and receive ports. The port binding contains configuration information that specifies where and how a message is to be sent or received. Exporting a Binding File by Using the Command Prompt To export a binding file for a deployed orchestration by using the command prompt, use the BTSTask utility with the ExportBindings option. This allows you to export bindings for a BizTalk assembly, application, or group and save the binding file as an XML file for later use on another server or in another environment. An example of using ExportBindings is as follows: BTSTask ExportBindings /Destination:"C:\Binding Files\MyBindings.xml" /GroupLevel /Server:MyDatabaseServer /Database:BizTalkMgmtDb Refer to “BTSTask ExportBindings Command” in the BizTalk Server 2010 documentation for more information about each of the parameters that can be used. Importing a Binding File by Using the Command Prompt To import a binding file for a deployed orchestration by using the command prompt, use the BTSTask utility with the ImportBindings option. This allows you to import bindings for a BizTalk assembly, application, or group from a previously created XML file. An example of using ImportBindings is as follows: BTSTask ImportBindings /ApplicationName:MyApplication /Source:C:\Bindings\Binding1.xml Refer to the topic “BTSTask ImportBindings Command” in the BizTalk Server 2010 documentation or more information about each of the parameters that can be used. Managing Applications by Using the Command Prompt Export and import binding files by using command-line tools. Overview In addition to using the BTSTask command-line utility for deploying and undeploying assemblies and exporting and importing binding files, a number of other actions can be performed, including: Adding a BizTalk application to the BizTalk Configuration database by using the AddApp command. Listing all of the resources in an MSI file by using the ListApps command. Listing all of the resources for an application by using the ListApps command. Listing all of the applications in the BizTalk Configuration database by using the ListApps command. Listing all of the artifact types supported by BizTalk Server by using the ListTypes command. Refer to “BTSTask Command” in the BizTalk Server 2010 documentation for more information about each of the parameters that can be used. Demonstration: Managing BizTalk Server Applications by Using BTSTask In this demonstration, you will see how to script administrative tasks by using the BTSTask command-line utility. You will use BTSTask to add resources to an application and remove resources from an application. To Add an Assembly to an Application 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 the following command and then press ENTER. BTSTask AddResource -ApplicationName:Module4 -Type:System.BizTalk:BizTalkAssembly -Source:C:\AllFiles\DemoCode\Module4\OrderManagement.dll -Destination:C:\Allfiles\DemoCode\Module4\Orders.dll 4. On the Start menu, point to All Programs, point to Microsoft BizTalk Server 2010, and then click BizTalk Server Administration. 5. In the BizTalk Server Administration Console, expand BizTalk Server Administration, BizTalk Group, Applications, and Module4, and then click Orchestrations. 6. Notice that two new orchestrations have been added for Version 5.0.0.0 of the orchestration. 7. If they are not already unenlisted, right-click both Version=4.0.0.0 orchestrations, and then click Unenlist. Unenlist the ProcessOrder.OrchProcessOrder first. To Remove an Assembly from an Application 1. In the command prompt window, type the following command and then press ENTER. BTSTask RemoveResource -ApplicationName:Module4 -Luid:"OrderManagement, Version=4.0.0.0, Culture=neutral, PublicKeyToken=f77ab8a2e6630f49" 2. In the BizTalk Server Administration Console, refresh the view, and notice that the Version 4.0.0.0 assembly has been removed. 3. Pause the bt10a-demos virtual machine. Lab 4c: Scripting Administrative Tasks Time estimated: 15 minutes Scenario BTSTask is a command-line utility used by BizTalk Server administrators for performing common administrative tasks such as exporting an application to an MSI file, adding BizTalk Server applications to a computer running BizTalk Server, or removing applications from a computer running BizTalk Server. BTSTask can be used to script actions that are performed multiple times on one or more servers. In this lab, you will use BTSTask to export an application to an MSI file, remove the exported application, and then import a separate MSI package. More information about the use of BTSTask can be obtained by typing BTSTask /? at the command prompt. Preparation You must have successfully completed the previous lab before starting this lab. Exercise 1: Export and Remove an Application by Using BTSTask Overview Exporting an application to an MSI package groups all assemblies, ports, other artifacts, and binding information into an MSI package for easy distribution to other computers running BizTalk Server. In this exercise, you will export the Module 4 application to an MSI package by using the BTSTask command-line utility. You will then remove the Module 4 application. Export the Module 4 Application Procedure List 1. On the Start menu, click Run. 2. In the Open box in the Run dialog box, type cmd, and then press ENTER. 3. In the command prompt window, type btstask /?, and then press ENTER to view the available commands. 4. Type the following command and then press ENTER. BTSTask ExportApp –ApplicationName:“Module 4” –Package:“C:\ExportMod4.msi” This step packages up all ports and artifacts in the Module 4 application into the ExportMod4.msi file. Remove the Module 4 Application Procedure List 1. On the Start menu, point to All Programs, point to Microsoft BizTalk Server 2010, and then click BizTalk Server Administration. 2. In the BizTalk Server Administration Console, expand BizTalk Server Administration, BizTalk Group, Applications, right-click Module 4, and then click Stop. You must stop the application before you can remove it from the computer running BizTalk Server. 3. In the Stop ‘Module 4’ Application dialog box, click Full Stop – Terminate instances, and then click Stop. Performing a full stop terminates any running, suspended, or dehydrated instances of the orchestration. If any running, suspended, or dehydrated instances are present in memory, the remove will fail. 4. In the command prompt window, type the following command and then press ENTER. BTSTask RemoveApp –ApplicationName:“Module 4” 5. In the BizTalk Server Administration Console, right-click Applications, and then click Refresh. Notice that the Module 4 application is no longer listed. Exercise 2: Import a BizTalk Application by Using BTSTask Overview In this exercise, you will import a BizTalk Server application by using a MSI package. After the application has been imported, you will configure and start the application. The Module 4 BAM application will be used in the next lab to test Business Activity Monitoring. Import the Module 4 BAM Application Procedure List 1. In the command prompt window, type the following command and then press ENTER. BTSTask ImportApp -Package:"C:\AllFiles\LabFiles\Module 4 BAM\Module4-BAM.msi" -ApplicationName:"Module 4 BAM" 2. In the BizTalk Server Administration Console, right-click Applications, then click Refresh and notice that the Module 4 application has been removed, and that the Module 4 BAM application has been deployed. 3. Right-click Module 4 BAM, and then click Configure. 4. In the Configure Application window, click OrderMgmtProcess, notice that the ports and host have been configured, and then click OK. 5. Right-click Module 4 BAM, and then click Start. Starting the application enables any receive ports, starts any send ports, and makes the application available for testing. 6. In the Start ‘Module 4 BAM’ Application dialog box, click Start. 7. Close all open windows and pause the bt10a-04 virtual machine. Lesson 4: Monitoring Business Activity Lesson objective: In this lesson you will learn how to: Monitor business activity by using Business Activity Monitoring (BAM). Lesson 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 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. Gaining Visibility into Business Processes Describe how BAM is used to gain visibility into running business processes. Overview 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 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. BAM also provides auditing capabilities by being able to answer the how or why a message was processed. BAM enables you to determine how your business is performing by answering questions such as: How long did it take for this process to be approved? How quickly was this order filled after it was received? How many process cycles occurred in the last month? In the last year? How many purchase orders were processed last week? How large is our total revenue this year? By aggregating data, BAM provides an overview of trends experienced in the business while allowing users to investigate individual instances. This visibility in a near real-time environment is tremendously beneficial for making critical business decisions. What Is Business Activity Monitoring? Describe what BAM is and how it can be used by IT Professionals for monitoring business activities. Overview BAM makes it possible for developers, business analysts, and end users, working collaboratively, to extract the data they need from their business processes. The BAM roles and the tools associated with these roles are as follows: Business analysts use a Microsoft Office Excel® 2003 add-in, and optionally Orchestration Designer for Business Analysis (ODBA), which integrates into Microsoft Office Visio® 2003, to define the business requirements in a data collection model. This model includes process milestones and the key performance indicators (KPIs) needed to monitor execution of the business process. At this stage, the business analyst also creates one or more views, which can include Excel pivot tables and pivot charts. For example, sales managers might require a different level of detail from a customer service representative or a vice president of loss prevention. Systems administrators use the BAM Manager to deploy the business requirements into the BAM databases. This process creates the table structure required to collect the data, as well as the online analytical processing (OLAP) cubes. Views defined previously are rendered for the BAM Portal. Developers map the business processes to run-time components by using the Tracking Profile Editor (TPE) for BizTalk Server. This tool links the data collection model created by the business analyst to the implementation of the model created as an orchestration by the developer. Any user with sufficient permissions and an interest in the collected data can use the BAM Portal to view, aggregate, and drill down into 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 components that BAM uses include: BizTalk Primary Import database. This database acts as the principal collection point for 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 OLAP cubes, which are also dynamically generated, along with the necessary Data Transformation Services (DTS) packages and a staging database. Real-Time aggregations (RTA). Special tables are created in which triggers are used to maintain the aggregations synchronously along with the incoming events. BAM interceptors. The collection of 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 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. Enabling Business Activity Monitoring (Analyst Role) 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. The next four topics discuss configuring, deploying, and consuming BAM data. Business Analyst Role The role of the business analyst is to create a BAM activity definition and to create the views that will be available to end users to view the business processes. Generally, business analysts do not know or need to know what the actual orchestration that defines the business process looks like. They know only the information that is important for tracking the order in which the process occurs. Create Activity Analysts use Excel 2003 to create activities that identify in list form the KPIs of the business processes—for example, receiving and processing a purchase order (PO). These activities will include milestones (the receipt of a PO or the sending of an invoice, for example), as well as 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. Optionally, a business analyst might choose to start with ODBA (an add-in in Visio 2003) to model the initial activity. This tool provides a graphical view of the business process that might aid in identifying the flow and KPIs. Although ODBA existed earlier, this use of ODBA is new in BizTalk Server 2010. For more information about other uses of ODBA, refer to the Help file for BizTalk Server 2010. The BAM add-in is a freely distributable add-in included in BizTalk Server 2010. Each workbook will contain one activity, which might have multiple views. Create View(s) After the activity has been defined, the business analyst will use Excel to create one or more views of the data—this will be the case even if the process was begun in ODBA. To begin the view creation process, the business analyst will define: Durations. The period of time between two milestones—for example, OrderCycleTime might be the time from the receipt of a PO to delivery of the product. Dimensions. Used for grouping data logically—for example, by city and state or by customer name. Dimensions can also include ranges—for example, low, medium, and high total amounts on POs. Measures. Identify averages and counts—for example, the AverageOrderCycleTime representing the average of the OrderCycleTime duration identified earlier, or the POCount representing the total number of POs processed. After the durations, dimensions, and measures have been defined, the business analyst will create a PivotTable® view, and optionally a PivotChart®, to display the data defined in the view. A single activity can have multiple views—for example, the data that interests a sales manager might be different from the data that interests the vice president of loss prevention or a customer service representative. The analyst would proceed through the view creation process as many times as necessary to create the required views. After the views are completed, the workbook is saved and handed off to the systems administrator for deployment. Enabling Business Activity Monitoring (Administrator Role) Describe the role of the systems administrator in enabling Business Activity Monitoring. Systems Administrator Role The role of the systems administrator in enabling BAM is limited to deploying the workbook 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. The steps in deploying a workbook are as follows: 1. Copy the workbook to the BAM Tracking folder (C:\Program Files\Microsoft BizTalk Server 2010\Tracking). 2. Deploy activity definition by using BM deploy command prompt utility with the appropriate option and provide the name of the definition file created in step 1. Example of Using BM deploy command prompt utility 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 Refer to the BizTalk Server 2010 Help files for more information on updating, unconfiguring, and viewing BAM Management data. Enabling Business Activity Monitoring (Developer Role) Describe the role of the developer in enabling Business Activity Monitoring. Tracking Profile Editor (TPE) 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 the following two elements: One or more BizTalk assemblies that have been deployed in the BizTalk Configuration database. Each assembly can contain one or more orchestrations. The Activity created by the business analyst that has been deployed to the tracking database by using the BAM Management tool. This process 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 and dropped onto 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 all the KPIs in the activity have been identified, the profile is deployed, and the collection of data begins immediately. As long as the activity file does not change, it is possible to modify how and from where the data is collected— 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 new 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 2.0 Web portal (meaning that it does not rely on Microsoft Windows SharePoint® Services). 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 predefined 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 as well as 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 of particular threshold conditions being 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 In this demonstration, you will see how to implement an existing Business Activity Monitoring activity for a BizTalk Server solution. 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 C:\Program Files (x86)\Microsoft BizTalk Server 2010\Tracking, and then press ENTER. 4. In the command prompt window, type the following command, and then press ENTER. bm deploy-all -DefinitionFile:C:\AllFiles\DemoCode\Module4BAM\OrderMgmt.xml 5. In Windows Explorer, navigate to C:\AllFiles\DemoCode\Module4-BAM , and double-click cfgBAMPart.cmd. This script essentially disables the caching performed by SQL Analysis Services of the data used to populate the OLAP cube. This will allow us to see the OLAP cube update within seconds, for the purposes of this demo. You should not, of course, disable this caching under normal circumstances. 6. After the command completes, close the command prompt windows. Prepare for BAM Data Collection 1. On the Start menu, point to All Programs, point to 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\Module4-BAM\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, writing 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 Tracking Profile Editor. Test BAM Functionality 1. In Windows Explorer, double-click C:\AllFiles\DemoCode\Module4BAM\Send20POs.bat. 2. In Internet Explorer, browse to http://BIZTALKDEMO:8080/BAM. 3. Maximize the Internet Explorer window. 4. In the My Views task pane, expand Aggregations, and then click Order Progress. 5. If the Microsoft Office 2003 Web Components dialog box appears, click OK. 6. In the pivot table, expand the Received, Approved, and Evaluation cells to show the status of the various completed processes. 7. Notice the relationship between the data in the graph and the pivot table. 8. In Windows Explorer, double-click C:\AllFiles\DemoCode\BAM\Send20POs.bat. 9. Immediately switch back to Internet Explorer and refresh the page. 10. In the Microsoft Internet Explorer dialog box, click Retry. 11. Expand the Received, Approved, and Evaluation cells to show the status of the various completed processes. 12. Notice that the counts have increased. 13. In the pivot table, right-click the cell that contains the total count for Fulfillment, and then click Show Results. 14. Click any link in the City column. 15. In the My Views task pane, click OrderMgmt. 16. In the Query section, in the Business Data list, click City. 17. In the Value box, type LosAngeles. 18. In the Column Chooser section, select all the data and milestones, and then click Add (>>). 19. Click Execute Query. 20. The details for each order in which the selected city was LosAngeles are displayed. 21. Double-click any row in the Results section, and notice that the level of detail is the same as was seen previously. 22. Close Internet Explorer. 23. Shut down the bt10a-demos virtual machine. Lab 4d: Monitoring Business Activity Time estimated: 60 minutes Scenario BAM is a tool that is used to gather business data from archived and running business processes. In this lab, you will use several tools, spanning multiple user roles, to configure BAM to analyze data being processed by BizTalk Server. Preparation You must have successfully completed the previous lab before starting this lab. 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. 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. 6. Navigate to C:\Program Files (x86)\Microsoft BizTalk Server 2010\ExcelDir, click Bam.xla, and then click OK. 7. in the Add-Ins available list, check Business Activity Monitoring, then click OK. 8. In the Excel menu ribbon, on the Add-Ins tab, click BAM, and then click BAM Activity. 9. In the Business Activity Monitoring Activity Definition dialog box, click New Activity. 10. In the Activity name box, enter OrderMgmt. 11. 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. 12. 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. 13. 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 4. On the New BAM View: Aggregation Dimensions and Measures page, click New Measure. 5. In the New Measure dialog box, in the Measure name box, type AvgCycleDuration. 6. In the Base data item list, click CycleDuration (OrderMgmt). 7. 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 “\Program Files (x86)\Microsoft BizTalk Server 2010\tracking”, and then press ENTER. 4. In the command prompt window, type bm.exe deploy-all -DefinitionFile: “C:\AllFiles\LabFiles\Module 4 BAM\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 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 TheImplementationOfOrderMgmt.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 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 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 TheImplementationOfOrderMgmt.OrderMgmtProcess, and then click OK. 4. Drag the FulfillmentDelay shape from the orchestration to the approved milestone in the left pane. 5. 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. 6. 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 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 TheImplementationOfOrderMgmt.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, verify that the profile was deployed successfully, and then 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. Ensure that the BizTalk Services are started Procedure List 1. In Windows Explorer, navigate to C:\AllFiles. 2. Double click on startBtServices.cmd. 3. When prompted, press any key to close the command-line window. Configure SQL Server Analysis Services Proactive Caching Procedure List 1. In Windows Explorer, navigate to C:\AllFiles\LabFiles\Module 4 BAM and doubleclick cfgBAMPart.cmd. 2. When prompted, press any key to close the command-line window.. This script configures SQL Server Analysis Services to refresh the OrderMgmt OLAP cube every second. While this may be suitable in a development environment, it would severely affect performance as the application processes under heavier load. Generate Initial Inbound Flow of Purchase Orders Procedure List 1. In Windows Explorer, double-click the file C:\AllFiles\LabFiles\Module 4 BAM\Messages\Send20POs.bat. The batch file used here generates 20 test orders so that you will have some data to analyze in this exercise. 2. Close the Command Prompt window. 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 1. Double-click the file C:\AllFiles\LabFiles\Module 4 BAM\ Messages\Send20POs.bat to create and submit 20 new purchase orders. Review the Detailed Status Information Procedure List 1. Click the plus sign (+) to expand the function named Activity Search, and then click OrderMgmt. 2. 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. 3. 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. Module 5: Administering a BizTalk Server Environment Time estimated: 45 Minutes Module objective: In this module, you will learn: Manage a BizTalk Server environment Overview Now that you have learned about installing and configuring Microsoft BizTalk Server 2010 in your business environment and how to create and deploy BizTalk applications, the lessons in this module will provide you with important information about how to administer your BizTalk Server installation on an ongoing basis, as well as how to back up and restore your computers running BizTalk Server in case of failure. Lesson 1: Managing a BizTalk Server Group Lesson objective: Manage BizTalk Server group operations Lesson Overview BizTalk Server provides a number of administration features for managing multiple computers running BizTalk Server. Most administration tasks can be performed by using the BizTalk Server Administration Console. The topics in this lesson provide essential information about managing BizTalk groups and databases, as well as working with BizTalk hosts and host instances. Identifying Server Operations Tasks Identify common tasks when administering a BizTalk Server group Overview BizTalk Server provides the ability to coordinate application activity and transaction processing; dynamically route messages, validate and transform data, apply encryption and digital signatures, and transport data over a variety of adapters. The BizTalk Server Administration Console allows you to manage and control multiple installations of BizTalk Server. Tasks that you can perform by using the BizTalk Server Administration Console include: Adding and managing computers running BizTalk Server to a BizTalk group. Configuring BizTalk group properties. Adding and configuring MessageBox databases. Creating hosts. Creating and managing host instances that run on separate computers running BizTalk Server 2010. Configuring and managing adapters. Creating and managing receive locations. Creating and managing send ports and send port groups. Enlisting and starting orchestrations and ports. Managing BizTalk Groups Identify common properties of a BizTalk Server group Overview A BizTalk Server group is an organizational unit that represents an enterprise, a department, a hub, or other business unit that requires a contained BizTalk Server implementation. Multiple computers running BizTalk Server can be in a single BizTalk group, but all servers in the group share a BizTalk Configuration database (the BizTalkMgmtDb database). The BizTalk Configuration database stores configuration information for the BizTalk group and the servers in that group. The configuration information contained in this database specifies part of the message-processing logic, such as BizTalk maps and orchestrations, as well as where the logic will be physically executed. BizTalk Group Properties Many of the properties of the BizTalk group can be managed through the BizTalk Server Administration Console, by right-clicking the group and then clicking Properties in the context menu. General Page When storing and retrieving large messages from the MessageBox database or databases, BizTalk Server supports fragmenting the messages which can significantly enhance runtime performance. Fragmenting enables BizTalk Server to handle very large messages (for example, messages that are several gigabytes [GB] in size). The following properties specify when and how messages are to be fragmented: Performance—Large Message Threshold (bytes). Messages of the specified size or larger will be fragmented. The default is 102,400 bytes. Performance—Large Message Fragment Size (bytes). This is the fragment size for messages that will be fragmented. The default is 102,400 bytes. In addition to the properties affecting large messages, the following properties can be specified on the General tab as well: SSO Server Name – This is the name of the Enterprise Single Sign-On (ESSO) server that the BizTalk Server uses to connect to the encrypted Credential database. This database contains all of the credentials used by all adapters to connect to their respective endpoints, which unless encrypted would provide a possible security vulnerability. This database is contacted each time BizTalk Server accesses the adapters’ configuration information. Performance – Cache Refresh (Seconds)l – This is the interval at which all items stored in the administration cache, such as MessageBox databases, server properties, adapters, and connections to the Tracking database are refreshed. The default is 60 seconds and would not typically need to be changed. Databases Page This tab provides a read-only view of the principal databases in use by BizTalk as well as the computer running Microsoft SQL Server™ on which they are located. Certificate Page This tab lists the digital signature certificate, including a certificate description and a thumbprint of the certificate with which outbound messages will be signed. This certificate must be added to the Personal certificate store on each computer running BizTalk Server for the user account associated with the host that will be signing the messages. Certificates in this store can be displayed by clicking the Browse button. Managing the MessageBox Databases Explain the importance of MessageBox databases and common administrative tasks associated with MessageBox databases. Overview The MessageBox databases store the queues and state tables for each BizTalk host, messages and message properties as well as message subscriptions and tracking information. The databases also deliver the messages to the services that have matching subscriptions. Multiple MessageBox Databases MessageBox databases are the basis for work-item load balancing across multiple computers running BizTalk Server that perform cooperative processing. Initially, the BizTalk Server group has a single MessageBox database. To increase the number of messages that your system can process and to improve performance in general, you might eventually need to create additional MessageBox databases. Multiple MessageBox databases, however, do not provide fault tolerance. All MessageBox databases are treated as a single logical MessageBox, with the Master MessageBox routing messages to the other databases for storage. When multiple MessageBox databases exist within a BizTalk group, a single physical database, the Master MessageBox database, is responsible for performing all the routing, while any additional databases store the messages. There is never a performance improvement in creating a second MessageBox database. The improvement in performance comes in the creation of the third and subsequent databases. For this reason, you should have either one MessageBox database or three or more. For example, when you have a single MessageBox database, it performs all the message storage itself and no routing is necessary. When a second database is added, the roles are split, with the first database (the Master MessageBox) doing the routing and the second database storing the messages. This results in a slight performance decline, as the messages are being handled twice. Adding a third MessageBox database now splits the load of storing messages between two databases while the routing continues to be performed by the Master. Adding MessageBox Databases Adding MessageBox databases is done in the BizTalk Administration Console, in the Platform Settings section. Provide the SQL Server name and database name. The SQL Server Agent is responsible for the execution of several scheduled jobs related to the MessageBox databases; for this reason, the SQL Server Agent should be configured to start automatically on any computers running SQL Server that will be hosting BizTalk MessageBox databases. In situations where the MessageBox is experiencing deadlocks (multiple writes to the same table being attempted at the same time), adding additional databases on the same instance of SQL Server might be beneficial. When resources (memory, disk access speed, and so on) on the instance of SQL Server become the bottleneck, you might consider adding MessageBox databases to other computers running SQL Server. Once created, the new databases will immediately begin receiving, storing, and routing messages to subscribers. Disabling New Message Publication If you want to create the MessageBox but not begin using it immediately or if you need to take the computer running SQL Server where the database is maintained offline for maintenance, you can disable new message publication by selecting the appropriate check box in the MessageBox Properties window. This effectively takes the MessageBox offline and disables any new messages being sent to it. In situations where multiple MessageBox databases exist, it is generally beneficial to disable new message publication on the Master MessageBox. This takes this database out of the round-robin selection process used by BizTalk Server to determine where messages should be routed and will generally improve performance. Deleting MessageBox databases Situations might arise in which you want to delete a MessageBox database from a BizTalk group. For example, you might want to delete a MessageBox database used for a series of tests now concluded. Deleting a MessageBox database from a BizTalk group does not physically remove the database from the computer running SQL Server. To remove the MessageBox database completely and permanently, you must remove it manually from computer running SQL Server after it has been removed from the BizTalk group. The steps to permanently and completely remove a MessageBox database from your BizTalk deployment are as follows: 1. Disable new message publication on the MessageBox database you will be deleting. 2. Wait for the cache refresh interval to expire. The wait time is defined as twice the length of the cache refresh interval, and the default cache refresh interval is 60 seconds. This value can be changed in the Properties window for the BizTalk group. 3. Delete the MessageBox database from the BizTalk group by using the BizTalk Server Administration Console. 4. Restart host instances that contain cached connections to the MessageBox database. 5. Stop all in-process host instances that access the MessageBox database. 6. Ensure that any background SQL Server Agent jobs have finished executing. 7. Remove the MessageBox database from the computer running SQL Server. You can also use Microsoft Windows® Management Instrumentation (WMI) to add, disable, and delete MessageBox databases. For more information, refer to the topic “Deleting a MessageBox Database” in the BizTalk Server 2010 documentation. What Is a BizTalk Host? Explain the purpose of BizTalk Server hosts and common administrative tasks associated with hosts. BizTalk Host A host is a logical container representing one or more BizTalk Server run-time instances. Hosts are virtual process boundaries that provide an administrative and a security context for running instances of a BizTalk application. A BizTalk host provides a container for items such as adapter handlers, receive locations (including pipelines), and orchestrations. Host Types BizTalk offers two types of hosts, In-Process and Isolated. When the first computer running BizTalk Server is installed for a BizTalk group, one host of each type is created. The physical configuration and the type of adapter will determine which host must be used. In-Process Hosts By default, a BizTalk installation creates an In-Process Host (BizTalkServerApplication) that is used for most host-related functions. The In-Process Host is implemented as a Microsoft Windows NT service (BTSNTSvc.exe) and is associated with all orchestrations, send handlers, and most receive handlers. In-Process Hosts have the following characteristics: Orchestrations must be run under an In-Process Host. Built-in send handlers must use In-Process Hosts. Only adapter receive handlers associated with In-Process-type adapters such as the File and MSMQ adapters are supported. The first In-Process Host you create in a BizTalk Server 2010 deployment is the default host and you cannot delete it, although another In-Process Host can be defined as being the default. Isolated Hosts The Isolated host is used in conjunction with the HTTP and some WCF receive handlers. Isolated Hosts have the following characteristics: They primarily host adapters that are designed to run outside of the normal BizTalk Server runtime process; for example, external processes such as IIS application pools. Used with adapters which are hosted in a process other than the BizTalk process including socket adapters and many application adapters. These adapters run in their own space and send BizTalk the results of their findings. The default Isolated Host is associated with the HTTP adapter and the WCF adapters that run in the Internet Information Services (IIS) process. Isolated Hosts cannot be the default host. When viewed in BizTalk Server Administration Console, these hosts always have a status of Status Unavailable since BizTalk Server does not access the status information of external processes. Creating Hosts Any items running in a host (for example, orchestrations, pipelines, and receive and send handlers) run under the same identity and have access to the work and suspended queues for that host. As a result, it is recommended that you create different hosts for each function to provide security boundaries for different applications and to make management of the BizTalk hosts more granular. In particular, it is recommended that you use different hosts for orchestration processing and for receive and send functionality. You should also separate trusted and untrusted items. The Advanced Property page for each host in the BizTalk Administration Console has properties that can be set to restrict (throttle) BizTalk processing to ensure that system resources are employed optimally and that the host performance does not deteriorate as a result of higher messaging loads. Creating BizTalk Host Instances Explain the purpose of host instances, including the relationship between host instances and hosts. What is a host instance? A host instance is the physical installation of a host on a BizTalk Server computer. An administrator can use either the BizTalk Administration console or Windows Management Instrumentation (WMI) to install host instances. Each BizTalk Server in a group can support multiple host instances, though only a single instance of each host. Adding Host Instances After you create a host, you can associate one or more computers running BizTalk Server with this host. Each association is known as a host instance and can run any processes associated with the host. Although each host can have multiple instances (running on separate computers running BizTalk Server), each server can have at most one instance of a given host. When adding a new instance of the host, the server names and logon credentials must be provided. The account specified here must be a member of the group identified when the host was created. Members of that group have permissions to execute this host. After an instance is added, a new Windows NT service (BTSNTSrrv.exe) will be added to the computer running BizTalk Server named BizTalk Service BizTalk Group: NewHostName, which is configured to start automatically. There are also four possible status states in the Installation Status column in the results pane for hosts in the BizTalk Administration Console: Installation failed – This status is displayed when BizTalk Server cannot install the host instance. In order to install a host, you must have privileges to create a Windows service, and to grant SQL Server logon and access rights for the BizTalk databases to the Host Windows user group. You might also get this error if network problems interrupted the installation. Installed – You installed the host instance successfully. Un-installation failed – Deleting the host instance failed. Not installed – No host instances are installed. Host Instance Status Host instances can be in one of the following statuses as shown in the Status column: Start pending – A host instance is in this state when you have started the host instance but there is some delay between starting the host instance and the change taking effect. Click the refresh button to see the status change. Running – The host instance is currently running. Stopped – The host instance is currently stopped. Status Unavailable – This status displays for a host when the host instance install or uninstall fails or when BizTalk Server cannot retrieve status information for that host. Isolated hosts display Status Unavailable because the processes it contains are external to BizTalk Server. Demonstration: Managing BizTalk Server Operations In this demonstration, you will see how to view global properties for an adapter, create a new host and host instance, change the host used by an orchestration, and create a new MessageBox. To Examine Global Properties for Adapters 1. On the Start menu, point to All Programs, point to Microsoft BizTalk Server 2010, and then click BizTalk Server Administration. 2. Expand BizTalk Server 2010 Administration, expand BizTalk Group, expand Platform Settings, and then expand Adapters. The global settings for BizTalk adapters are considered the default configuration for all instances of the adapter. However, these settings can be overridden at the port level. 3. Click FTP. 4. In the right pane, double-click the Receive direction handler. 5. In the Adapter Handler Properties dialog box, click Properties. Configuring adapter properties at the BizTalk Group level prevents you from having to duplicate settings each time an adapter is configured to be used by a port. 6. Notice the sections for the Batch, Firewall, FTP, and Tuning Parameters settings. 7. Click OK twice. 8. In the BizTalk Server Administration Console dialog box, click OK. 9. In the left pane, collapse Adapters. To Create a New BizTalk Host 1. In the left pane of the BizTalk Server Administration Console, click Hosts. 2. Right-click Hosts, point to New, and then click Host. 3. In the Name field, type NorthwindDedicatedHost. 4. In the Windows group field, type ADVENTUREWORKS\BizTalk Application Users. 5. Click OK. To Create a New BizTalk Host Instance 1. In the left pane of the BizTalk Server Administration Console, click Host Instances. 2. Right-click Host Instances, point to New, and then click Host Instance. 3. Set the Host name to NorthwindDedicatedHost, and then set Server to BIZTALKDEMO. 4. Click Configure. 5. In the Logon Credentials dialog box, type BizTalkHost as the logon name and pass@word1 for the password. 6. Click OK. 7. In the right pane, right-click NorthwindDedicatedHost, and then click Start. To Change the Host Used by an Orchestration 1. In the left pane of the BizTalk Server Administration Console, expand Applications, and then expand Module5. 2. Right-click the Module5 application, and then click Stop. 3. In the Stop ‘Module5’ Application dialog box, click Full Stop – Terminate instances, and then click Stop. 4. Click Orchestrations, and then double-click Orders.OrderProcesses.NorthwindProcessOrderType. 5. In the Orchestration Properties dialog box, click Bindings in the left pane, and then click NorthwindDedicatedHost in the drop-down list. 6. Click OK. 7. Right-click the Module5 application, and then click Start. To Test the Orchestration Running on the New Host 1. In Windows Explorer, navigate to C:\AllFiles\DemoCode\Module5\Northwind Messages. 2. Copy and paste CustomerOrder1.xml into this folder. The application is configured to pick up all XML files that end with Copy. The Copy of CustomerOrder1.xml file disappears, and three new messages appear. 3. Rename the ReqSupA{GUID}.xml message to Resp ReqSupA{GUID}.xml. The orchestration is waiting for a response. The port is configured to pick up all XML files that begin with Resp. The Resp ReqSupA{GUID}.xml file disappears, and a Completed{GUID}.xml file appears. To Create a New MessageBox Database 1. In the left pane of the BizTalk Server Administration Console, under Platform Settings, click Message Boxes. 2. Right-click Messages Boxes, point to New, and then click Message Box. 3. In the Message Box Properties dialog box, type BIZTALKDEMO in the SQL server field, and then type BizTalkMsgBoxDb2 as the Database. 4. Click OK. Having two MessageBox databases will result in decreased performance. A BizTalk group should have either a single database or more than two. 5. Pause the bt10a-demos virtual machine. Lab 5a: Managing a BizTalk Server Group Time estimated: 15 Minutes Scenario You can create additional BizTalk hosts and MessageBoxes to provide for scalability and security. In this lab, you will create a new BizTalk host. You will also create a new BizTalk MessageBox database. 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 bt10a-05 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, and then click OK. Ensure that the BizTalk Services are started Procedure List 1. In Windows Explorer, navigate to C:\AllFiles. 2. Double click on startBtServices.cmd. 3. When prompted, press any key to close the command-line window. Exercise 1: Manage BizTalk Hosts Overview BizTalk hosts provide the context that BizTalk Server components (orchestrations and ports) run under. Using multiple hosts can provide scalability and security for the BizTalk Server environment. In this exercise, you will create a new BizTalk host, an instance of the host, and then reconfigure an orchestration to use the new host instance. Create a New BizTalk Host and Host Instance Procedure List 1. On the Start menu, point to All Programs, point to Microsoft BizTalk Server 2010, and then click BizTalk Server Administration. 2. Expand BizTalk Server 2010 Administration, expand BizTalk Group, and then expand Platform Settings. 3. In the left pane of the BizTalk Server Administration Console, click Hosts. 4. Right-click Hosts, point to New, and then click Host. 5. In the Name field, type PurchaseOrderProcHost. 6. Select the Authentication Trusted check box. 7. In the Windows group field, type ADVENTUREWORKS\BizTalk Application Users, and then click OK. 8. In the left pane of the BizTalk Administration Console, click Host Instances. 9. Right-click Host Instances, point to New, and then click Host Instance. 10. Set the Host name to PurchaseOrderProcHost, and then set Server to BI ZTALKDEMO. 11. Click the Configure button. 12. In the Logon Credentials dialog box, type ADVENTUREWORKS\PurchaseOrderHost as the logon name and pass@word1 as the password. 13. Click OK twice. Change the Host Instances Used by an Orchestration Procedure List 1. In the left pane of the BizTalk Administration Console, right-click BizTalk Group, and then click Refresh. 2. Expand Applications, and then expand Module 5. 3. Click Orchestrations, right-click ProcessOrder.OrchProcessOrder, and then click Unenlist. 4. Double-click ProcessOrder.OrchProcessOrder. 5. In the Orchestration Properties dialog box, click Bindings in the left pane, then click PurchaseOrderProcHost in the Host list, and then click OK. 6. Right-click the Module 5 application, and then click Start. 7. In the Start ‘Module 5’ Application dialog box, click Start. Exercise 2: Manage MessageBoxes Overview Multiple Messagebox databases can be used to provide scalability for your BizTalk environment. For performance reasons, when you add a second MessageBox database to the BizTalk group it is recommended that a third be created as well. In this exercise, you will create a second BizTalk MessageBox. Create an Additional Message Box Database Procedure List 1. In the left pane of the BizTalk Administration Console, under Platform Settings, click Message Boxes. 2. Right-click Messages Boxes, point to New, and then click Message Box. 3. In the Message Box Properties dialog box, type BIZTALKDEMO in the SQL server box, and then type BizTalkMsgBoxDb2 in the Database box. 4. Click OK. 5. Close all open windows. Lesson 2: Lesson: Backing Up and Restoring BizTalk Server Lesson objective: Backup and restore a BizTalk Server computer Overview To guard against the possibility of irrecoverable loss of business-critical data, you must perform backups of your computer running BizTalk Server on a regular basis. Backing Up a BizTalk Server Computer Explain the process of backing up a BizTalk Server environment. Backup procedures and schedule You must perform backup procedures on a regular schedule in order to ensure your ability to restore a consistent BizTalk environment in the event of data loss. BizTalk Server performs distributed transactions across multiple databases, so it is of critical importance that you back up and then restore all databases to exactly the same state. You use the SQL Enterprise Manager to backup and restore a computer running BizTalk Server. Important: Do not store your backup files in the same storage system where the database resides, because then in the event of a failure both the backups and the databases would be lost. Backup BizTalk Server job BizTalk Server requires a customized backup process that uses full database backups and full transaction log backups, in conjunction with log marking and distributed transactions. This process, the Backup BizTalk Server job, runs as scheduled by the SQL Agent service. You use the Backup BizTalk Server job to back up all of your databases except the BAM Analysis database and the Tracking Analysis Server database, which you back up by using SQL Analysis Manager. Refer to the BizTalk Server 2010 documentation under Database Backup and Recovery for a full list of all the BizTalk Server databases that are backed up by the Backup BizTalk Server job. BizTalk Server 2010 includes a SQL Server role named BTS_BACKUP_USERS so that the user account you use to back up your databases does not require System Administrator permissions within SQL Server, except for the primary server controlling the backup process. When setting up the user account that you are using to back up your databases, you must configure the SQL Server Agent service to run under a domain account or a local account with a mapped user on each instance of SQL Server. You must configure a SQL Server logon account for this user and assign this user to the BizTalk BTS_BACKUP_USERS role on each server. You must assign this user to the System Administrators role within SQL Server for the BizTalk Management database server. Please refer to the BizTalk Server 2010 documentation for detailed steps on Configuring the Backup BizTalk Server Job. The Backup BizTalk Server job does not delete outdated backup files, so you need to manage those backup files to conserve disk space. After you have created a new full backup of your databases, you should move the outdated backup files onto an archival storage device to reclaim space on the primary disk. Also, BizTalk Server does not write tracking data directly to the BizTalk Tracking database; rather it caches the data in the MessageBox database and then moves it to the BizTalk Tracking database. In the event of a MessageBox data loss, some tracking data may be lost. Running Synchronized BizTalk Server Back Ups Explain advanced options for performing a backup of a BizTalk Server environment. Synchronized backups BizTalk Server makes it possible for you to run synchronized backups of all BizTalk databases. You synchronize your backups by using both full database backups and transaction log backups in conjunction with a mechanism called a marking transaction. For each BizTalk database, the Backup BizTalk Server job creates a transaction log backup every time it runs, and creates a full backup only at the specified periods. Marking transactions Marking transactions are transactions that insert a mark into the transaction log of each database participating in the transaction. The marking transaction first blocks new distributed transactions from starting, then waits for currently running distributed transactions to complete, and finally executes to place the mark. The mark represents a point that is transactionally consistent across all databases; you can use a specific mark in conjunction with subsequent transaction log backups to restore all of your databases to the same consistent point. Full backups The Backup BizTalk Server job runs its first step, BackupFull, only once every period, not every time the job runs. You must specify the period: hourly, daily, weekly, monthly, or yearly. The first time Backup BizTalk Server runs during a newly specified period, it performs a full backup. For example, if you schedule the job to run every hour, but configure the period as daily, then Backup BizTalk Server performs a full backup the first time it runs, and thereafter once every day at midnight. Transaction log backups The second step that the Backup BizTalk Server job performs is MarkAndBackupLog. Each time the job executes, this second step inserts a mark into each BizTalk database, and also performs a transaction log backup. You will also want to configure log shipping to provide warm standby server capabilities which reduce downtime in the event of a system failure. For more information, please refer to the BizTalk Server 2010 documentation on Configuring the Log Shipping Destination System. Restoring a BizTalk Server Computer Restoring a BizTalk Server environment from a backup. Restoring a database If you do not restore all BizTalk databases to the same mark, then your BizTalk Server environment will be in an inconsistent state and may not work correctly. To restore a database: Working in SQL Enterprise Manager and using the NORECOVERY option, restore all databases by using the most recent full database backup set after which at least one further log backup set was created. Using the NORECOVERY option again, restore all log backups created between the full backup set used in step 1 and the most recent log backup. Do not restore the last (most recent) log backup yet. If only one log backup was created after the most recent full backup, skip this step. Using both the RECOVERY option and the STOPATMARK option, restore all log backups from the most recent log backup set. STOPATMARK must specify the BizTalk Server log mark that is contained in the log. (The log mark is part of the backup file name.) Example For example, assume that the following backup sets exist: 01:00 (full & log), 01:15 (log only), 01:30 (log only), 01:45 (log only), 02:00 (full & log), 02:15 (log only), and 02:30 (log only). To restore your databases, you would perform the following procedure: Using NORECOVERY, restore all of the databases from the 2:00 full backup set. Using NORECOVERY again, restore the log backups from the 2:15 log backup set. Using both RECOVERY and STOPATMARK now, restore the log backups from the 2:30 log backup set. For more information on mark names and restoring your BizTalk Server environment, refer to the BizTalk Server 2010 documentation on Restoring Your Databases. Demonstration: Backing Up a Computer Running BizTalk Server Show how to back up and restore a computer running BizTalk Server. In the following task you will delete the BizTalk Server databases, if you have trouble deleting them, ensure that all applications are fully stopped and that there are no running, suspended, or dehydrated instances. Also, the MessageBox databases should be deleted and restored together. Back Up BizTalk Databases 1. On the Start menu, point to All Programs, point to Microsoft SQL Server 2008, and then click SQL Server Management Studio. 2. In the Connect to Server dialog box, click Connect. 3. In Object Explorer, expand SQL Server Agent, and then click Jobs. 4. In the right pane, right-click the Backup BizTalk Server job, and then click Properties. 5. In the Job Properties - Backup BizTalk Server (BizTalkMgmtDb) dialog box, click the Steps tab, select BackupFull, and then click the Edit button. 6. On the General tab, in the Command box, edit the command by changing ‘<destination path>’ to ‘C:\AllFiles\DemoCode, and then click OK. To avoid potential data loss, you should specify a computer for your backup that is different from the computer with the original data. 7. On the Steps tab, click MarkAndBackupLog, and then click Edit. 8. On the General tab, in the Command box, edit the command by changing ‘<destination path>’ to ‘C:\AllFiles\DemoCode’, and then click OK. To avoid potential data loss, you should specify a computer to store the database logs that is different from the computer with the original database logs. 9. On the Steps tab, click Clear Backup History, and then click Edit. 10. On the General tab, in the Command box, notice the DaysToKeep=14 option, which indicates that the backup history will be kept for 14 days, and then click Cancel. 11. In the Job Properties - Backup BizTalk Server (BizTalkMgmtDb) dialog box, click the Schedules tab, select MarkAndBackupLogSched, and then click the Edit button. 12. Review the Job Schedule Properties dialog box—by default, this job is scheduled to run every 15 minutes of every day. 13. Click One Time in the Schedule type list, and then click OK. This will schedule the job to run immediately. 14. In the Job Properties - Backup BizTalk Server (BizTalkMgmtDb) dialog box, click OK. 15. In Microsoft SQL Server Management Studio, right-click Backup BizTalk Server (BizTalkMgmtDb), and then click Enable. 16. In the Enable Jobs dialog box, click Close. 17. In Microsoft SQL Server Management Studio, right-click Backup BizTalk Server (BizTalkMgmtDb), and then click Start Job. 18. In the Start Job on ‘BIZTALKDEMO’ dialog box, click Start at step. 19. In the Start Jobs dialog box, after the job has completed, click Close. Restore the BizTalk Databases 1. On the Start menu, point to Administrative Tools, and then click Services. 2. Right-click Enterprise Single Sign-On Service, and then click Stop. 3. Right-click Stop Other Services dialog box, click Yes. 4. In Microsoft SQL Server Management Studio, click Databases, and in the right pane, select and delete the following databases: BAMPrimaryImport, BizTalkDTADb, BizTalkMgmtDb, BizTalkMsgBoxDb, BizTalkMsgBoxDb2, BizTalkRuleEngineDb, and SSODB. 5. In the Delete Objects dialog box, select the Close existing connections checkbox, and then click OK. 6. On the Start menu, point to All Programs, point to Microsoft BizTalk Server 2010, and then click BizTalk Server Administration. 7. Expand BizTalk Server 2010 Administration, and then click BizTalk Group. 8. An error message appears because the BizTalkMgmtDb database does not exist. Close the BizTalk Server Administration Console. 9. In Microsoft SQL Server Management Studio, right-click Databases, and then click Restore Database. 10. In the To database box, type BAMPrimaryImport, click From device, and then click the ellipsis (…) button. 11. In the Specify Backup dialog box, click Add. 12. In the Locate Backup File dialog box, navigate to C:\AllFiles\DemoCode select BIZTALKDEMO_BAMPrimaryImport_Full_BTS….bak, and then click OK. 13. In the Specify Backup dialog box, click OK. 14. In the Restore Database dialog box, select the Restore check box, and then click the Options tab. 15. On the Options tab, select Overwrite the existing database, and then click OK. 16. In the Microsoft SQL Server Management Studio dialog box, click OK. 17. Repeat the preceding steps for the following databases: To database Backup file BizTalkMsgBoxDb2 BIZTALKDEMO_ BizTalkMsgBoxDb2_Full….bak BizTalkDTADb BIZTALKDEMO_ BizTalkDTADb_Full….bak BizTalkMgmtDb BIZTALKDEMO_ BizTalkMgmtDb._Full….bak BizTalkMsgBoxDb BIZTALKDEMO_ BizTalkMsgBoxDb_Full….bak BizTalkRuleEngineDb BIZTALKDEMO_ BizTalkRuleEngineDb_Full….bak SSODB BIZTALKDEMO_ SSODB_Full….bak 18. Close Microsoft SQL Server Management Studio. 19. On the Start menu, point to All Programs, point to Microsoft BizTalk Server 2010, and then click BizTalk Server Administration. 20. Expand BizTalk Server 2010 Administration, and then click BizTalk Group. The BizTalk Server databases have been restored to their previous states. 21. Shut down the bt10a-demos virtual machine. Lab 5b: Backing Up and Restoring BizTalk Server Data Time estimated: 30 Minutes Scenario All BizTalk implementations should include a comprehensive recovery plan that includes database backup and restoration procedures. In this lab, you will back up the BizTalk Server databases. To test the backups, you will delete all the databases from SQL Server and then restore them from the backups. Preparation You must have successfully completed the previous lab before starting this lab. Exercise 1: Back Up BizTalk Databases Overview When the BizTalk Server configuration is performed and as the databases are created on a computer running SQL Server, a SQL Server agent job is also created. This job automates the process of backing up the BizTalk databases. A schedule to perform both full and incremental backups of these databases should be enabled. In this exercise, you will perform a full back up the BizTalk Server databases. Configure the SQL Server Job Procedure List 1. On the Start menu, point to All Programs, point to Microsoft SQL Server 2008, and then click SQL Server Management Studio. 2. In the Connect to Server dialog box, click Connect. 3. In Object Explorer, expand SQL Server Agent and Jobs. 4. Right-click the Backup BizTalk Server job, and then click Properties. 5. In the Job Properties - Backup BizTalk Server (BizTalkMgmtDb) dialog box, on the Steps page, select BackupFull, and then click the Edit button. 6. On the General page, in the Command box, edit the command by changing ‘<destination path>’ to ‘C:\AllFiles\LabFiles\Module 5\BizTalkBackup’, and then click OK. To avoid potential data loss, you should actually specify a computer for your backup that is different from the computer with the original data. 7. On the Steps page, click MarkAndBackupLog, and then click Edit. 8. On the General tab, in the Command box, edit the command by changing ‘<destination path>’ to ‘C:\AllFiles\LabFiles\Module 5\BizTalkBackup\Logs’, and then click OK. Note that ‘Module 5’ within this path contains a space character. 9. On the Steps page, select Clear Backup History, and then click Edit. 10. On the General page, in the Command box, notice the DaysToKeep=14 option, which indicates that the backup history will be kept for 14 days, and then click Cancel. Schedule the Backup BizTalk Server Job Procedure List 1. In the Job Properties - Backup BizTalk Server (BizTalkMgmtDb) dialog box, on the Schedules page, select MarkAndBackupLogSched, and then click the Edit button. 2. Review the Job Schedule Properties dialog box—by default, this job is scheduled to run every 15 minutes of every day. 3. Click One time in the Schedule type list, and then click OK. 4. In the Job Properties - Backup BizTalk Server (BizTalkMgmtDb) dialog box, click OK. Back Up the BizTalk Server Databases Procedure List 1. In Microsoft SQL Server Management Studio, right-click Backup BizTalk Server (BizTalkMgmtDb), and then click Enable. 2. In the Enable Jobs - BIZTALKDEMO dialog box, click Close. 3. In Microsoft SQL Server Management Studio, right-click Backup BizTalk Server (BizTalkMgmtDb), and then click Start Job at Step. 4. In the Start Job on ’BIZTALKDEMO’ dialog box, click Start. 5. In the Start Jobs - ‘BIZTALKDEMO’ dialog box, after the job has completed successfully, click Close. Exercise 2: Delete and Restore the BizTalk Databases Overview A careful disaster recovery plan should include occasional test restorations of the BizTalk databases. In this exercise, you will delete the BizTalk databases, and then restore the databases from the back up created in the previous exercise. Delete Existing BizTalk Databases Procedure List 1. On the Start menu, point to Administrative Tools, and then click Services. 2. Right-click Enterprise Single Sign-On Service, click Stop, and then click Yes in the Stop Other Services dialog box. 3. In Microsoft SQL Server Management Studio, in Object Explorer, click Databases, then in the View menu, click Object Explorer Details. 4. In the right pane, click each of the following databases while holding down the CTRL key: BAMPrimaryImport, BizTalkDTADb, BizTalkMgmtDb, BizTalkMsgBoxDb, and BizTalkMsgBoxDb2. 5. Right-click the selected items, and then click Delete. 6. In the Delete Objects dialog box, select the Close existing connections checkbox, and then click OK. 7. In the left pane, click Databases, then press the F5 key to refresh the view, and then verify that the databases are no longer listed. 8. On the Start menu, point to All Programs, point to Microsoft BizTalk Server 2010, and then click BizTalk Server Administration. 9. Expand BizTalk Server 2010 Administration, and then click BizTalk Group. An error message appears because the BizTalkMgmtDb database does not exist. If the BizTalk Administration Console was already open, then you will need to press the F5 key to see the error message. 10. Close the BizTalk Server Administration Console. Restore the BizTalk Database Procedure List 1. In Microsoft SQL Server Management Studio, right-click Databases, and then click Restore Database. 2. In the To database box, type BAMPrimaryImport, click From device, and then click the ellipsis (…) button. 3. In the Specify Backup dialog box, click Add. 4. In the Locate Backup File dialog box, navigate to C:\AllFiles\LabFiles\Module 5\BizTalkBackup, select BIZTALKDEMO_BAMPrimaryImport_Full_BTS….bak, and then click OK. 5. In the Specify Backup dialog box, click OK. 6. In the Restore Database dialog box, in the Select the backup sets to restore list, select the Restore check box, and then click the Options tab. 7. On the Options tab, select Overwrite the existing database, and then click OK. 8. In the Restore Database dialog box, click OK. 9. In the Microsoft SQL Server Management Studio dialog box, verify that the message states that the database was restored successfully, and then click OK. 10. Repeat the preceding steps for the following databases: To database Backup file BizTalkMsgBoxDb2 BIZTALKDEMO_ BizTalkMsgBoxDb2_Full….bak BizTalkDTADb BIZTALKDEMO_ BizTalkDTADb_Full….bak BizTalkMgmtDb BIZTALKDEMO_ BizTalkMgmtDb._Full….bak BizTalkMsgBoxDb BIZTALKDEMO_ BizTalkMsgBoxDb_Full….bak 11. Close Microsoft SQL Server Management Studio. 12. In the Services window, right-click Enterprise Single Sign-On Service, then click Start. 13. On the Start menu, point to All Programs, point to Microsoft BizTalk Server 2010, and then click BizTalk Server Administration. 14. Expand BizTalk Server 2010 Administration, BizTalk Group, and Applications. The BizTalk Server databases have been restored to their previous states. 15. Right-click Module 5 and then click Stop. 16. In the dialog box click Stop. 17. Right-click Module 5 and then click Start. 18. In the dialog box click Start. Test the Application Procedure List 1. In Windows Explorer, navigate to C:\AllFiles\LabFiles\Module 5\Messages. 2. Copy the ContosoPO_Large.xml file to the PurchaseOrderIN folder. 3. After the message disappears from the PurchaseOrderIN folder, navigate to the PurchaseOrderAck folder, and notice the PoAck{GUID}.xml message. 4. Navigate to the Shipped folder, and notice the and the Shipment{GUID}.xml message. 5. Close all open windows, and shut down the virtual machine. Module 6 (Optional): Monitoring a BizTalk Environment with System Center Operations Manager (SCOM) Time estimated: 95 Minutes Module objective: In this module, you will learn: How to monitor a BizTalk environment using System Center Operations Manager (SCOM) Overview Now that you have learned how to install, configure and administrate Microsoft BizTalk Server 2010, it is time to learn how to monitor your BizTalk environment. This will ensure it is healthy and performing up to your organization’s expectations. Microsoft System Center Operations Manager (SCOM) is a monitoring platform that allows for proactive and reactive monitoring of applications, servers, network devices and hardware. The purpose of this module is for students to get introduced to SCOM and learn how to monitor their BizTalk environment using the Microsoft BizTalk Server 2010 Management Pack (MP) for System Center Operations Manager. Lesson 1: Introduction to SCOM Lesson objective: Learn about the System Center Operations Manager platform and discover the benefits that it can provide when monitoring BizTalk Server. Lesson Overview Microsoft System Center Operations Manager is platform used for proactive and reactive monitoring. It provides an end to end monitoring solution for both Microsoft and nonMicrosoft technologies. The topics in this lesson provide essential information about monitoring BizTalk groups, databases and underlying foundational components required to have a healthy BizTalk environment. SCOM Overview Identify core features and capabilities Overview Microsoft System Center Operations Manager is a mature, enterprise grade monitoring platform for both Microsoft and non-Microsoft technologies. As of May 2011, the current version of SCOM is 2007 R2 which is the 4th version of the product. The next version of SCOM is called System Center Operations Manager 2012 and is set to be released in the last half of 2011. SCOM leverages Windows Management Instrumentation (WMI), Performance Counters and Event Viewers when determining the health of an application or server. Network device monitoring is accomplished by using Simple Network Management Protocol (SNMP). Core monitoring scenarios include: Client, Server and Device Monitoring is provided through the use of Management Packs. Management Packs contain the rules and thresholds that determine the health of a particular application or server. Security Audit Collection provides the ability to consolidate Security logs from Windows Servers for auditing purposes such as for Sarbanes-Oxley (SOX). Client Monitoring allows end user system crash and diagnostic data collection to be sent to the SCOM Management server. Service Oriented Monitoring provides the ability to determine inter-dependencies between applications when determining the overall health of a distributed system. Knowledge Management capabilities exist as administrators have the ability to add to the existing Knowledge base with new information. This feature becomes a valuable tool when identifying resolutions to specific alerts that have been raised. SCOM Architecture Identify core Architectural Components Overview System Center Operations Manager is a large monitoring platform made up of many components. For the purpose of a BizTalk Administration course, we will simplify into three areas: Root Management Server Management Components Scripting Components Root Management Server The Root Management Server to SCOM is the MessageBox to BizTalk Server. It represents the “brains” of the monitoring platform and hosts the following three Services: SDK Service provides a software development kit but also acts as a central point of access for SDK connectivity. The Config Service provides a single point access for all resources requesting configuration information from Ops Manager database. Many out of the box Management Packs include Workflow, such as Health Watch Instances. These workflows will run within the Health service on the Root Management Server. Management Components Management Components provide administrators and operations staff with tools that allow them to monitor their respective systems. These tools include Command Shells, such as PowerShell cmdlets, Thick and Web Consoles. Developers also have the ability to build custom applications that take advantage of SCOM’s API. Scripting Components Scripting Components allow for communication between end points and the Root Management Server. These components come in a few forms: When a server has been configured to be Agent Managed, it means that a System Center agent, or Health Service, has been installed on the actual server. Through a discovery process, SCOM will be able to detect what types of software exists on the server and gives SCOM administrators the ability to select whether or not they would like SCOM to monitor it. This discovery process requires appropriate management packs to be installed on the SCOM Root Management Server. For instance if we wanted to monitor a BizTalk Server, we would need to have the BizTalk Server Management Pack installed on the SCOM RMS server. We then deploy an Agent to the BizTalk Server and will have the ability to monitor it through SCOM. In situations where you do not want to install an Agent on the endpoint that you would like to monitor, you may be able to still monitor the server in a Non-Agent Managed, or agent-less, fashion. Do note that not all Management Packs can be used in an agentless mode including the BizTalk Server Management Pack. Agentless monitoring cannot take advantage of Event Log providers and since the BizTalk 2010 Management pack does rely upon the Event Log provider, monitoring BizTalk Servers in an agentless manner is just not possible. Microsoft has provided the ability for Independent Software Vendors (ISVs) to build Management Packs for both Microsoft and Non-Microsoft technologies. Since SCOM is an enterprise grade system, Microsoft felt it was important to provide monitoring capabilities to non-Microsoft technologies as well as their own. In addition to 3rd Party management packs, Microsoft also provides the ability to integrate SCOM with other 3rd party Monitoring solutions and Help Desk solutions through the use of Connectors. SCOM Architecture (continued) This slide provides a visual representation of the topics that were discussed previous slide. What is important to note is just how comprehensive the SCOM platform is. Data Another important topic that was not discussed in the previous slide is where all of the data the SCOM is collecting is stored. The default behavior for collecting diagnostic information about the systems that you are monitoring is 7 days. It is recommended that if you need to retain data for longer than this time frame that you implement a Reporting Warehouse. By implementing a Reporting Warehouse, we have the ability to aggregate trend and performance data that can be used for reporting purposes. SCOM Console Explain the purpose of the SCOM Console and introduce the two versions SCOM Consoles Much like Microsoft has provided an Administration console for BizTalk Developers and Administrators, they have also provided a console for administering SCOM. The target audience for these consoles are SCOM administrators but also other Support personnel including BizTalk Administrators. The purpose, of these consoles, is to provide the following features: Viewing overall Health of an environment that we are monitoring Alert Management including the creation, suppression and resolving of alerts generated Performance Monitoring of endpoints Rule and Monitor Authoring. In addition to the Microsoft and 3rd Party management packs that are available, we also have the ability to write our own Management packs which may include custom Rules and Monitors. Rules are used to collect performance related data where Monitors are actually determining the state of a particular component. In the BizTalk world, we could think of a rule when we have a message that has failed validation within a Pipeline event. There is no state to this event, it either passed validation or failed validation and once the event has occurred it will not change. A monitor works differently, the component that the monitor is watching may change state. This state change may alter the overall health of that component. An example of this situation would be a Host instance that is currently offline. In this case the Monitor would determine this Host’s health status to be critical(red). However once this host instance comes back online, a monitor will discover this change and report the Host’s health is now in a healthy, green state. Another important function that the SCOM Console provides is the ability to install a Management Pack such as the BizTalk Management Pack. SCOM Console – Web Console Explain the capabilities that are lost by using the Web Console Web Console The SCOM Web Console is a zero foot print console that is better suited for Application and Infrastructure support teams who have monitoring needs but not Administration needs. The reason for this is that it does not provide Administration functions like Management Pack installations or Rule/Monitoring Authoring. Even though the console is displayed in a browser, the console is still role based aware. If your role includes access to information pertaining to BizTalk Servers, then you will only be able to access this same information inside the Web Console. Also, if you have created any custom views, you will be able to view these custom views in the Web Console. The Web Console also has a restriction on the amount of data that is returned to the client by default. For instance if we have 500 alerts in our Operations Console, only 200 will be available in the Web Console. SCOM Console – Thick Client Console Explain the capabilities that are gained by using the Thick Client Console Thick Client Console The Thick Client Console requires a software installation and is intended for SCOM administrators who need to take advantage of all of the features that are provided including: The ability to create, modify or delete rules and monitors Installing Management Packs Running the Discovery Process against new servers added to the environment For the purpose of this module we are going to focus on the Thick Client Console as installing the BizTalk Management Pack is one of the key takeaways of this module. Other key takeaways including learning about the following core features of SCOM: Monitoring Authoring Administration My Workspace SCOM Console – Monitoring Explain the general concepts of Monitoring Monitoring Monitoring is one of the key features that is provided by System Center Operations Manager. Within the Monitoring view we have the ability to: Review and close Active Alerts Launch Health Explorer which will probe the source of the alert and any dependencies to determine if the issue still exists or if it has been resolved. Search the Discoverable Inventory. This feature becomes extremely useful when trying to find a particular set of servers based upon standard naming convention. Creating Synthetic transactions allow us to create ping, or heartbeat, processes that will determine whether resources are online such as databases or web sites. SCOM Console – Authoring Explain the importance of Rules and Monitors and why Authoring is important Authoring Authoring provides SCOM Administrators with the ability to create custom Rules and Monitors. In addition to creating Rules and Monitors, SCOM Administrators also have the ability to override existing Rules and Monitors. When creating overrides, a Custom Management pack should be created in order to store the override. Otherwise an update to the original Management Pack may overwrite your custom override. In the event that a Management Pack does not provide coverage for your specific scenario or you have a custom application, a custom Rule or Monitor may be created and saved in a Custom Management pack. For example, we may write events to the Event Viewer from within our BizTalk application. If we wanted to generate alerts whenever these events occur, we could write a custom rule that will monitor the Event Log for any occurrences of this event. SCOM Console – Administration Explain the operations that exist within the Administration node Administration The Administration view provides operations that are essential in establishing and maintaining a functional Monitoring Platform. Within this view we will find operations such as: Device Management which provides us with visibility into the types of devices that are being monitored such as Servers or Network devices. We also have the ability to see if these devices are being monitored by Agents or through an Agentless mechanism. The management of Management Packs is also fulfilled through the Administration view. Through this operation, we have the ability to Create, Delete, Download and Import management packs. Notification Management is provided in this view as well. Within this menu we have the ability to create Notification channels such as Email, Instant Messaging (IM), Text Messaging (SMS) or run a command line operation. We also have the ability to create subscriptions that will use these channels, or transports, to deliver the alertnotification. This allows us to create email notifications whenever a particular event occurs. For instance if a Host Instance going offline was a significant event for an organization, we could create a subscription whenever this event occurs. Any subscribers for this event would receive an email notification, or SMS text message, so that they would be aware of the issue. The Discovery Wizard provides SCOM administrators with the ability to discover new devices that can be added to SCOM’s inventory for monitoring purposes. Using this wizard provides administrators the ability to scour a corporate network or browse to a specific machine name. Once discovered, we can push an agent or configure it to be monitored without an agent. Demonstration: Navigating the System Center Operations Manager Console In this demonstration, you will learn to navigate the SCOM Console and some fundamental concepts required when monitoring BizTalk Servers. Launch System Center Operations Manager console Procedure List 1. On the Start menu, point to All Programs, point to System Center Operations Manager 2007 R2, and then click Operations Console. Determine if a Server is being monitored 1. In the left pane of the System Center Operations Manager Console, click on the Monitoring view button. 2. Since we are interested in Windows based Computers, click on the Windows Computers label in the left pane underneath Monitoring. 3. In the center pane we should discover that our BizTalk Lab machine called BIZTALKDEMO is currently being monitored. 4. If an organization has many servers being monitored, we can take advantage of the Find feature by typing in a partial server name in the Look for: text box and by clicking on the Find Now button. 5. In the center pane, all servers that match our criteria will be displayed. We will see some basic information about the status of our servers including: State Whether or not our Server is in Maintenance Mode Server Name Whether or not an Agent has been deployed If the server belongs to the Management group Whether or not the Windows Management Pack is being utilized 6. If we want to drill down into the specific health of a particular computer we can do so by utilizing the Health Explorer. 7. To check the detailed health of our BIZTALKDEMO server, click on the Name cell for the BIZTALKDEMO record. With this record selected, click on the Health Explorer for BIZTALKDEMO.adventureworks.lab label in the top right hand corner of the console. 8. A Health Explorer window will open which will allow us to drill down into specific objects that are currently being monitored. If the objects are in a healthy state, we should see a Green checkmark. If objects are in a warning state then a Yellow triangle and when in a critical state a Red X. 9. If a critical error exists that we are sure we have resolved, we can click the Reset Health button in the top left hand corner of this window. This will reset the object’s health state to being healthy. However, if the root cause of the underlying issue has not been resolved, this state of this object will revert back to an unhealthy the next time SCOM probes this object. 10. If we are unsure whether an issue has been resolved, we can click on the Recalculate Health button next to the Reset Health button. This will force SCOM to probe the object to determine if it is healthy or not. We will have an opportunity to use this feature in a future lab. Check for Active Alerts 1. In the Monitoring view, click on the Active Alerts button. 2. Alerts are group by their Severity including Critical and Warnings. Determine if the BizTalk Management Pack has been installed 1. Click on the Administration view button in the left pane of the System Center Operations Manager Console. 2. Click on the Management Packs label in the left pane. 3. In the center pane, all Management Packs that have been installed will be displayed. 4. In the Look for: text box we can type in BizTalk and click the Find Now button. We will discover the BizTalk Management Pack has not been installed. We will install the Management Pack in an upcoming Lab and will return back to this view to see that it has been installed. Lesson 2: SCOM coverage for BizTalk Lesson objective: To discover how SCOM and the BizTalk Management Pack work together to monitor our BizTalk environment. Overview Management Packs play a pivotal role in determining application specific health information. This lesson will focus on BizTalk artifacts that are probed when determining the health of a BizTalk environment. Management Packs Explain what the purpose of Management packs and highlight some of the other management packs that are available. Management Packs Management packs provide SCOM with the information required to monitor applications and servers. These management packs will instruct SCOM on what to monitor, how to monitor and provides threshold information that allows SCOM to determine when an application is in a healthy or unhealthy state. Out of the box coverage Microsoft provides many management packs out of the box, or free for download. Some of the popular management packs available include: Microsoft Exchange Server Microsoft SQL Server Microsoft Windows Server Microsoft SharePoint Server Microsoft BizTalk Server Management Pack - Downloads Explain the different ways of obtaining Management Packs Management Pack downloads Management Packs can be downloaded from the SCOM Administration console, Microsoft Download Center or from the Management Pack catalogue that is available on Microsoft’s website: http://pinpoint.microsoft.com/en-US/systemcenter/managementpackcatalog Third party Management Packs may also be downloaded from this catalogue. Some of these Management Packs require a license and provide coverage for non-Microsoft systems including 3rd party: Database Systems Operating Systems Mobile Phone Management Virtualization Management Middleware Management Pack - Downloads Describe where Management Packs need to be installed. Installing Management Packs Management Packs need to be installed on the Root Management Server. They do not need to be installed on the actual BizTalk Server. The exception to this statement is when BizTalk and SCOM are installed on the same server as in the case of our lab configuration. Upon Server Discover, Agents need to be deployed to the BizTalk Servers that we want to monitor. Lab 6A: Installing BizTalk 2010 Management Pack Time estimated: 15 Minutes Scenario In order for SCOM to monitor our BizTalk Server and look for BizTalk specific events, we need to install the BizTalk Server 2010 Management Pack. 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 bt10a-06 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. Ensure that the BizTalk Services are started Procedure List 1. In Windows Explorer, navigate to C:\AllFiles. 2. Double click on startBtServices.cmd. 3. When prompted, press any key to close the command-line window. Exercise 1: Install BizTalk 2010 Management Pack from System Center Operations Manager console Overview Since our lab environment does not have internet connectivity, the BizTalk Server 2010 Management Pack has been downloaded and unpackaged. We now need to import this Management pack in the SCOM console. Launch System Center Operations Manager console Procedure List 1. On the Start menu, point to All Programs, point to System Center Operations Manager 2007 R2, and then click Operations Console. Navigate to Management Packs View Procedure List 1. In the lower left corner of the Operations Console, click on the Administration button. 2. In the left pane, find Management Packs, right-click and select Import Management Packs. 3. A new form will load called Import Management Packs. Find the Add button, click it and then select Add from disk … 4. When prompted to search an online catalogue for dependent management packs select No. 5. When prompted to Select Management Packs to import, browse the C:\Program Files (x86)\System Center Management Packs\BizTalk Server 2010 Monitoring Management Pack\ folder and select the 3 Management Packs that exist in this folder: Microsoft.BizTalk.Server.2010.Discovery.mp, Microsoft.BizTalk.Server.2010.Library.mp and Microsoft.BizTalk.Server.2010.Monitoring.mp. Once selected, click the Open button. 6. We should now see an Import list that contains these three management packs and a green check mark beside each one. 7. The Status details should display a message indicating This management pack is ready to import. 8. Click the Install button to proceed. 9. After a couple minutes, we should see that all 3 Management Packs have been Imported successfully and have a green check mark beside each one. 10. Click Close to complete this wizard. 11. In the center of our Management Packs view, we should now see 3 BizTalk related Management Packs: BizTalk Server Discovery, BizTalk Server Library and BizTalk Server Monitoring. Note: it may take a couple minutes for the BizTalk Management Packs to appear in the Management Packs list in the center pane of the console. BizTalk 2010 Management Pack Describe some of the coverage that the BizTalk 2010 Management Pack provides. BizTalk 2010 Management Pack coverage The BizTalk 2010 Management Pack provides comprehensive monitoring coverage for BizTalk Server 2010. This coverage includes: Health monitoring by determining whether core components such as Host Instances, Enterprise Single Sign On and SQL Server Instance(s) are available. Configuration monitoring is achieved by determining if artifacts such as Receive Locations, Orchestrations and Send Ports are enabled. Performance data is collected via Performance Counters that are included in the Operating System and BizTalk Server products. BizTalk specific counters include Message Box, Messaging and Adapter specific counters whereas Operating System counters include CPU and Memory utilization. In addition to Performance counters, the BizTalk Management Pack is also aware of BizTalk specific thresholds. These thresholds are used to determine the health of our BizTalk servers. For example if a Host is receiving more messages than it can handle, these messages will start to backup in the Host’s message queue. The BizTalk Management pack provides default thresholds that can be used to notify support personnel in these situations as BizTalk will begin to throttle these messages to ensure that the Server does not crash. BizTalk 2010 Management Pack – Role specific views Describe the two different views available and the purpose of separating them from each other. Views The BizTalk Management Pack includes two views out of the box for two separate audiences. The Application View is tailored towards BizTalk Administrators who are interested in knowing the state of BizTalk applications and their artifacts. Included in this view are a list of applications that are currently being monitored and the ability to launch the Health Explorer for this application. The Health Explorer will probe the application and ensure that all application related artifacts are available. If any of these artifacts are not available, the state of this application will be in a Critical Error state. The Deployment view may be of interest to BizTalk administrators but is tailored towards Infrastructure support teams. The information provided in this view focuses on the underlying infrastructure components that are required for the BizTalk applications to run properly. Information contained within this view includes the state of Hosts, BizTalk Management database, Business Rules Engine, BAM portal and the overall performance of our BizTalk environment. BizTalk 2010 Management Pack – New Features Describe the new features that available in the BizTalk 2010 Management Pack. BizTalk 2010 Management Pack The BizTalk 2010 Management Pack includes many features that were not available in previous versions of the Management Pack. In previous versions of the management pack, opportunities existed for duplication of alerts when multiple BizTalk servers are present within the same BizTalk group. Optimized discovery of artifacts across multiple machines has addressed this issue. Optimized discovery of relationships is included in the BizTalk 2010 management pack. Previous management packs did not properly sequence the relationships between BizTalk artifacts. For example, in order to establish a relationship between a Receive Port and a Receive location, the Management Pack must detect all Receive Ports and then Receive Locations. The BizTalk 2010 Management pack implements a visual representation of health status by providing color schemes to identify the state of a specific BizTalk service or artifact. The 3 different colors that represent states are Green (healthy), Yellow (warning), and Red (troubled or error). The new management pack also takes the runtime state into consideration when determining the health of your BizTalk environment. An example of this may be having all of your BizTalk host instances and application artifacts online but having numerous suspended messages. This version of the management pack includes improved diagnostic information over previous versions. You can now expect more information about the error. Previously, whenever a small change was made to a BizTalk artifact that SCOM was monitoring, a round trip to the SCOM database was made when in some situations it was not required. In the new Management Pack, performance enhancements have been made by only writing changes to the database when they are relevant to the needs of the system. Other improvements have been made to fix performance issues related to high resource usage if discovery levels are set too low. BizTalk 2010 Management Pack – Supported Configuration Highlight the supported versions of BizTalk that this Management Pack supports as it is not backward compatible in all situations. Supported Configurations All other BizTalk versions and locales are not supported with this version of the Management pack but may have their own version of the management pack. For instance, separate Management packs exist for BizTalk 2006 and BizTalk 2009. The older Management packs will not have some of the features that were just described in this slide deck. Demonstration: Exploring BizTalk 2010 Management Pack In this demonstration, you will learn to navigate the views that are installed with the BizTalk Management Pack and fundamental concepts required when monitoring BizTalk Servers. Overview In this exercise we are going to explore the BizTalk 2010 Management pack and its features including the Application and Deployment views. Note: When making changes to your system(s) that will trigger state changes that SCOM is monitoring for, it may take a couple minutes for the SCOM console to reflect the update. In this situation it is recommended to be patient but to also leverage the Health Explorer to probe SCOM for state changes. Launch System Center Operations Manager console Procedure List 1. On the Start menu, point to All Programs, point to System Center Operations Manager 2007 R2, and then click Operations Console. Explore the BizTalk Server 2010 Application View Procedure List 1. In the lower left corner of the Operations Console, click on the Monitoring view button. 2. In the left pane, find Microsoft BizTalk Server 2010, expand this hierarchy tree by clicking on the + sign. 3. Expand Application Views by clicking on the + sign. 4. Click on the Application State View. Within this view, we will discover all of the BizTalk Server applications that have been deployed on our server. Not all BizTalk applications can be monitored including the default BizTalk Application 1. The reason for this is because this application does not have any objects that SCOM is monitoring including Receive Locations, Orchestrations or Send Ports. 5. For applications that are being monitored by SCOM, we have a few Actions available to us in the top right pane including running the Health Explorer and initiating Maintenance Mode. The Health Explorer allows us to probe the BizTalk Application and related dependencies to determine its overall health. Since stopping a BizTalk Application, so that we can perform maintenance activities, will generate SCOM alerts we can set the Application in Maintenance Mode. When in this state, SCOM will ignore any activities on that application while we are working on it. We have the ability to put applications in Maintenance Mode as well as the whole server in the event that the change requires all BizTalk applications to go offline. We can tell when an object is in Maintenance Mode by the wrench being displayed beside the object’s state: 6. The next area that we want to focus on is the Groups State View which can be found directly below the Applications State View. The Groups State View provides visibility into the overall health of the BizTalk Group that is being monitored. In our scenario we have a single server in a BizTalk group, but otherwise this view would give us insight into our distributed BizTalk environment. 7. Below the Groups State View we have the Hosts State View. In this view we will see a list of our BizTalk Hosts that have been configured inside the BizTalk Administration Console. From here we are able to determine the overall health of our Hosts and have the ability to launch the Health Explorer and Start Maintenance Mode. 8. Also note a context aware menu that has been displayed in the upper right pane called BizTalk Host Tasks. From this menu, we have the ability to start or stop host instances without launching our BizTalk Administration Console. 9. The next view that we can expand is Application Artifact Views. Within this view we will get a detailed summary of all deployed Orchestrations, Receive Locations, Receive Ports, Send Port Groups and Send Ports. We have the ability to select a single artifact and then use the available actions from the top right pane. Much like the options for Host State we have the ability to launch the Health Explorer and start Maintenance Mode. Explore the BizTalk Server 2010 Deployment View Procedure List 1. At the same level, in the tree hierarchy as the Application Views, we will see another folder called Deployment Views. This is a set of views are similar to the Application Views but focus on the underlying infrastructure components that BizTalk requires to function correctly. 2. The first view that we are going to take a look at is the Deployment State View. Within this view we will see our BizTalk Management Database: BizTalkMgmtDb.BIZTALKDEMO. This view is an aggregation of some underlying components that are necessary for BizTalk to be completely healthy. We will see columns that will indicate these component’s underlying health status including BAM Role, BizTalk Run-Time Role, Rule Engine Role. 3. To demonstrate how the aggregation of these core component’s impacts the Deployment State View, we are going to stop the Rule Engine Update Service. On the Start menu, point to All Programs, point to Administrative Tools and then click Services. 4. Scroll down until you find a server called Rule Engine Update Service. Right mouse click on this service and click Stop. 5. Return to the Deployment State View in the SCOM Console. Underneath the Rule Engine Role we should discover a Critical Error exists. If we locate the State Column we should also discover a Critical Error exists. Note: This state change may take up to 5 minutes for it to show up in your SCOM Operations Console. Your console should refresh automatically but you can also press F5 to force a refresh. 6. We now want to return to the Services manager that we launched in step 3. We need to Start the Rule Engine Update Service by right mouse clicking on it and clicking Start. 7. We should see both the State and Rule Engine Role columns updated and revert to a state of Healthy automatically. Note: to have SCOM probe this object, click the record and then click on the Health Explorer for BizTalkMgmtDb.BIZTALKDEMO. Once launched, expand Entity Health – Availability – BizTalkMgmtDb.BIZTALKDEMO,BizTalk Group Deployment Dependent On Server Role, Availability(2nd one), Rule Engine Service Availability Monitor and click the Recalculate Health button at the top of the form. 8. Below the Deployment State View we will discover other views that, collectively, make up the Deployment State View including Hosts State View, Rule Engine View and Run-Time Role State Views. 9. The next view is called the BAM Component Views and contains individual views for determining the health of: BAM Alerts State View BAM Analysis State View BAM Performance View BAM Portal State View BAM Run-Time State View 10. The last set of views that we are going to discuss are found in the Run-Time Components Views tree hierarchy. Inside this view we will discover our Performance counter views that provide visibility into the following areas: MessageBox Performance Messaging Adapters Performance Messaging Performance Orchestration Performance Server Resource Usage View Lab 6B: Generating and Resolving BizTalk Host Instance Alerts Time estimated: 20 Minutes Scenario In the previous demonstration we saw how the state of the Rule Engine Update Service had an impact on the overall health of a BizTalk environment. In this Lab we are going to discover the impact that a BizTalk Host instance has on BizTalk’s health. We will see BizTalk’s Host State health change and an Alert will be generated in the Active Alerts view. We will then discover how to start this Host instance from SCOM Console and watch both the Active Alerts and Host State views change. Launch the BizTalk Administration and System Center Operations Manager console Procedure List 1. On the Start menu, point to All Programs, point to Microsoft BizTalk Server 2010 and then click on BizTalk Server Administration. 2. On the Start menu, point to All Programs, point to System Center Operations Manager 2007 R2, and then click Operations Console. Exercise 1: Generating and Resolving BizTalk Host Instance Alerts Procedure List 1. In the BizTalk Administration Console ensure that your BizTalkServerApplication Host Instance has a status of Running. 2. Switch to the SCOM Operations Console. Click on the Monitoring view button in the bottom left pane. 3. In the left pane, expand the Microsoft BizTalk Server 2010 view. 4. Expand Applications Views and then click on Hosts State View. 5. In the center pane, observe the State column value for the BizTalkServerApplication Host. This value should have a value of: Healthy. 6. Click on the BizTalkServerApplication record and then click on the Stop BizTalk Host label in the BizTalk Host Tasks pane on the right hand side. 7. In the Run Task – Stop BizTalk Host form that loads, ensure the BizTalkServerApplication checkbox is checked and click the Run button. 8. A Task Status – Stop BizTalk Host form will load indicating the status of this action. When complete, the status column should have a value of Success. Click the Close button to close this form. 9. Click on the Active Alerts view in the top left hand corner of the SCOM Operations Console underneath the Monitoring hierarchy. 10. You should now see Severity:Critical alert in the center pane. The source of this alert should be the name of our BizTalk Host Instance: BizTalkServerApplication. Note: It may take up to 10 minutes for this alert to appear within this Alerts View. 11. To obtain more information about this alert. Double click on the record. An Alert Properties form will be displayed. Here you will find diagnostic information about the alert including Product Knowledge from Microsoft, Company Knowledge where organizations have the ability to provide their own information, History, Alert Context, and Custom Fields. Click on the OK button to close this form. 12. If we navigate back to the Hosts State View, as described in Step #4, we should see that the state of our BizTalkServerApplication Host Instance has changed its state from Healthy to Critical. Note: to have SCOM probe this object, click the record and then click on the Health Explorer for BizTalkServerApplication. Once launched, expand Entity Health – Availability – BizTalk Host Availability Monitor and click the Recalculate Health button at the top of the form. 13. To start our BizTalk Host instance back up, select the BizTalkServerApplication record and then click the Start BizTalk Host label found in the BizTalk Host Tasks found in the right hand pane. 14. In the Run Task – Start BizTalk Host form, ensure BizTalkServerApplication is checked and click the Run button. 15. In the Task Status – Start BizTalk Host form, a status column will indicate the state of this action. Once the status value has changed to Success, click the Close button. 16. Click on the Active Alerts view in the top left hand corner of the SCOM Operations Console underneath the Monitoring hierarchy. 17. The Severity:Critical alert, that was described in step 10, indicating the BizTalkServerApplication Host Instance was offline should no longer exist within the pane. You may need to refresh your console by pressing the F5 button. This alert was automatically cleared since SCOM has determined that the issue has been resolved. 18. Navigate back to the Hosts State View, as described in Step #13. Press the F5 button to refresh your console. We should see that the state of our BizTalkServerApplication Host Instance has changed its state from Healthy to Critical. Note: if the state of your Host Instance has not changed, you may need to run the Health Explorer. To do this select the BizTalkServerApplication record and then click the Health Explorer for BizTalkServerApplication. Once launched, expand Entity Health – Availability – BizTalk Host Availability Monitor and click the Recalculate Health button at the top of the form. Once the Health Explorer process is complete, press the F5 button to refresh your console. Monitoring Scenarios Describe some of the scenarios that the BizTalk Management pack provides coverage for. Monitoring Coverage 1. Suspended Message Alerts – The BizTalk Management Pack allows you to monitor and troubleshoot both inbound and outbound Message Alerts. For example an inbound flat file message that fails to be disassembled will end up in a Suspended state within the BizTalk Administration Console. In an outbound scenario if a destination system is not available, BizTalk will attempt to retry submitting the message to this system based upon the retry threshold that has been configured in the Send Port. In the event that the retry threshold has been exceeded, this message will also end up in a Suspend State. In both of these situations, SCOM can detect these conditions and raise an alert to the appropriate support group so that the issue may be resolved. 2. Alert Suppression – In the event we have a high traffic situation and a destination system is down, we have the potential to receive hundreds if not thousands of alerts. Alert Suppression will detect that there is a re-occurring event by detecting a message continues to fail for the same URI. In this situation, SCOM will suppress these redundant alerts and the appropriate support group will only receive 1 alert. Once the issue has been resolved, it is important to reset the health of this alert otherwise we will continue to have alerts suppressed for this particular event. 3. From the BAM Portal, an End user has the ability to request Technical Assistance. When this event occurs, the BAM Portal will insert an event into the Event Viewer on the BAM Portal. SCOM is able to detect this event and then notify the appropriate support staff. 4. The BizTalk Management Pack allows us to set specific thresholds for the BizTalk group and at a more granular level that allows us to specify individual thresholds for specific hosts. An example of these thresholds are the ones that may put BizTalk in a throttling state. A Host that enters throttled state for an extended period of time likely requires attention of a Support team. 5. Providing alerts for Orchestrations that encounter exceptions is another feature that is provided in the BizTalk Management pack. Perhaps we encounter a situation where a .Net Component may fail when called from an Orchestration and we would like to be informed of this event. 6. BizTalk Server has many underlying services that are required in order for it to function properly. If one of these underlying services fail, such as the SQL Service instance that is hosting our BizTalk databases we want to be notified as this situation will result in our Host Instances shutting down since they cannot contact our database. 7. Much like we have the ability to monitor at the infrastructure level, we also have the ability to monitor at the Application level. For instance if one of our receive locations goes offline, this will result in a state change in the health of our BizTalk application. The BizTalk Management pack provides us with the ability to monitor these types of events. Lab 6C: Generating and Closing Application Alerts Time estimated: 15 Minutes Scenario One of BizTalk Server’s core competencies is the ability to process different types of messages from a variety of trading partners. Since some of these messages are received from external parties, the messages that are received may not be the same type of message that we are expecting. These messages that have an unexpected format may fail to be processed in the inbound receive pipeline. SCOM provides us with visibility into these situations so that we can react when these events occur. Conversely, we may want to send messages from our organization to another. In these situations it is important to raise Send Port errors when they occur so the appropriate support staff can address the issue before Service Level Agreements (SLAs) are missed. Once again SCOM provides BizTalk Administrators with visibility into these types of issues. Exercise 1: Generating and Closing Receive Pipeline Errors Overview An existing solution called Module 6 has been deployed for the purposes of this Lab. This application is a copy of a previous lab that has been renamed. The goal of this lab is to submit a message to an existing Receive Location that will fail validation within the Receive Pipeline. We can expect a Suspended Message instance inside the BizTalk Administration console. In the SCOM Operations Console we expect an alert to be generated within the Active Alerts menu. Start Module 6 BizTalk Application Procedure List 1. On the Start menu, point to All Programs, point to Microsoft BizTalk Server 2010 and then click on BizTalk Server Administration. 2. Expand BizTalk Server Administration, BizTalk Group and Applications. 3. Right mouse click on Module 6. Ensure application is currently running. If it is not, click on Start. System Center Operations Manager console 1. On the Start menu, point to All Programs, point to System Center Operations Manager 2007 R2, and then click Operations Console. Submit message to BizTalk Procedure List 1. In Windows Explorer, browse to C:\AllFiles\LabFiles\Module 6\Messages. 2. Right mouse click on GenerateReceivePipelineError.xml file and select Copy. 3. Double click on the PurchaseOrderIN folder. 4. Right mouse click on Windows Explorer surface and click Paste. Check for Active Alert in System Center Operations Manager console 1. In the SCOM Operations Console click on the Monitoring view button. In the upper left corner click on Active Alerts view. 2. Click F5 to refresh your screen. 3. You should find a Severity:Critical alert with a Source of BIZTALKDEMO.adventureworks.lab and a Name of ERROR: FILE-Receive Message Suspended. 4. Double click on this record and you will be presented with an Alert Properties form. Within this form we will be presented with some additional details about the alert and some recommendations on how to resolve it. Click the OK button to close this form. Close the Alert 1. Right mouse click on the alert and click Close Alert. This will remove the alert from the Active Alerts view. Exercise 2: Generating and Closing Suspended Message Errors Overview In the previous example we demonstrated generating an alert for an inbound event. In this example we are going to generate an event for an outbound operation. We are going to use this same Module 6 BizTalk application. In order to get the outbound message to fail, one of our send ports is configured to deliver files to non-existent location. In order to expedite these files to fail, the send port retry interval has been set to 0. Start Module 6 BizTalk Application Procedure List 1. On the Start menu, point to All Programs, point to Microsoft BizTalk Server 2010 and then click on BizTalk Server Administration. 2. Expand BizTalk Server Administration, BizTalk Group and Applications. 3. Right mouse click on Module 6. Ensure application is currently running. If it is not, click on Start. System Center Operations Manager console 1. On the Start menu, point to All Programs, point to System Center Operations Manager 2007 R2, and then click Operations Console. Submit message to BizTalk Procedure List 2. In Windows Explorer, browse to C:\AllFiles\LabFiles\Module 6\Messages. 3. Right mouse click on GenerateSendPortError.xml file and select Copy. 4. Double click on the PurchaseOrderIN folder. 5. Right mouse click on Windows Explorer surface and click Paste. Check for Active Alert in System Center Operations Manager console 1. In the SCOM Operations Console click on the Monitoring view button. In the upper left corner click on Active Alerts view. 2. Click F5 to refresh your screen. 3. You should find a Severity:Critical alert with a Source of BIZTALKDEMO.adventureworks.lab and a Name of ERROR: An outbound message is being suspended by the Adapter. 4. Double click on this record and you will be presented with an Alert Properties form. Within this form we will be presented with some additional details about the alert and some recommendations on how to resolve it. Click the OK button to close this form. Close the Alert 5. Right mouse click on the alert and click Close Alert. This will remove the alert from the Active Alerts view. Lab Exercises Contents Lab Exercises.................................................................................................................................... 1 Lab 1: Examining a BizTalk Application........................................................................................ 4 Exercise 1: Test a BizTalk Server Application ........................................................................... 6 Lab 2a: Install and Configure SharePoint Foundation 2010 ........................................................ 8 Exercise 1: Install SharePoint Foundation 2010 .................................................................... 10 Exercise 2: Configure SharePoint Foundation 2010 .............................................................. 11 Lab 2b: Install and Configure BizTalk Server.............................................................................. 12 Exercise 1: Install BizTalk Server 2010 ................................................................................... 13 Exercise 2: Configure BizTalk Server 2010 ............................................................................. 14 Lab 3a: Deploying an Application by Using an MSI Package ..................................................... 17 Exercise 1: Remove the BizTalk Application .......................................................................... 19 Exercise 2: Deploy a BizTalk Application from an MSI Package ............................................. 20 Exercise 3: Start and Test the BizTalk Application ................................................................. 21 Lab 3b: Composing and Deploying Business Rules .................................................................... 24 Exercise 1: Create a New Business Rule ................................................................................ 25 Exercise 2: Deploy and Test the New Policy .......................................................................... 27 Lab 4a: Administering a BizTalk Application .............................................................................. 29 Exercise 1: Create Receive Ports and Locations .................................................................... 31 Exercise 2: Create Send Ports ................................................................................................ 33 Exercise 3: Bind the Orchestration ........................................................................................ 36 Exercise 4: Start and Test the Application ............................................................................. 37 Lab 4b: Monitoring Message Activity and Debugging Orchestrations ...................................... 39 Exercise 1: Track and View Message Activity ........................................................................ 40 Lab 4c: Scripting Administrative Tasks ...................................................................................... 43 Exercise 1: Export and Remove an Application by Using BTSTask......................................... 44 Exercise 2: Import a BizTalk Application by Using BTSTask ................................................... 45 Lab 4d: Monitoring Business Activity ........................................................................................ 46 Exercise 1: Define a Business Activity .................................................................................... 47 Exercise 2: Define an Observation Model.............................................................................. 49 Exercise 3: Deploy the BAM Observation Model ................................................................... 53 Exercise 4: Map a BAM Activity to the Implementation........................................................ 54 Exercise 5: Use the BAM Portal to Test the BAM Implementation ....................................... 58 Lab 5a: Managing a BizTalk Server Group ................................................................................. 60 Exercise 1: Manage BizTalk Hosts .......................................................................................... 62 Exercise 2: Manage MessageBoxes ....................................................................................... 63 Lab 5b: Backing Up and Restoring BizTalk Server Data ............................................................. 64 Exercise 1: Back Up BizTalk Databases .................................................................................. 65 Exercise 2: Delete and Restore the BizTalk Databases .......................................................... 67 Lab 6a: Installing BizTalk 2010 Management Pack .................................................................... 69 Exercise 1: Install BizTalk 2010 Management Pack from System Center Operations Manager console ................................................................................................................... 71 Lab 6b: Generating and Resolving BizTalk Host Instance Alerts................................................ 72 Exercise 1: Generating and Resolving BizTalk Host Instance Alerts ...................................... 73 Lab 6c: Generating and Closing Application Alerts.................................................................... 75 Exercise 1: Generating and Closing Receive Pipeline Errors .................................................. 76 Exercise 2: Generating and Closing Suspended Message Errors ........................................... 77 Lab 1: Examining a BizTalk Application Time estimated: 15 Minutes Scenario Adventure Works is a company that sells sporting goods. Adventure Works has implemented BizTalk Server 2010 to automate its purchase order approval system. In this lab, you will test the process by submitting purchase orders from two companies to the BizTalk Server application that uses schemas, pipelines, maps, and orchestrations. The application calculates and applies a discount based on rules that have been defined by using the Business Rule Composer. The business rules are as follows: Contoso, Ltd. is a preferred business partner. Orders greater than $10,000 receive a 10 percent discount, all other orders receive a 5 percent discount. The AckCode field in each purchase order is updated to reflect the discount percentage. Fabrikam, Inc. is not a preferred business partner. However, orders greater than $10,000 receive a 5 percent discount. The AckCode field is updated with the following text: 5% discount applied. All orders that do not meet the minimum ($10,000) require manual approval. By default, the AckCode field for these orders is set to Does not meet minimum. A message is sent to a SharePoint document library when a purchase order requires manual approval. A manager must manually override the AckCode field with a value of Accepted or Denied before resubmitting the updated purchase order to BizTalk Server for further processing. After the purchase order has been reviewed by the manager, it is included in a view of the SharePoint document library that displays only evaluated orders. BizTalk Server monitors the document library’s Evaluated view for messages to process. If the purchase order is Accepted, BizTalk calculates and updates the total for the purchase order and routes it to the PurchaseOrderAck folder. If the purchase order is Denied, the purchase order is routed to the Denied folder. An FTP site is used to post shipping notices for approved purchase orders. 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 bt10a-01 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, and then click OK. Ensure that the BizTalk Services are started Procedure List 1. In Windows Explorer, navigate to C:\AllFiles. 2. Double click on startBtServices.cmd. 3. When prompted, press any key to close the command-line window. Extend the Office Trial Version Procedure List 1. To extend the expiration date of the Microsoft Office 2010 installation on this virtual machine, navigate to C:\AllFiles\, and then double click extend.cmd. Exercise 1: Test a BizTalk Server Application Overview In this exercise, you will submit five purchase orders—three from Contoso, Ltd., and two from Fabrikam, Inc.—to BizTalk Server 2010 for processing. Depending on the company name and total order amount, the Business Rule Engine will apply a discount to each purchase order. One purchase order will not meet any requirements of the business rule policy and must be manually approved. Shipping information will also be generated for each approved purchase order and posted to an FTP site. This exercise shows you how BizTalk Server 2010 is used to automate business processes. Test the Application Procedure List 1. In Windows Explorer, navigate to C:\AllFiles\LabFiles\Module 1\Messages. 2. Copy the three ContosoPO… and the three FabrikamPO… XML messages to the PurchaseOrderIN folder. These are the purchase orders that will be processed by BizTalk Server. 3. After the messages disappear from the PurchaseOrderIN folder, navigate to the PurchaseOrderAck folder. 4. In the PurchaseOrderAck folder, open each of the four Completed{GUID}.xml messages, and verify that the AckCode field displays X% discount applied or Accepted. 5. In Internet Explorer, type ftp://BizTalkDemo/ShippedOrders in the Address bar, and then press ENTER. 6. When prompted to log in to the FTP site, in the User name box, enter Administrator and in the Password box, enter pass@word1. 7. Open the ShippedOrders folder, and notice the four ShipNotice{GUID}.xml messages. 8. In Internet Explorer, navigate to http://BizTalkDemo/PurchaseOrderAck. 9. Click the first message, and then in the File Download dialog box, click Open. If the Microsoft Office Activation Wizard window appears, click on its Cancel button. Take note of the Customer Name; it is either Contoso or Fabrikam. 10. In the Ack Code list, choose Accept, and then close the form, saving your changes. 11. In the SharePoint navigation menu in Internet Explorer, click on All Documents and choose Evaluated from the drop-down list. The Evaluated view shows applications that have been accepted or rejected. Notice that the message you modified will be picked up for processing. This may take up to one minute to occur, so you may have to refresh your browser. 12. In Windows Explorer, navigate to C:\AllFiles\LabFiles\Module 1\Messages\PurchaseOrderAck, and notice that another message has been processed. 13. In Internet Explorer, navigate to ftp://BizTalkDemo/ShippedOrders. Notice that another ShipNotice{GUID}.xml message is in the folder. 14. Click on Evaluated in the SharePoint navigation menu and choose All Documents from the drop-down list. Click the remaining message, and then in the File Download dialog box, click Open. If the Microsoft Office Activation Wizard window appears, click on its Reject button. Take note of the Applicant Name; it is either Contoso or Fabrik. 15. In the Ack Code list, choose Reject, and then close the form, saving your changes. 16. Refresh the page, and notice that the message will be picked up for processing. This may take up to one minute to occur. 17. In Windows Explorer, navigate to C:\AllFiles\LabFiles\Module 1\Messages\PurchaseOrderAck, and notice that the message does not appear there. 18. In Windows Explorer, navigate to C:\AllFiles\LabFiles\Module 1\Messages\Denied, open the Denied{GUID}.xml message, and notice that the order was not approved. The structure of this message is different from the acknowledgment messages generated for completed orders. The design of this application is to send the original PO as the denied message. 19. Close all open windows, and shut down the virtual machine. Lab 2a: Install and Configure SharePoint Foundation 2010 Time estimated: 15 Minutes Introduction Microsoft SharePoint Foundation 2010 is a prerequisite for installing the Windows SharePoint Services adapter for BizTalk Server. In this lab, you will install and configure Microsoft SharePoint Foundation 2010. 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 bt10a-02 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, and then click OK. Ensure that the BizTalk Services are started Procedure List 1. In Windows Explorer, navigate to C:\AllFiles. 2. Double click on startBtServices.cmd. 3. When prompted, press any key to close the command-line window. Exercise 1: Install SharePoint Foundation 2010 Overview In this exercise, you will install Microsoft SharePoint Foundation 2010. Install SharePoint Foundation 2010 Procedure List 1. In Windows Explorer, navigate to C:\Temp, and then double-click SharePointFoundation.exe. 2. In the Open File – Security Warning window, click Run. 3. In the Microsoft SharePoint Foundation 2010 window, click Install SharePoint Foundation. 4. Click I accept the terms of this agreement, and then click Continue. 5. On the Data Location page, click Install Now, and wait for the installation to complete. 6. In the Microsoft SharePoint Foundation 2010 window, on the Run Configuration Wizard page, click Close. The SharePoint Products Configuration Wizard will launch automatically. Exercise 2: Configure SharePoint Foundation 2010 Overview In this exercise, you will configure SharePoint Foundation 2010, including the Internet Information Services (IIS) Manager application pool, and the SQL Server database and credentials used. Configure SharePoint Foundation 2010 Procedure List 1. In the SharePoint Products Configuration Wizard window, on the Welcome to SharePoint Products page, click Next. 2. In the SharePoint Products Configuration Wizard warning dialog box, click Yes. 3. On the Connect to a server farm page, click Create a new server farm, and then click Next. 4. On the Specify Configuration Database Settings page, in the Database server box, enter BIZTALKDEMO. 5. In the Username box, enter ADVENTUREWORKS\SharePointService, and in the Password box, enter pass@word1, and then click Next. 6. On the Specify Farm Security Settings page, in the Passphrase and Confirm passphrase boxes, enter pass@word1, and then click Next. 7. On the Configure SharePoint Central Administration Web Application page, click Next. 8. On the Completing the SharePoint Products Configuration Wizard page, click Next. 9. Allow the configuration to complete, and then on the Configuration Successful page, click Finish, and wait for the configuration to complete. The SharePoint Central Administration page will be launched automatically. Configure the SharePoint Farm Procedure List 1. In Internet Explorer, on the Help Make SharePoint Better page, click No, I don’t wish to participate, and then click OK. 2. On the How do you want to configure your SharePoint farm? page, click Start the Wizard. 3. Click Use existing managed account, and then click Next. 4. In the Title box, enter Lab2, and then click OK. 5. On the This completes the Farm Configuration Wizard page, click the http://biztalkdemo link to view the new SharePoint site. 6. Verify that the Welcome to your site page appears. 7. Close all open windows and pause the bt10a-02 virtual machine. Lab 2b: Install and Configure BizTalk Server Time estimated: 30 Minutes Introduction In this lab, you will install and configure BizTalk Server 2010. You must have completed Lab 2a in order to successfully complete this lab. Exercise 1: Install BizTalk Server 2010 Overview In this exercise, you will perform an installation of BizTalk Server 2010, choosing the components to be installed. Any missing prerequisites will be installed automatically from the provided CAB file. Install BizTalk Server 2010 Procedure List 1. Resume the bt10a-02 virtual machine. 2. In Windows Explorer, navigate to C:\AllFiles\LabFiles\Module 2\BT Server, and then double-click Setup.exe. 3. In the Microsoft BizTalk Server 2010 Installation Wizard, click Install Microsoft BizTalk Server 2010. 4. On the Customer Information page, click Next 5. On the License Agreement page, click Yes, I accept the terms of the license agreement, and then click Next. 6. On the Customer Experience Improvement Program page, click No, I don’t want to participate in the program, and then click Next. 7. On the Component Installation page, expand Additional Software, select all available components, and then click Next. The prerequisites for the MQSeries Agent have not been installed, so that option will be disabled. 8. On the Summary page, click Install, and then wait for the installation to complete. 9. On the Installation Completed page, ensure that Launch BizTalk Server Configuration is selected, and then click Finish. Exercise 2: Configure BizTalk Server 2010 Overview In this exercise, you will perform a custom configuration of BizTalk Server 2010. You will specify the user account and database names used by BizTalk Server. Manually Configure BizTalk Server 2010 Procedure List 1. If the Microsoft BizTalk Server 2010 Configuration Wizard is not already running, on the Start menu, point to All Programs, point to Microsoft BizTalk Server 2010, and then click BizTalk Server Configuration. 2. In the Microsoft BizTalk Server 2010 Configuration Wizard, click Custom Configuration. 3. Click the Browse button to the right of the User name box. 4. In the Select User dialog box, click the Advanced button, then click Find Now, and in the Search results list, double-click BizTalkHost, and then click OK. 5. In the Password box, enter pass@word1, and then click Configure. 6. In the left pane of the Microsoft BizTalk Server 2010 Configuration Wizard, click Enterprise SSO. 7. In the right pane, select Enable Enterprise Single Sign-On on this computer. Notice that the account information is automatically populated with the account specified on the first page of the wizard. 8. Click the ellipsis (…) to the right of Enterprise Single Sign-On Service, and then in the in the User Credentials dialog box, click Browse. 9. In the Select User dialog box, click the Advanced button, then click Find Now, and in the Search results list, double-click SsoService, and then click OK. 10. In the User Credentials dialog box, in the Password box, enter pass@word1, and then click OK. 11. In the left pane of the Microsoft BizTalk Server 2010 Configuration Wizard, click Enterprise SSO Sign-On Secret Backup. 12. In the right pane, type pass@word1 in the Secret backup password and Confirm password boxes, and then type Default password in the Password reminder box. When you use the Basic Configuration option to configure a BizTalk Server installation, the SSO Single Sign-On secret backup password defaults to the password of the user installing BizTalk Server 2010. 13. In the left pane, click Group. 14. In the right pane, select Enable BizTalk Server Group on this computer. 15. Click the ellipsis (...) to the right of BizTalk Administrators Group. 16. In the Select Group dialog box, click the Advanced button, and then click Find Now. 17. In the Search results list, double-click BizTalk Server Administrators, and then click OK. 18. Click the ellipsis (...) to the right of BizTalk Operators Group. 19. In the Select Group dialog box, click the Advanced button, and then click Find Now. 20. In the Search results list, double-click BizTalk Server Operators, and then click OK. 21. Click the ellipsis (...) to the right of BizTalk B2B Operators Group. 22. In the Select Group dialog box, click the Advanced button, and then click Find Now. 23. In the Search results list, double-click BizTalk Server B2B Operators, and then click OK. 24. In the left pane, click BizTalk Runtime. 25. In the right pane, select Register the BizTalk Server runtime components. 26. Click the ellipsis (…) to the right of BizTalk Isolated Host Instance Account, and then in the in the User Credentials dialog box, click Browse. 27. In the Select User dialog box, click the Advanced button, then click Find Now, and in the Search results list, double-click BizTalkIsoHost, and then click OK. 28. In the User Credentials dialog box, in the Password box, enter pass@word1, and then click OK. 29. Click the ellipsis (...) to the right of BizTalk Host Users Group. 30. In the Select Group dialog box, click the Advanced button, and then click Find Now. 31. In the Search results list, double-click BizTalk Application Users, and then click OK. 32. Click the ellipsis (...) to the right of BizTalk Isolated Host Users Group. 33. In the Select Group dialog box, click the Advanced button, and then click Find Now. 34. In the Search results list, double-click BizTalk Isolated Host Users, and then click OK. 35. In the left pane, click Business Rules Engine. 36. In the right pane, select Enable Business Rules Engine on this computer. 37. Click the ellipsis (…) to the right of Rule Engine Update Service, and then in the in the User Credentials dialog box, click Browse. 38. In the Select User dialog box, click the Advanced button, then click Find Now, and in the Search results list, double-click ReuService, and then click OK. 39. In the User Credentials dialog box, in the Password box, enter pass@word1, and then click OK. 40. In the left pane, click SharePoint Adapter. 41. In the right pane, select Enable Windows SharePoint Services Adapter on this computer. 42. Click the ellipsis (...) to the right of BizTalk SharePoint Adapter Enabled Hosts. 43. In the Select Group dialog box, click the Advanced button, and then click Find Now. 44. In the Search results list, double-click SharePoint Enabled Hosts, and then click OK. 45. In the Windows SharePoint Services Adapter Web Site list, select SharePoint - 80. 46. Click the Apply Configuration button. 47. On the Summary page, click Next. 48. Click Finish. 49. On the Overview page of the Microsoft BizTalk Server 2010 Configuration wizard, notice that BAM Tools, BAM Portal and BizTalk EDI/AS2 Runtime have exclamation points next to them. This is because the components are not configured. 50. Click the Export Configuration button, and then save the file to the desktop. 51. Examine the configuration file. 52. Close all open windows, and shut down the virtual machine. Lab 3a: Deploying an Application by Using an MSI Package Time estimated: 30 minutes Scenario You are responsible for managing and administering the computers running BizTalk Server for Adventure Works. The BizTalk development team has just completed a new version of a BizTalk application and exported it as an MSI package. In this lab, you will remove the previous version of the application, install the new version of the application, and then test its functionality. 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 bt10a-03 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, and then click OK. Ensure that the BizTalk Services are started Procedure List 1. In Windows Explorer, navigate to C:\AllFiles. 2. Double click on startBtServices.cmd. 3. When prompted, press any key to close the command-line window. Exercise 1: Remove the BizTalk Application Overview In this exercise, you will uninstall an older version of the Module 3 application from the computer running BizTalk Server. You will first uninstall the application by using Add or Remove Programs in Control Panel. You will then use the BizTalk Server Administration Console to remove the application from the BizTalk configuration database. Uninstall the Old BizTalk Application Procedure List 1. On the Start menu, point to All Programs, point to Microsoft BizTalk Server 2010, and then click BizTalk Server Administration. 2. In the BizTalk Server Administration Console, expand BizTalk Server Administration, BizTalk Group, and Applications, and then notice that the Module 3 – Uninstall application is displayed. 3. On the Start menu, click Control Panel, and then under Programs, click Uninstall a program. 4. In the Programs and Features window, right-click Module 3 – Uninstall, and then click Uninstall. The application name shown in Add or Remove Programs is the application name associated with the MSI from which the application was installed. This name might not be the same as the one shown in the BizTalk Server Administration Console. 5. After the uninstall completes, close the Programs and Features window. 6. In the BizTalk Server Administration Console, right-click Applications, and then click Refresh. 7. Notice that the Module 3 – Uninstall application is still displayed. Uninstalling the application removes the assembly from the global assembly cache (GAC) of the local computer, but it does not remove the application from the BizTalk Configuration database. You will need to remove the assembly or delete the application by using the BizTalk Server Administration Console. 8. In the BizTalk Server Administration Console, right-click Module 3 – Uninstall, and then click Stop. 9. In the dialog box, click Full Stop – Terminate Instances, and then click Stop. You must terminate any running instances of the application before uninstalling the application. If you do not perform this step, the uninstall will most likely fail. 10. In the BizTalk Server Administration Console, right-click Module 3 – Uninstall, and then click Delete. 11. In the Confirm delete application dialog box, click Yes. 12. Notice that the Module 3 – Uninstall application is no longer displayed. Exercise 2: Deploy a BizTalk Application from an MSI Package Overview Deploying a BizTalk Server application is a two-step process. The BizTalk assembly must be installed to the global assembly cache of the computer running BizTalk Server, and registered in the BizTalk configuration database. In this exercise, you will deploy a BizTalk Server application by using an MSI package. First you will import the MSI package to the BizTalk Server configuration database by using the BizTalk Server Administration Console. Then, you will run the MSI package to install the application to the computer running BizTalk Server. Import the BizTalk MSI Procedure List 1. In the BizTalk Server Administration Console, right-click Applications, point to Import, and then click MSI file. 2. In the Import MSI Wizard, type C:\AllFiles\LabFiles\Module 3\Module3.msi in the MSI file to import box, and then click Next. 3. On the Application Settings page, ensure that the Application name is set to Module 3, select the Overwrite resources check box, and then click Next. 4. On the Application Target Environment Settings page, click Next. 5. On the Import Summary page, click Import. 6. On the Results page, select the Run the Application Installation Wizard to install the application on the local computer check box, and then click Finish. Selecting this check box will start the MSI installation. If you do not select this check box, you must manually execute the Module3.msi file. Install the BizTalk MSI Procedure List 1. On the Select Installation Folder page of the Module 3 window, click Next. 2. On the Welcome to the Module 3 Setup Wizard page, click Next. 3. On the Confirm Installation page, click Next. 4. On the Module 3 Information page, click Next. 5. On the Installation Complete page, click Close. Exercise 3: Start and Test the BizTalk Application Overview In this exercise, you will start and test the BizTalk Server application. Start the BizTalk Application Procedure List 1. In the BizTalk Server Administration Console, notice that the Module 3 application has been added to the list of applications. 2. In the left pane, click Applications, and then notice the red “stopped” icon next to the Module 3 application. 3. Expand the Module 3 application. 4. Click Policies, right-click DiscountPolicy, click Deploy, and then in the Deploy Policy dialog box, click Yes. Deploying a business rule such as this one allows the BRE to evaluate business rules based on calls from orchestrations. The DiscountPolicy business policy is made up of several rules pertaining to company names and total order amounts. These rules, which are described in Lab 1, apply different discounts to orders based on the total order amount and the company placing the order. 5. Click Schemas and then notice the five schemas in this application. Schemas define the structure of XML messages. BizTalk Server uses schemas to ensure that data being sent to BizTalk Server is in the correct structure and has all the information that BizTalk Server needs to process the document. This particular application supports five different schemas. 6. Click Maps, and then notice the three maps in this application. BizTalk Server uses maps to translate and transform data from one format to another. For example, data might be received by BizTalk Server in a flat-file format. BizTalk Server can use a map to transform that data from a flat-file format to XML for further processing. 7. Click Resources, and then notice the OrderManagement assembly—this is the only assembly in this application. Assemblies in BizTalk Server are built and compiled by the BizTalk developer, and they contain BizTalk artifacts such as schemas and maps. Any BizTalk artifacts must be contained in an assembly before they can be used by BizTalk Server. In BizTalk Server, an assembly is compiled as a DLL. 8. Click Receive Ports, and then notice that the MSI package includes two receive ports: RcvPO, and RcvPOReview. Receive ports pick up messages for BizTalk Server to process. 9. Click Receive Locations, and then notice that the RcvPOFILE and RcvPOReviewFILE receive locations are also included in the MSI package. Receive locations specify information such as the physical file location, the adapter used, and the BizTalk Server host used to pick up messages that BizTalk Server processes. In this example, both receive locations are using the FILE adapter type and will poll a specific directory for messages with a file extension of .xml. 10. Click Send Ports and then notice the five send ports that are included in the MSI package. Send ports specify the destination of a message after being processed by BizTalk Server. Send ports allow you to specify settings such as the adapter type, the location to send the message to, and any maps used to transform the message before exiting BizTalk Server. 11. Click Orchestrations, and then notice the two orchestrations listed. Orchestrations are used for more complex processing of messages inside BizTalk Server. Orchestrations are automated business processes that can perform actions such as calling business rules and making calls to Web services. 12. Right-click Module 3 and then click Start. You must start an application before it will process messages. 13. In the Start ‘Module 3’ Application dialog box, click Options, ensure that all the check boxes are selected, and then click Start. Starting an application in this fashion will by default try to start all send ports, orchestrations, and host instances, as well as enable all receive ports and resume suspended service instances. If you need to, each port/location, orchestration, or host can be started or stopped individually. 14. In the left pane, click Applications and then notice that the red “stopped” icon in the right pane has been replaced with the green “running” icon. There is another application status icon, the blue “partially started” icon, which means that at least one port, location, orchestration, or host is not running. Test the BizTalk Application Procedure List 1. In Windows Explorer, navigate to C:\AllFiles\LabFiles\Module 3\Messages. 2. Copy the ContosoPO_Large.xml, ContosoPO_Medium.xml, and ContosoPO_Small.xml files to the POIn folder. Do not move the messages. After the messages have been processed by BizTalk, the original files are not retrievable. If you do accidentally move the messages, additional copies can be found at C:\AllFiles\LabFiles\Module 3\Messages\MessageCopies. 3. After the messages disappear from the POIn folder, navigate to C:\AllFiles\LabFiles\Module 3\Messages\Completed, and then notice the two POAck{GUID}.xml messages. It might take up 2 minutes for the messages to appear. Any messages in this folder have been approved, and a new field—AckCode—has been added, stating the discount amount. 4. Navigate to C:\AllFiles\LabFiles\Module 3\Messages\POReviewOut. Only orders that do not meet the minimum purchase order amount are routed to this folder. 5. Move the {GUID}.xml file from the POReviewOut folder to C:\AllFiles\LabFiles\Module 3\Messages\POReviewIn. Moving the file to this location represents approving the order. 6. Navigate to C:\AllFiles\LabFiles\Module 3\Messages\Completed and notice that another POAck{GUID}.xml file is displayed. This is the message that was manually approved in step 5 when you moved the order to POReviewIn. 7. Delete the three messages in the Completed folder. 8. Navigate to the C:\AllFiles\LabFiles\Module 3\Messages\Shipped folder. These messages contain shipping information for each approved purchase order. 9. Delete the three messages in the Shipped folder. 10. Do not shut down the virtual machine without saving your changes. The configuration you performed in this lab is required for the next lab. Lab 3b: Composing and Deploying Business Rules Time estimated: 15 minutes Scenario The Module 3 application uses a BRE policy to calculate a discount amount for the purchase orders based on the customer name and total order amount. In this lab, you will create a new rule that will provide a 2 percent discount to all orders that do not meet the criteria for any other discounts. After you have composed and tested the rule in the Business Rule Composer, you will deploy and test it within the application. Preparation You must have successfully completed the previous lab before starting this lab. Exercise 1: Create a New Business Rule Overview In this exercise, you will create a new version of the DiscountPolicy business rule policy, and then add a new rule to the policy. Create a New Version of the DiscountPolicy Business Rule Policy Procedure List 1. Resume the bt10a-03 virtual machine. 2. On the Start menu, point to All Programs, point to Microsoft BizTalk Server, and then click Business Rule Composer. 3. In the Open Rule Store dialog box, click OK. 4. Under DiscountPolicy, expand Version 1.0 – Deployed. 5. Right-click DiscountPolicy in Policy Explorer, and then click Add New Version. After a version of a business rule has been published, the rule cannot be changed. However, you can create a new version of a rule and copy and paste from other policies that have been published and deployed. 6. Drag the Large Order Contoso (10% disc) rule to Version 1.1 (not saved). 7. Drag the Large Order Non-Contoso (5% disc) rule to Version 1.1 (not saved). 8. Drag the Small Order Contoso (5% disc) rule to Version 1.1 (not saved). Create the Small Order Non-Contoso (2% disc) Business Rule Procedure List 1. Right-click Version 1.1 (not saved) in Policy Explorer, and then click Add New Rule. 2. Name the rule Small Order Non-Contoso (2% disc). 3. In the IF pane, right-click Conditions, and then click Add logical AND. 4. Right-click AND, point to Predicates, and then click NotEqual. 5. In Facts Explorer, expand Version 1.0 – Published under MyVocabulary. 6. Drag Customer Name from the Vocabularies tab to argument1. 7. Click argument2, and then type Conto in the text box. 8. Right-click AND, point to Predicates, and then click LessThanEqual. 9. Drag Current Order Total from the Vocabularies tab in the Facts Explorer pane to argument1. Current Order Total has been created for you by a BizTalk developer to make your rules easier to understand. This value originates from the Amount field of the PurchaseOrderAck schema. 10. Click argument2, and then type 10000 in the text box. 11. Drag Set AckCode from the Vocabularies tab in the Facts Explorer pane to Actions in the THEN pane. 12. Click <empty string>, and then type 2% discount applied. 13. Drag Discounted total from the Facts Explorer pane to Actions in the THEN pane. 14. Right-click 0, point to Functions, and then click Multiply. 15. Drag Current Order Total from the Facts Explorer pane to value1. 16. Click value2, and then type 0.98. Here you are applying the 2 percent discount to non-Contoso orders that have a total order amount less than or equal to $10,000. Exercise 2: Deploy and Test the New Policy Overview Publishing the policy makes the policy immutable, and deploying the policy makes it available for other applications to use. BizTalk Server uses the latest deployed version of each business rule engine policy. In this exercise, you will deploy a new version of the DiscountPolicy and then test it by using the BizTalk Server application. Deploy Version 1.1 of the DiscountPolicy Business Rule Policy Procedure List 1. In Policy Explorer, right-click Version 1.1 (not saved), and then click Save. 2. Right-click Version 1.1 in Policy Explorer, and then click Publish. 3. Right-click Version 1.1 in Policy Explorer, and then click Deploy. Test the New Policy Version Procedure List 1. In Windows Explorer, navigate to C:\AllFiles\LabFiles\Module 3\Messages. 2. Open ContosoPO_Large.xml, notice that the customer name is Conto, and then close Internet Explorer. The total order amount of this order is 10300. 3. Open FabrikamPO_Large.xml, notice that the customer name is Fabrik, and then close Internet Explorer. The total order amount of this order is 10300. 4. Copy ContosoPO_Large.xml and FabrikamPO_Large.xml to the C:\AllFiles\LabFiles\Messages\POIn folder. 5. Navigate to C:\AllFiles\LabFiles\Module 3\Messages\Completed, notice the two POAck{GUID}.xml messages. 6. Open both POAck{GUID}.xml messages. Notice that the message with a customer name of Fabrik has 5% discount applied in the AckCode field, and that the message with Conto as the customer name has 10% discount applied in the AckCode field. 7. Close Internet Explorer, and then delete all the messages in the Completed folder. 8. In Windows Explorer, navigate to C:\AllFiles\LabFiles\Module 3\Messages. 9. Open FabrikamPO_Medium.xml. Notice that the total order amount will equal 1030 and that the customer name is Fabrik, and then close Internet Explorer. 10. Copy FabrikamPO_Medium.xml to the POIn folder. 11. Navigate to C:\AllFiles\LabFiles\Module 3\Messages\Completed, and then open the POAck{GUID}.xml message. Notice that the customer name is Fabrik and that the AckCode field contains the text 2% discount applied. 12. Close Internet Explorer, and then delete the message from the Completed folder. 13. In Windows Explorer, navigate to C:\AllFiles\LabFiles\Module 3\Messages. 14. Open the ContosoPO_Small.xml file, notice that the customer name is Conto and that the total order amount will equal 526, and then close Internet Explorer. 15. Copy ContosoPO_Small.xml to the POIn folder. 16. Navigate to C:\AllFiles\LabFiles\Module 3\Messages\POReviewOut. This folder simulates a more advanced process of manually approving the order. 17. Move the {GUID}.xml files to C:\AllFiles\LabFiles\Module 3\Messages\POReviewIn. Moving the message to this folder represents approving the order. 18. Navigate to C:\AllFiles\LabFiles\Module 3\Messages\Completed. 19. Open the POAck{GUID}.xml file. 20. Notice that the customer name is Conto and that the AckCode field contains the text 5% discount applied. 21. Close all open windows, and shut down the virtual machine. Lab 4a: Administering a BizTalk Application Time estimated: 45 minutes Scenario In previous labs, all send and receive ports were provided for you. In this lab, you will create send and receive ports. After you have created the physical ports, you will bind them to the orchestration, and then submit several purchase orders to the BizTalk Server application to see whether the purchase orders are successfully processed. 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 bt10a-04 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, and then click OK. Ensure that the BizTalk Services are started Procedure List 1. In Windows Explorer, navigate to C:\AllFiles. 2. Double click on startBtServices.cmd. 3. When prompted, press any key to close the command-line window. Extend the Office Trial Version Procedure List 1. To extend the expiration date of the Microsoft Office 2010 installation on this virtual machine, navigate to C:\AllFiles\, and then double click extend.cmd. Exercise 1: Create Receive Ports and Locations Overview BizTalk Server receive ports can have one or more receive location. In this exercise, you will use BizTalk Server Administration Console to create a receive port with a single receive location that uses the FILE adapter to process purchase orders from a directory. You will then create and configure another receive port and a POP3 receive location. Create and Configure a Receive Port and FILE Receive Location Procedure List 1. On the Start menu, point to All Programs, point to Microsoft BizTalk Server 2010, and then click BizTalk Server Administration. 2. In the BizTalk Server Administration Console, expand BizTalk Server Administration, BizTalk Group, Applications, and Module 4, and then click Orchestrations. 3. Double-click the ProcessOrder.OrchProcessOrder orchestration. 4. In the Orchestration Properties dialog box, click Bindings. 5. Notice that this orchestration has two Inbound Logical Ports and four Outbound Logical Ports listed. Logical ports are found in orchestrations, and they are used to specify logical entry and exit points for messages as they are being processed by the orchestration. All logical ports must be “bound” to physical ports before an orchestration can process messages. 6. Click Cancel. 7. Right-click Receive Ports, point to New, and then click One-way Receive Port. 8. In the Receive Port Properties dialog box, change the Name to PurchaseOrders, and then click Receive Locations. Naming receive ports with descriptive names is important for tracking and troubleshooting later. 9. Click the New button. 10. In the Receive Location Properties dialog box, change the Name to PurchaseOrdersFILE, click FILE in the Type list, and then click Configure. Here you are creating a physical receive location that will use the FILE adapter to pick up messages for processing by the orchestration. 11. In the FILE Transport Properties dialog box, click the Browse button. 12. In the Browse For Folder dialog box, expand Computer, Local Disk (C:), AllFiles, LabFiles, Module 4, and Messages, click PurchaseOrderIN, and then click OK. Notice that you can create new folders from here if a folder does not already exist. 13. In the FILE Transport Properties dialog box, click OK. 14. In the Receive Location Properties window, click XMLReceive in the Receive pipeline list, and then click OK. Receive pipelines handle such processes as decrypting a file and making sure the inbound document matches a particular schema. In this case, any documents processed by this receive location must be well-formed XML. 15. In the Receive Port Properties dialog box, click OK. Create and Configure a SharePoint Receive Location Procedure List 1. In the BizTalk Server Administration Console, right-click Receive Ports, point to New, and then click One-way Receive Port. 2. In the Receive Port Properties dialog box, in the Name box, type ManualReview. 3. Click Receive Locations, and then click New. 4. In the Receive Location Properties dialog box, in the Name box, type PurchaseOrderAckSharePoint. 5. In the Type list, click Windows SharePoint Services. In the Receive pipeline list, click XMLReceive, and then click Configure. 6. In the Windows SharePoint Services Transport Properties dialog box, under General, configure the properties as they appear in the following table, and then click OK. Property Setting Polling Interval 60 SharePoint Site URL http://BIZTALKDEMO Source Document Library URL PurchaseOrderAck View Name Evaluated The SharePoint adapter will process all messages displayed by the view specified. This receive location will process messages displayed by the Evaluated view. 7. Click OK twice. Exercise 2: Create Send Ports Overview BizTalk Server uses send ports to communicate with external systems. In this exercise, you will create four send ports. The first is an FTP send port that is used to send shipping information for all successfully processed purchase orders. The second is an SMTP port that is used to forward purchase orders that need approval to the sales manager. The last two send ports are used to separate approved and denied purchase orders into file folders. Create and Configure an FTP Send Port Procedure List 1. In the BizTalk Server Administration Console, under Module 4, right-click Send Ports, point to New, and then click Static One-way Send Port. 2. In the Send Port Properties dialog box, change the Name to ShipNoticeFTP, click FTP in the Type list, and then click Configure. FTP is one of several types of adapters that BizTalk Server can use to send documents after they have been processed. Global configuration settings for the FTP adapter can be found in the Adapters section of the Microsoft BizTalk Server Administration Console, under Platform Settings. 3. In the FTP section of the FTP Transport Properties dialog box, configure the properties as shown in the following table. Leave all other properties at the default settings, and then click OK. The Target File Name property adds the prefix ShipNotice to the GUID associated with each approved purchase order’s shipment information. Property Setting Folder ShippedOrders Password pass@word1 Note: Click the down arrow to the right of the Password box before entering the password. Server BIZTALKDEMO Target File Name ShipNotice%MessageID%.xml User Name Administrator 4. In the Send Port Properties window, click OK. Create and Configure a SharePoint Send Port Procedure List 1. In the BizTalk Server Administration Console, under Module 4, right-click Send Ports, point to New, and then click Static One-way Send Port. 2. In the Send Port Properties dialog box, change the Name to ManualReviewSharePoint. 3. In the Type list, click Windows SharePoint Services, and then click Configure. 4. In the Windows SharePoint Services Transport Properties dialog box, under General, configure the properties as they appear in the following table, and then click OK. Property Setting Destination Folder URL PurchaseOrderAck Filename PoAck%MessageID%.xml SharePoint Site URL http://BIZTALKDEMO This send port will send messages to a SharePoint Document Library named PurchaseOrderAck. 5. Click OK to close the Send Port Properties dialog box. Create and Configure a FILE Send Port for Denied Orders Procedure List 1. In the BizTalk Server Administration Console, right-click Send Ports, point to New, and then click Static One-way Send Port. 2. In the Send Port Properties dialog box, change the Name to DeniedFILE, click FILE in the Type list, and then click Configure. Notice that the word FILE appears in the name of the send port. It is a good practice to include the adapter type in the name of your send ports for ease of tracking and troubleshooting. 3. In the FILE Transport Properties dialog box, click the Browse button. 4. In the Browse For Folder dialog box, expand Computer, Local Disk (C:), AllFiles, LabFiles, Module 4, and Messages, click Denied, and then click OK. 5. In the FILE Transport Properties dialog box, change the File name to Denied%MessageID%.xml, and then click OK. This prepends the word Denied to the name of any messages dropped in this folder. Only messages that have been explicitly denied by the sales manager should end up in this folder. 6. In the Send Port Properties window, click OK. Create and Configure a FILE Send Port for Approved Orders Procedure List 1. In the BizTalk Server Administration Console, right-click Send Ports, point to New, and then click Static One-way Send Port. 2. In the Send Port Properties window, change the Name to POAckFILE, click FILE in the Type list, and then click Configure. 3. In the FILE Transport Properties dialog box, click the Browse button. 4. In the Browse For Folder dialog box, expand Computer, Local Disk (C:), AllFiles, LabFiles, Module 4, and Messages, click PurchaseOrderAck, and then click OK. 5. In the FILE Transport Properties dialog box, change the File name to Completed%MessageID%.xml, and then click OK. This pre-pends the word Completed to the name of any messages dropped in this folder. Only purchase orders that were successfully processed should end up in this folder. 6. In the Send Port Properties dialog box, click OK. Exercise 3: Bind the Orchestration Overview In this exercise, you will bind the orchestration’s logical ports to the physical send and receive ports that you created in earlier exercises. Configure the Orchestration Bindings Procedure List 1. In the BizTalk Server Administration Console, click Orchestrations. 2. Right-click ProcessOrder.OrchProcessOrder, and then click Properties. 3. In the Orchestration Properties window, click Bindings. 4. In the Orchestration Properties window, configure the properties as shown in the following table, and then click OK. Notice that logical receive ports can be bound only to physical receive locations and logical send ports can be bound only to physical send ports. Property Setting Host BizTalkServerApplication RcvPO PurchaseOrders RcvPOReview ManualReview SndPOReview ManualReviewSharePoint SndError DeniedFILE SndShipNotice ShipNoticeFTP SndFinalPOAck POAckFILE Exercise 4: Start and Test the Application Overview In this exercise, you will start and test the BizTalk Server application that processes purchase orders. Start the Application Procedure List 1. In the BizTalk Server Administration Console, right-click Module 4, and then click Start. 2. Notice that the Configure Application dialog box states that the application cannot be started because it is not fully configured. Click Yes to finish configuring the application. 3. In the Configure Application window, notice that the orchCalculateShipping orchestration has a yellow exclamation point next to it. This orchestration has not been fully configured. Until all orchestrations are configured, the application cannot start. 4. Click orchCalculateShipping. 5. Click BizTalkServerApplication in the Host list, and then click OK. The BizTalk host defines the process boundary in which the orchestration will run. Notice that this orchestration does not have any ports. It communicates internally with the ProcessOrder.OrcheProcessOrder orchestration. 6. In the BizTalk Server Administration Console, right-click Module 4, and then click Start. 7. In the Start ‘Module 4’ Application dialog box, click Options, ensure that all of the check boxes are selected, and then click Start. Test the Application Procedure List 1. In Windows Explorer, navigate to C:\AllFiles\LabFiles\Module 4\Messages. 2. Copy the three ContosoPO… and the two FabrikamPO… XML messages to the PurchaseOrderIN folder. Do not move the messages. After the messages have been processed by BizTalk, the original files are not retrievable. 3. After the messages disappear from the PurchaseOrderIN folder, navigate to the PurchaseOrderAck folder. 4. In the PurchaseOrderAck folder, notice the four Completed{GUID}.xml messages, open each, and verify that the AckCode field displays X% discount applied. 5. In Internet Explorer, type ftp://BIZTALKDEMO/ShippedOrders in the Address bar, and then press ENTER. 6. When prompted to log in, in the User name box, enter Administrator, and in the Password box, enter pass@word1, then click Log On. 7. Notice the four ShipNotice{GUID}.xml messages. 8. In Internet Explorer, navigate to http://BIZTALKDEMO/PurchaseOrderAck. 9. Click the message, and then in the File Download dialog box, click Open. If the Microsoft Office Activation Wizard window appears, click on its Cancel button. Take note of the Customer Name; it is either Contoso or Fabrik. 10. In the Ack Code list, choose Accept, and then close the form, saving your changes. 11. In the SharePoint navigation menu in Internet Explorer, click on All Documents and choose Evaluated from the drop-down list. The Evaluated view shows purchased that have been accepted or rejected. Notice that the message you modified will be picked up for processing. This may take up to one minute to occur, so you may have to refresh your browser. 12. In Windows Explorer, navigate to C:\AllFiles\LabFiles\Module 4\Messages\PurchaseOrderAck, and notice that another message has been processed. 13. Pause the bt10a-04 virtual machine. Lab 4b: Monitoring Message Activity and Debugging Orchestrations Time estimated: 30 minutes Scenario In this lab, you will use the BizTalk Group Hub to troubleshoot archived messages. You will also use the Group Hub page in the Microsoft BizTalk Server Administration Console to track running business processes. Preparation You must have successfully completed the previous lab before starting this lab. Exercise 1: Track and View Message Activity Overview The BizTalk Group Hub page is used to view the details of running service instances, as well as those of completed instances. In this exercise, you will use the Group Hub to view the message flow of the messages that were processed in the previous lab. Then you will use the Group Hub page to troubleshoot a running service instance. Track Archived Message Activity by Using the BizTalk Group Hub Procedure List 1. In Windows Explorer, navigate to C:\AllFiles\LabFiles\Module 4\Messages. 2. Copy ContosoPO_Large.xml to the PurchaseOrderIN folder. 3. In the BizTalk Server Administration Console, in the left pane, click BizTalk Group. 4. Press the F5 key to refresh the page. 5. On the BizTalk Group Hub page, beneath the Tracked Service Instances heading, click the Completed instances link. 6. In the Query results pane, right-click the first record that is listed with a Service Name of Microsoft.BizTalk.DefaultPipelines.XMLReceive, and then click Message Flow. 7. Maximize the Message Flow window. 8. The top section of the Message Flow window displays helpful troubleshooting information about this service instance, such as Host, Type, Start Time, and End Time. 9. The lower section displays the flow of the message instance. This message was received as an Unparsed Interchange through the PurchaseOrders port. It was then sent to the ProcessOrder.OrchProcessOrder orchestration by using the PurchaseOrders port. 10. Click the ProcessOrder.OrchProcessOrder link at the bottom of the page. 11. Notice that the Type of the service is Orchestration, the State is Completed. 12. In the lower section, notice that the message was received with the RcvPO port, sent through the SndShipNotice and SndFinalPOAck ports. 13. Click the Microsoft.BizTalk.DefaultPipelines.PassThruTransmit link in the SndShipNotice port section. 14. Information about the service instance is displayed. 15. Click the ProcessOrder.OrchProcessOrder link. View Running Instances by Using the Group Hub Page Procedure List 1. In Windows Explorer, navigate to C:\AllFiles\LabFiles\Module 4\Messages, and then copy BadNameSpace.xml and ContosoPO_Small.xml to the PurchaseOrderIN folder. 2. In the BizTalk Server Administration Console, in the center pane, click the Group Hub tab. 3. Press F5 to refresh the page. Notice that there is one Running service instance and one Suspended service instance shown as Resumable. Remember to refresh the Group Hub page periodically, especially if you have made a change and want to see new information on a running orchestration instance. If a service instance is marked as Resumable, it will continue to process the message after the error is fixed. 4. Click Running service instances. 5. In the bottom pane of the Group Overview page, right-click ProcessOrder.OrchProcessOrder, and then click Message Flow. The Message Flow window allows you to track the message. 6. Close the Message Flow window. 7. In the lower pane, right-click ProcessOrder.OrchProcessOrder, and then click Service Details. The General tab contains information such as the start time, service class, and status of the selected service. 8. Click the Messages tab. 9. Double-click the message with the Message Type of http://MyCompany/OrderMgmt.PurchaseOrder#PurchaseOrder to open the Message Details dialog box. The General tab of the Message Details window displays information about this message instance. 10. In the left pane, click Context. The Context tab of the Message Details window displays the message context information that is used to route and track the message. 11. In the left pane, click body. The body tab of the Message Details window displays the message body. 12. Close the Message Details dialog box, and then close the Service Details dialog box. 13. In Internet Explorer, navigate to http://BIZTALKDEMO/PurchaseOrderAck. 14. Click the message, and then in the File Download dialog box, click Open. If the Microsoft Office Activation Wizard window appears, click on its Cancel button. Take note of the Customer Name; it is either Contoso or Fabrik. 15. In the Status list, choose Accept, and then close the form, saving your changes. 16. In Windows Explorer, navigate to C:\AllFiles\LabFiles\Module 4\Messages\PurchaseOrderAck, and notice that the processed message is here. It might take up to one minute for the message to appear. 17. In the BizTalk Server Administration Console, click the Group Hub tab, and then press the F5 key to refresh the data. The running service instance has now been completed and is no longer displayed here. 18. Under Suspended Items, click Resumable. 19. In the lower pane, double-click the service instance with a Service Name of PurchaseOrders. The General tab contains information such as the start time, service class, and status of the selected service. 20. Click the Error Information tab. You can use the information on this tab to troubleshoot errors in the message. You can also use Event Viewer to see BizTalk error messages. 21. Click the Messages tab. 22. Double-click the message in the lower pane. 23. In the Message Details dialog box, click body. Notice in the first line that the namespace (xmlns:ns0=“http://BADNAMESPACEDATA”) is not a valid namespace, in that there are no assemblies deployed with a schema with this namespace. The namespace should be http://MyCompany/OrderMgmt.PurchaseOrder. 24. On the File menu, click Save Message, and then click OK. 25. In the BizTalk Server Administration Console message box, click OK. 26. In the Browse for Folder dialog box, navigate to C:\AllFiles\LabFiles\Module 4\Messages, and then click OK. 27. In the BizTalk Server Administration Console message box, click OK. 28. Close the Message Details window, and then close the Service Details window. 29. In the lower pane, right-click the PurchaseOrders service, and then click Terminate Instance. 30. Click Yes, and then click OK. 31. Click the Run Query button, and notice that there are no more Suspended (resumable) instances. 32. In Windows Explorer, navigate to C:\AllFiles\LabFiles\Module 4\Messages. Notice the two new files that have been created; one is the context of the saved message, the other is the message itself, saved as an OUT file. 33. Rename the {GUID}_{GUID}_body.out file FixedNameSpace.xml. 34. Right-click FixedNameSpace.xml, and then click Edit. 35. In the first line of the message, change http://BadNameSpace to http://MyCompany/OrderMgmt.PurchaseOrder, and then save and close the message. 36. Copy FixedNameSpace.xml to the PurchaseOrderIN folder, and then navigate to the PurchaseOrderAck folder and notice that the message was processed correctly. 37. Close all open windows, and pause the bt10a-04 virtual machine. Lab 4c: Scripting Administrative Tasks Time estimated: 15 minutes Scenario BTSTask is a command-line utility used by BizTalk Server administrators for performing common administrative tasks such as exporting an application to an MSI file, adding BizTalk Server applications to a computer running BizTalk Server, or removing applications from a computer running BizTalk Server. BTSTask can be used to script actions that are performed multiple times on one or more servers. In this lab, you will use BTSTask to export an application to an MSI file, remove the exported application, and then import a separate MSI package. More information about the use of BTSTask can be obtained by typing BTSTask /? at the command prompt. Preparation You must have successfully completed the previous lab before starting this lab. Exercise 1: Export and Remove an Application by Using BTSTask Overview Exporting an application to an MSI package groups all assemblies, ports, other artifacts, and binding information into an MSI package for easy distribution to other computers running BizTalk Server. In this exercise, you will export the Module 4 application to an MSI package by using the BTSTask command-line utility. You will then remove the Module 4 application. Export the Module 4 Application Procedure List 1. On the Start menu, click Run. 2. In the Open box in the Run dialog box, type cmd, and then press ENTER. 3. In the command prompt window, type btstask /?, and then press ENTER to view the available commands. 4. Type the following command and then press ENTER. BTSTask ExportApp –ApplicationName:“Module 4” –Package:“C:\ExportMod4.msi” This step packages up all ports and artifacts in the Module 4 application into the ExportMod4.msi file. Remove the Module 4 Application Procedure List 1. On the Start menu, point to All Programs, point to Microsoft BizTalk Server 2010, and then click BizTalk Server Administration. 2. In the BizTalk Server Administration Console, expand BizTalk Server Administration, BizTalk Group, Applications, right-click Module 4, and then click Stop. You must stop the application before you can remove it from the computer running BizTalk Server. 3. In the Stop ‘Module 4’ Application dialog box, click Full Stop – Terminate instances, and then click Stop. Performing a full stop terminates any running, suspended, or dehydrated instances of the orchestration. If any running, suspended, or dehydrated instances are present in memory, the remove will fail. 4. In the command prompt window, type the following command and then press ENTER. BTSTask RemoveApp –ApplicationName:“Module 4” 5. In the BizTalk Server Administration Console, right-click Applications, and then click Refresh. Notice that the Module 4 application is no longer listed. Exercise 2: Import a BizTalk Application by Using BTSTask Overview In this exercise, you will import a BizTalk Server application by using a MSI package. After the application has been imported, you will configure and start the application. The Module 4 BAM application will be used in the next lab to test Business Activity Monitoring. Import the Module 4 BAM Application Procedure List 1. In the command prompt window, type the following command and then press ENTER. BTSTask ImportApp -Package:"C:\AllFiles\LabFiles\Module 4 BAM\Module4-BAM.msi" -ApplicationName:"Module 4 BAM" 2. In the BizTalk Server Administration Console, right-click Applications, then click Refresh and notice that the Module 4 application has been removed, and that the Module 4 BAM application has been deployed. 3. Right-click Module 4 BAM, and then click Configure. 4. In the Configure Application window, click OrderMgmtProcess, notice that the ports and host have been configured, and then click OK. 5. Right-click Module 4 BAM, and then click Start. Starting the application enables any receive ports, starts any send ports, and makes the application available for testing. 6. In the Start ‘Module 4 BAM’ Application dialog box, click Start. 7. Close all open windows and pause the bt10a-04 virtual machine. Lab 4d: Monitoring Business Activity Time estimated: 60 minutes Scenario BAM is a tool that is used to gather business data from archived and running business processes. In this lab, you will use several tools, spanning multiple user roles, to configure BAM to analyze data being processed by BizTalk Server. Preparation You must have successfully completed the previous lab before starting this lab. 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. 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. 6. Navigate to C:\Program Files (x86)\Microsoft BizTalk Server 2010\ExcelDir, click Bam.xla, and then click Open. 7. in the Add-Ins available list, check Business Activity Monitoring, then click OK. 8. In the Excel menu ribbon, on the Add-Ins tab, click BAM, and then click BAM Activity. 9. In the Business Activity Monitoring Activity Definition dialog box, click New Activity. 10. In the Activity name box, enter OrderMgmt. 11. 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. 12. 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. 13. 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 “\Program Files (x86)\Microsoft BizTalk Server 2010 (x86)\tracking”, and then press ENTER. 4. In the command prompt window, type bm.exe deploy-all -DefinitionFile: “C:\AllFiles\LabFiles\Module 4 BAM\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 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 TheImplementationOfOrderMgmt.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 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 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 TheImplementationOfOrderMgmt.OrderMgmtProcess, and then click OK. 4. Drag the FulfillmentDelay shape from the orchestration to the approved milestone in the left pane. 5. 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. 6. 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 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 TheImplementationOfOrderMgmt.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, verify that the profile was deployed successfully, and then 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. Ensure that the BizTalk Services are started Procedure List 1. In Windows Explorer, navigate to C:\AllFiles. 2. Double click on startBtServices.cmd. 3. When prompted, press any key to close the command-line window. Configure SQL Server Analysis Services Proactive Caching Procedure List 1. In Windows Explorer, navigate to C:\AllFiles\LabFiles\Module 4 BAM and doubleclick cfgBAMPart.cmd. 2. When prompted, press any key to close the command-line window.. This script configures SQL Server Analysis Services to refresh the OrderMgmt OLAP cube every second. While this may be suitable in a development environment, it would severely affect performance as the application processes under heavier load. Generate Initial Inbound Flow of Purchase Orders Procedure List 1. In Windows Explorer, double-click the file C:\AllFiles\LabFiles\Module 4 BAM\Messages\Send20POs.bat. The batch file used here generates 20 test orders so that you will have some data to analyze in this exercise. 2. Close the Command Prompt window. 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 1. Double-click the file C:\AllFiles\LabFiles\Module 4 BAM\ Messages\Send20POs.bat to create and submit 20 new purchase orders. Review the Detailed Status Information Procedure List 1. Click the plus sign (+) to expand the function named Activity Search, and then click OrderMgmt. 2. 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. 3. 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. Lab 5a: Managing a BizTalk Server Group Time estimated: 15 Minutes Scenario You can create additional BizTalk hosts and MessageBoxes to provide for scalability and security. In this lab, you will create a new BizTalk host. You will also create a new BizTalk MessageBox database. 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 bt10a-05 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, and then click OK. Ensure that the BizTalk Services are started Procedure List 1. In Windows Explorer, navigate to C:\AllFiles. 2. Double click on startBtServices.cmd. 3. When prompted, press any key to close the command-line window. Exercise 1: Manage BizTalk Hosts Overview BizTalk hosts provide the context that BizTalk Server components (orchestrations and ports) run under. Using multiple hosts can provide scalability and security for the BizTalk Server environment. In this exercise, you will create a new BizTalk host, an instance of the host, and then reconfigure an orchestration to use the new host instance. Create a New BizTalk Host and Host Instance Procedure List 1. On the Start menu, point to All Programs, point to Microsoft BizTalk Server 2010, and then click BizTalk Server Administration. 2. Expand BizTalk Server 2010 Administration, expand BizTalk Group, and then expand Platform Settings. 3. In the left pane of the BizTalk Server Administration Console, click Hosts. 4. Right-click Hosts, point to New, and then click Host. 5. In the Name field, type PurchaseOrderProcHost. 6. Select the Authentication Trusted check box. 7. In the Windows group field, type ADVENTUREWORKS\BizTalk Application Users, and then click OK. 8. In the left pane of the BizTalk Administration Console, click Host Instances. 9. Right-click Host Instances, point to New, and then click Host Instance. 10. Set the Host name to PurchaseOrderProcHost, and then set Server to BIZTALKDEMO. 11. Click the Configure button. 12. In the Logon Credentials dialog box, type ADVENTUREWORKS\PurchaseOrderHost as the logon name and pass@word1 as the password. 13. Click OK twice. Change the Host Instances Used by an Orchestration Procedure List 1. In the left pane of the BizTalk Administration Console, right-click BizTalk Group, and then click Refresh. 2. Expand Applications, and then expand Module 5. 3. Click Orchestrations, right-click ProcessOrder.OrchProcessOrder, and then click Unenlist. 4. Double-click ProcessOrder.OrchProcessOrder. 5. In the Orchestration Properties dialog box, click Bindings in the left pane, then click PurchaseOrderProcHost in the Host list, and then click OK. 6. Right-click the Module 5 application, and then click Start. 7. In the Start ‘Module 5’ Application dialog box, click Start. Exercise 2: Manage MessageBoxes Overview Multiple Messagebox databases can be used to provide scalability for your BizTalk environment. For performance reasons, when you add a second MessageBox database to the BizTalk group it is recommended that a third be created as well. In this exercise, you will create a second BizTalk MessageBox. Create an Additional Message Box Database Procedure List 1. In the left pane of the BizTalk Administration Console, under Platform Settings, click Message Boxes. 2. Right-click Messages Boxes, point to New, and then click Message Box. 3. In the Message Box Properties dialog box, type BIZTALKDEMO in the SQL server box, and then type BizTalkMsgBoxDb2 in the Database box. 4. Click OK. 5. Close all open windows. Lab 5b: Backing Up and Restoring BizTalk Server Data Time estimated: 30 Minutes Scenario All BizTalk implementations should include a comprehensive recovery plan that includes database backup and restoration procedures. In this lab, you will back up the BizTalk Server databases. To test the backups, you will delete all the databases from SQL Server and then restore them from the backups. Preparation You must have successfully completed the previous lab before starting this lab. Exercise 1: Back Up BizTalk Databases Overview When the BizTalk Server configuration is performed and as the databases are created on a computer running SQL Server, a SQL Server agent job is also created. This job automates the process of backing up the BizTalk databases. A schedule to perform both full and incremental backups of these databases should be enabled. In this exercise, you will perform a full back up the BizTalk Server databases. Configure the SQL Server Job Procedure List 1. On the Start menu, point to All Programs, point to Microsoft SQL Server 2008, and then click SQL Server Management Studio. 2. In the Connect to Server dialog box, click Connect. 3. In Object Explorer, expand SQL Server Agent and Jobs. 4. Right-click the Backup BizTalk Server job, and then click Properties. 5. In the Job Properties - Backup BizTalk Server (BizTalkMgmtDb) dialog box, on the Steps page, select BackupFull, and then click the Edit button. 6. On the General page, in the Command box, edit the command by changing ‘<destination path>’ to ‘C:\AllFiles\LabFiles\Module 5\BizTalkBackup’, and then click OK. To avoid potential data loss, you should actually specify a computer for your backup that is different from the computer with the original data. 7. On the Steps page, click MarkAndBackupLog, and then click Edit. 8. On the General tab, in the Command box, edit the command by changing ‘<destination path>’ to ‘C:\AllFiles\LabFiles\Module 5\BizTalkBackup\Logs’, and then click OK. Note that ‘Module 5’ within this path contains a space character. 9. On the Steps page, select Clear Backup History, and then click Edit. 10. On the General page, in the Command box, notice the DaysToKeep=14 option, which indicates that the backup history will be kept for 14 days, and then click Cancel. Schedule the Backup BizTalk Server Job Procedure List 1. In the Job Properties - Backup BizTalk Server (BizTalkMgmtDb) dialog box, on the Schedules page, select MarkAndBackupLogSched, and then click the Edit button. 2. Review the Job Schedule Properties dialog box—by default, this job is scheduled to run every 15 minutes of every day. 3. Click One time in the Schedule type list, and then click OK. 4. In the Job Properties - Backup BizTalk Server (BizTalkMgmtDb) dialog box, click OK. Back Up the BizTalk Server Databases Procedure List 1. In Microsoft SQL Server Management Studio, right-click Backup BizTalk Server (BizTalkMgmtDb), and then click Enable. 2. In the Enable Jobs - BIZTALKDEMO dialog box, click Close. 3. In Microsoft SQL Server Management Studio, right-click Backup BizTalk Server (BizTalkMgmtDb), and then click Start Job at Step. 4. In the Start Job on ’BIZTALKDEMO’ dialog box, click Start. 5. In the Start Jobs - ‘BIZTALKDEMO’ dialog box, after the job has completed successfully, click Close. Exercise 2: Delete and Restore the BizTalk Databases Overview A careful disaster recovery plan should include occasional test restorations of the BizTalk databases. In this exercise, you will delete the BizTalk databases, and then restore the databases from the back up created in the previous exercise. Delete Existing BizTalk Databases Procedure List 1. On the Start menu, point to Administrative Tools, and then click Services. 2. Right-click Enterprise Single Sign-On Service, click Stop, and then click Yes in the Stop Other Services dialog box. 3. In Microsoft SQL Server Management Studio, in Object Explorer, click Databases, then in the View menu, click Object Explorer Details. 4. In the right pane, click each of the following databases while holding down the CTRL key: BAMPrimaryImport, BizTalkDTADb, BizTalkMgmtDb, BizTalkMsgBoxDb, and BizTalkMsgBoxDb2. 5. Right-click the selected items, and then click Delete. 6. In the Delete Objects dialog box, select the Close existing connections checkbox, and then click OK. 7. In the left pane, click Databases, then press the F5 key to refresh the view, and then verify that the databases are no longer listed. 8. On the Start menu, point to All Programs, point to Microsoft BizTalk Server 2010, and then click BizTalk Server Administration. 9. Expand BizTalk Server 2010 Administration, and then click BizTalk Group. An error message appears because the BizTalkMgmtDb database does not exist. If the BizTalk Administration Console was already open, then you will need to press the F5 key to see the error message. 10. Close the BizTalk Server Administration Console. Restore the BizTalk Database Procedure List 1. In Microsoft SQL Server Management Studio, right-click Databases, and then click Restore Database. 2. In the To database box, type BAMPrimaryImport, click From device, and then click the ellipsis (…) button. 3. In the Specify Backup dialog box, click Add. 4. In the Locate Backup File dialog box, navigate to C:\AllFiles\LabFiles\Module 5\BizTalkBackup, select BIZTALKDEMO_BAMPrimaryImport_Full_BTS….bak, and then click OK. 5. In the Specify Backup dialog box, click OK. 6. In the Restore Database dialog box, in the Select the backup sets to restore list, select the Restore check box, and then click the Options tab. 7. On the Options tab, select Overwrite the existing database, and then click OK. 8. In the Restore Database dialog box, click OK. 9. In the Microsoft SQL Server Management Studio dialog box, verify that the message states that the database was restored successfully, and then click OK. 10. Repeat the preceding steps for the following databases: To database Backup file BizTalkMsgBoxDb2 BIZTALKDEMO_ BizTalkMsgBoxDb2_Full….bak BizTalkDTADb BIZTALKDEMO_ BizTalkDTADb_Full….bak BizTalkMgmtDb BIZTALKDEMO_ BizTalkMgmtDb._Full….bak BizTalkMsgBoxDb BIZTALKDEMO_ BizTalkMsgBoxDb_Full….bak 11. Close Microsoft SQL Server Management Studio. 12. In the Services window, right-click Enterprise Single Sign-On Service, then click Start. 13. On the Start menu, point to All Programs, point to Microsoft BizTalk Server 2010, and then click BizTalk Server Administration. 14. Expand BizTalk Server 2010 Administration, BizTalk Group, and Applications. The BizTalk Server databases have been restored to their previous states. 15. Right-click Module 5 and then click Stop. 16. In the dialog box click Stop. 17. Right-click Module 5 and then click Start. 18. In the dialog box click Start. Test the Application Procedure List 1. In Windows Explorer, navigate to C:\AllFiles\LabFiles\Module 5\Messages. 2. Copy the ContosoPO_Large.xml file to the PurchaseOrderIN folder. 3. After the message disappears from the PurchaseOrderIN folder, navigate to the PurchaseOrderAck folder, and notice the PoAck{GUID}.xml message. 4. Navigate to the Shipped folder, and notice the and the Shipment{GUID}.xml message. 5. Close all open windows, and shut down the virtual machine. Lab 6a: Installing BizTalk 2010 Management Pack Time estimated: 15 Minutes Scenario In order for SCOM to monitor our BizTalk Server and look for BizTalk specific events, we need to install the BizTalk Server 2010 Management Pack. 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 bt10a-06 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. Ensure that the BizTalk Services are started Procedure List 1. In Windows Explorer, navigate to C:\AllFiles. 2. Double click on startBtServices.cmd. 3. When prompted, press any key to close the command-line window. Exercise 1: Install BizTalk 2010 Management Pack from System Center Operations Manager console Overview Since our lab environment does not have internet connectivity, the BizTalk Server 2010 Management Pack has been downloaded and unpackaged. We now need to import this Management pack in the SCOM console. Launch System Center Operations Manager console Procedure List 1. On the Start menu, point to All Programs, point to System Center Operations Manager 2007 R2, and then click Operations Console. Navigate to Management Packs View Procedure List 1. In the lower left corner of the Operations Console, click on the Administration button. 2. In the left pane, find Management Packs, right-click and select Import Management Packs. 3. A new form will load called Import Management Packs. Find the Add button, click it and then select Add from disk … 4. When prompted to search an online catalogue for dependent management packs select No. 5. When prompted to Select Management Packs to import, browse the C:\Program Files (x86)\System Center Management Packs\BizTalk Server 2010 Monitoring Management Pack\ folder and select the 3 Management Packs that exist in this folder: Microsoft.BizTalk.Server.2010.Discovery.mp, Microsoft.BizTalk.Server.2010.Library.mp and Microsoft.BizTalk.Server.2010.Monitoring.mp. Once selected, click the Open button. 6. We should now see an Import list that contains these three management packs and a green check mark beside each one. 7. The Status details should display a message indicating This management pack is ready to import. 8. Click the Install button to proceed. 9. After a couple minutes, we should see that all 3 Management Packs have been Imported successfully and have a green check mark beside each one. 10. Click Close to complete this wizard. 11. In the center of our Management Packs view, we should now see 3 BizTalk related Management Packs: BizTalk Server Discovery, BizTalk Server Library and BizTalk Server Monitoring. Note: it may take a couple minutes for the BizTalk Management Packs to appear in the Management Packs list in the center pane of the console. Lab 6b: Generating and Resolving BizTalk Host Instance Alerts Time estimated: 20 Minutes Scenario In the previous demonstration we saw how the state of the Rule Engine Update Service had an impact on the overall health of a BizTalk environment. In this Lab we are going to discover the impact that a BizTalk Host instance has on BizTalk’s health. We will see BizTalk’s Host State health change and an Alert will be generated in the Active Alerts view. We will then discover how to start this Host instance from SCOM Console and watch both the Active Alerts and Host State views change. Launch the BizTalk Administration and System Center Operations Manager console Procedure List 1. On the Start menu, point to All Programs, point to Microsoft BizTalk Server 2010 and then click on BizTalk Server Administration. 2. On the Start menu, point to All Programs, point to System Center Operations Manager 2007 R2, and then click Operations Console. Exercise 1: Generating and Resolving BizTalk Host Instance Alerts Procedure List 1. In the BizTalk Administration Console ensure that your BizTalkServerApplication Host Instance has a status of Running. 2. Switch to the SCOM Operations Console. Click on the Monitoring view button in the bottom left pane. 3. In the left pane, expand the Microsoft BizTalk Server 2010 view. 4. Expand Applications Views and then click on Hosts State View. 5. In the center pane, observe the State column value for the BizTalkServerApplication Host. This value should have a value of: Healthy. 6. Click on the BizTalkServerApplication record and then click on the Stop BizTalk Host label in the BizTalk Host Tasks pane on the right hand side. 7. In the Run Task – Stop BizTalk Host form that loads, ensure the BizTalkServerApplication checkbox is checked and click the Run button. 8. A Task Status – Stop BizTalk Host form will load indicating the status of this action. When complete, the status column should have a value of Success. Click the Close button to close this form. 9. Click on the Active Alerts view in the top left hand corner of the SCOM Operations Console underneath the Monitoring hierarchy. 10. You should now see Severity:Critical alert in the center pane. The source of this alert should be the name of our BizTalk Host Instance: BizTalkServerApplication. Note: It may take up to 10 minutes for this alert to appear within this Alerts View. 11. To obtain more information about this alert. Double click on the record. An Alert Properties form will be displayed. Here you will find diagnostic information about the alert including Product Knowledge from Microsoft, Company Knowledge where organizations have the ability to provide their own information, History, Alert Context, and Custom Fields. Click on the OK button to close this form. 12. If we navigate back to the Hosts State View, as described in Step #4, we should see that the state of our BizTalkServerApplication Host Instance has changed its state from Healthy to Critical. Note: to have SCOM probe this object, click the record and then click on the Health Explorer for BizTalkServerApplication. Once launched, expand Entity Health – Availability – BizTalk Host Availability Monitor and click the Recalculate Health button at the top of the form. 13. To start our BizTalk Host instance back up, select the BizTalkServerApplication record and then click the Start BizTalk Host label found in the BizTalk Host Tasks found in the right hand pane. 14. In the Run Task – Start BizTalk Host form, ensure BizTalkServerApplication is checked and click the Run button. 15. In the Task Status – Start BizTalk Host form, a status column will indicate the state of this action. Once the status value has changed to Success, click the Close button. 16. Click on the Active Alerts view in the top left hand corner of the SCOM Operations Console underneath the Monitoring hierarchy. 17. The Severity:Critical alert, that was described in step 10, indicating the BizTalkServerApplication Host Instance was offline should no longer exist within the pane. You may need to refresh your console by pressing the F5 button. This alert was automatically cleared since SCOM has determined that the issue has been resolved. 18. Navigate back to the Hosts State View, as described in Step #13. Press the F5 button to refresh your console. We should see that the state of our BizTalkServerApplication Host Instance has changed its state from Healthy to Critical. Note: if the state of your Host Instance has not changed, you may need to run the Health Explorer. To do this select the BizTalkServerApplication record and then click the Health Explorer for BizTalkServerApplication. Once launched, expand Entity Health – Availability – BizTalk Host Availability Monitor and click the Recalculate Health button at the top of the form. Once the Health Explorer process is complete, press the F5 button to refresh your console. Lab 6c: Generating and Closing Application Alerts Time estimated: 15 Minutes Scenario One of BizTalk Server’s core competencies is the ability to process different types of messages from a variety of trading partners. Since some of these messages are received from external parties, the messages that are received may not be the same type of message that we are expecting. These messages that have an unexpected format may fail to be processed in the inbound receive pipeline. SCOM provides us with visibility into these situations so that we can react when these events occur. Conversely, we may want to send messages from our organization to another. In these situations it is important to raise Send Port errors when they occur so the appropriate support staff can address the issue before Service Level Agreements (SLAs) are missed. Once again SCOM provides BizTalk Administrators with visibility into these types of issues. Exercise 1: Generating and Closing Receive Pipeline Errors Overview An existing solution called Module 6 has been deployed for the purposes of this Lab. This application is a copy of a previous lab that has been renamed. The goal of this lab is to submit a message to an existing Receive Location that will fail validation within the Receive Pipeline. We can expect a Suspended Message instance inside the BizTalk Administration console. In the SCOM Operations Console we expect an alert to be generated within the Active Alerts menu. Start Module 6 BizTalk Application Procedure List 1. On the Start menu, point to All Programs, point to Microsoft BizTalk Server 2010 and then click on BizTalk Server Administration. 2. Expand BizTalk Server Administration, BizTalk Group and Applications. 3. Right mouse click on Module 6. Ensure application is currently running. If it is not, click on Start. System Center Operations Manager console 4. On the Start menu, point to All Programs, point to System Center Operations Manager 2007 R2, and then click Operations Console. Submit message to BizTalk Procedure List 1. In Windows Explorer, browse to C:\AllFiles\LabFiles\Module 6\Messages. 2. Right mouse click on GenerateReceivePipelineError.xml file and select Copy. 3. Double click on the PurchaseOrderIN folder. 4. Right mouse click on Windows Explorer surface and click Paste. Check for Active Alert in System Center Operations Manager console 1. In the SCOM Operations Console click on the Monitoring view button. In the upper left corner click on Active Alerts view. 2. Click F5 to refresh your screen. 3. You should find a Severity:Critical alert with a Source of BIZTALKDEMO.adventureworks.lab and a Name of ERROR: FILE-Receive Message Suspended. 4. Double click on this record and you will be presented with an Alert Properties form. Within this form we will be presented with some additional details about the alert and some recommendations on how to resolve it. Click the OK button to close this form. Close the Alert 1. Right mouse click on the alert and click Close Alert. This will remove the alert from the Active Alerts view. Exercise 2: Generating and Closing Suspended Message Errors Overview In the previous example we demonstrated generating an alert for an inbound event. In this example we are going to generate an event for an outbound operation. We are going to use this same Module 6 BizTalk application. In order to get the outbound message to fail, one of our send ports is configured to deliver files to non-existent location. In order to expedite these files to fail, the send port retry interval has been set to 0. Start Module 6 BizTalk Application Procedure List 1. On the Start menu, point to All Programs, point to Microsoft BizTalk Server 2010 and then click on Microsoft BizTalk Server 2010. 2. Expand BizTalk Server Administration, BizTalk Group and Applications. 3. Right mouse click on Module 6. Ensure application is currently running. If it is not, click on Start. System Center Operations Manager console 1. On the Start menu, point to All Programs, point to System Center Operations Manager 2007 R2, and then click Operations Console. Submit message to BizTalk Procedure List 1. In Windows Explorer, browse to C:\AllFiles\LabFiles\Module 6\Messages. 2. Right mouse click on GenerateSendPortError.xml file and select Copy. 3. Double click on the PurchaseOrderIN folder. 4. Right mouse click on Windows Explorer surface and click Paste. Check for Active Alert in System Center Operations Manager console 1. In the SCOM Operations Console click on the Monitoring view button. In the upper left corner click on Active Alerts view. 2. Click F5 to refresh your screen. 3. You should find a Severity:Critical alert with a Source of BIZTALKDEMO.adventureworks.lab and a Name of ERROR: An outbound message is being suspended by the Adapter. 4. Double click on this record and you will be presented with an Alert Properties form. Within this form we will be presented with some additional details about the alert and some recommendations on how to resolve it. Click the OK button to close this form. Close the Alert 5. Right mouse click on the alert and click Close Alert. This will remove the alert from the Active Alerts view.