Module 1: Introduction to BizTalk Server 2010 Time estimated: 120 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 BizTalk Server 2010 offers 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 2010 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 implements a publish-subscribe model for the routing of messages. In the publishsubscribe 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. Business Activity Monitoring (BAM) enables monitoring of events and data produced by BizTalk applications. Information workers use the BAM Excel Add-in to define the data they want BAM to collect, and define the way in which the data will be shared. They use BAM activities to define the data, and they use BAM views to define the data that other users can see. The Business Activity Monitor (BAM) portal site can be used to monitor business processes and to view aggregated data. Information workers may also use the BizTalk Server 2010 Administration Console to maintain trading partner information. 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 high-availability/failover 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 2006 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 System Requirements Identify hardware and operating system requirements and required prerequisite services. Operating System Requirements BizTalk Server 2010 requires Windows Vista with Service Pack 2, Windows 7, Windows Server 2008 or Windows Server 2008 R2 Although a Windows Vista or Windows 7 installation would be satisfactory for a development environment, Windows Server 2008 R2 would be the preferred choice for a production environment. Hardware Requirements The minimum hardware requirements for any computer on which you intend to install BizTalk Server 2010 for application development are as follows: A 1-gigahertz (GHz) Intel Pentium–compatible CPU 2 gigabytes (GB) of random access memory (RAM) 10 gigabytes (GB) of available hard disk space Hardware Recommendation (Developer) For an optimal experience and increased performance when developing BizTalk applications, it is recommended that you use at least the following hardware: A 2-gigahertz (GHz) or higher Pentium–compatible CPU 3 GB or more of random access memory (RAM) 60 GB of available hard disk space If using Hyper-V to host a virtual machine for BizTalk development, make sure that the physical machine has sufficient resources to allocate the resources described above to the virtual machine. Software Requirements Identify prerequisite and optional services required for a BizTalk development environment. Visual Studio 2010 Before you install BizTalk Server 2010 Developer Edition, you must first install Visual Studio 2010 with C#. C# is used internally by BizTalk. Any custom components that will be used by BizTalk, such as helper classes, can be written in any .NET language. It will be necessary to register these custom components in the Global Assembly Cache (GAC) for BizTalk to access them. SQL Server 2008 R2 You must have SQL Server 2008 with Service Pack 1 or SQL Server 2008 R2 installed on the either on the computer running BizTalk Server, or it must accessible remotely. Software Required for Optional Features SQL Server Analysis Services must be installed if you plan on using Business Activity Monitoring (BAM) or if you want to use the full features of message tracking. Internet Information Server (IIS) 7.0/7.5 must be installed to use the BAM portal, to use SharePoint, or to set up HTTP receive locations. BizTalk Server 2010 is compatible with SharePoint Foundation 2010 or Windows SharePoint Services 3.0 SP2. Office Web Components 11 (SP1) must be installed to support the BAM portal. Project Templates Identify the Visual Studio project templates used to develop BizTalk applications. Project Template The BizTalk Server 2010 installation process adds the BizTalk Projects folder to the New Project dialog box. The BizTalk Projects folder includes templates for creating the following types of projects: Empty BizTalk Server Project. Use the Empty BizTalk Server Project template when you want to create a new application that runs on BizTalk Server 2010. This is the most common BizTalk project type. BizTalk Server BPEL Import Project. Use the BizTalk Server Business Process Execution Language (BPEL) Import Project template to launch the BPEL Import Wizard. This wizard will guide you through the necessary steps to import BPEL, WSDL, and XSD files into a BizTalk Project. BPEL will be discussed further in Module 8. Tools for Developers Identify the purpose of the most common BizTalk developer tools. Overview The BizTalk developer tools are hosted in the Visual Studio 2010 environment and are used for both messaging and orchestrations. BizTalk Developer Tools When the BizTalk Server 2010 developer tools are installed on a computer that has Visual Studio 2010 installed, several BizTalk project templates are available. When a project is created using any of these templates, the following BizTalk developer tools become available as extensions in Visual Studio: BizTalk Editor helps you define schemas, which are used to describe the format of messages that are used within organizations and between trading partners and which will be processed by BizTalk Server 2010. BizTalk Mapper presents source schemas and destination schemas side by side, making it possible to define transformations between data fields in messages. Pipeline Designer is used create custom pipelines that are used to process incoming and outgoing messages. The pipelines implement such operations as encryption and decryption, compression, reformatting, and validation. Orchestration Designer enables you to create orchestrations that are used to model business processes. The orchestration designer offers a toolbox of components to model business processes. Compiled Artifacts The BizTalk artifacts (schemas, maps, pipelines, and orchestrations) that you create using the developer tools just listed are compiled in Visual Studio as one or more assemblies (DLLs) that can then be deployed to the BizTalk Server for testing or production. BizTalk Schema Editor Explain how the BizTalk Editor enables developers to define schemas. Overview BizTalk Server 2010 uses XML Schema Definition language (XSD) schemas to define the structure of all messages it processes. Generally it is possible to work with schemas provided by thirdparty editors and schema creation tools. The BizTalk Schema Editor helps you define schemas, which are used to describe the format of data that is processed within organizations and between trading partners. Each unique document type requires a separate schema that defines the records and fields contained in the document. The XML schema defines: The elements, attributes, and data types that appear on the document. The ordering of tags in the document. Fields that are mandatory or that may occur multiple times in a single document. BizTalk Mapper Explain how the BizTalk Mapper enables developers to create maps. Overview The BizTalk Mapper tool is used when it is necessary to map the contents of an incoming message to a message format that can be processed by BizTalk. The BizTalk Mapper presents the source schema and destination schema side by side, making it possible to define transformations between the data fields in messages. You create a map when you want to transform data that you receive or send from one message format to another. Compiling a map created by the BizTalk Mapper generates an XSLT file for data transformation and translation. Example For example, if you receive a purchase order and want to insert the ShipTo address information from the purchase order into an invoice, you can create a map that specifies how the appropriate records and fields from an instance message corresponding to a source schema should be moved to an instance message corresponding to a destination schema. BizTalk Pipeline Designer Explain how the how the Pipeline Designer enables developers to create pipelines. Pipeline Designer Pipelines are software components that are used to process messages. Messages can be processed as they are received or just before they are sent through a send port. The Pipeline Designer is a graphical tool that you can use to provide additional processing to messages such as: Normalizing data from various formats to XML. Denormalizing data from XML to various formats. Assembling and disassembling documents. Decoding and encoding documents. Decrypting end encrypting documents. Assigning and verifying digital signatures. Custom processing of messages. BizTalk Orchestration Designer Explain how the Orchestration Designer enables developers to build orchestrations. BizTalk Orchestration Designer BizTalk enables you to build executable business processes by using a design-time tool called the Orchestration Designer. Rather than expressing the steps in a programming language, this tool connects a series of shapes in a logical way to define a business process. After you have completed an orchestration drawing, you compile your BizTalk project into an assembly that encapsulates an executable orchestration. BizTalk makes modeling business processes easier than could be performed by building an integration application in a standard programming language such as C# or Visual Basic. As an orchestration is being created, the BizTalk toolset writes C# behind the scenes (which is why C# is required in Visual Studio 2010 regardless of the developer’s preferred language). BizTalk Administration Console Describe the tasks that can be performed using the BizTalk Server 2010 Administration Console. BizTalk Server 2010 Administration Console The BizTalk Server 2010 Administration Console is a Microsoft Management Console (MMC) snap-in that can be installed on any computer running Windows Vista with Service Pack 2, Windows 7, Windows Server 2008 or Windows Server 2008 R2. Similar to the BizTalk Explorer tool, the Administrative Console enables you to view and manage the configuration details of your BizTalk system. Included in these management tasks are: Viewing, managing, and configuring the BizTalk Configuration database. Viewing installed assemblies. Deleting installed assemblies Enlisting, starting, stopping, and unenlisting orchestrations (enlisting is the process of creating a subscription for messages). Creating and editing send port groups, send ports, receive ports, and receive locations. Creating and editing trading partner relationships. Modifying settings for performance tuning. The BizTalk Server 2010 Administration Console displays deployed assemblies organized into BizTalk applications, which makes it easier to manage BizTalk and to export applications to other servers. Demo: The Visual Studio Development Environment Learn how BizTalk Server project tools—including Orchestration Designer, BizTalk Editor, BizTalk Mapper, and Pipeline Designer—are integrated as a unified development environment within Visual Studio. Start the Virtual Machine 1. If the Server Manager window is not already open, click on the Server Manager icon located in the task bar next to the Start button. 2. Expand Roles, Hyper-V, Hyper-V Manager. The last node to appear displays the machine name. Click on it to see the list of virtual machines available. 3. Double-click the virtual machine bt10d-demos 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. Open BizTalk Editor 1. In Windows Explorer, navigate to C:\AllFiles\DemoCode\Module1\Demo, and then double-click Demo.sln. 2. In Solution Explorer, double-click SalesOrder.xsd to open the SalesOrder schema in the BizTalk Schema Editor. 3. In the left pane, right-click the <Schema> node, and then click Expand Schema Node. The entire schema expands. 4. In the left pane, click the CustomerInfo record. Notice that the XSD for the CustomerInfo record is highlighted. 5. Close the SalesOrder.xsd schema file. Open BizTalk Mapper 1. In Solution Explorer, double-click SalesOrder_to_Restock.btm to open the map in the BizTalk Mapper. The BizTalk Mapper has three sections: the Source Schema, the Mapper Grid, and the Destination Schema. 2. In the Source Schema, click the OrderTotal element. This is the same schema that you examined in the previous part of the demonstration. 3. Click the Functoids tab at the bottom of the Mapper Grid. It is a good practice to place functoids on a separate page. 4. Click the StoreNumber field beneath the Detail record. The Mapper will automatically pan to bring the relevant functoids in to view. 5. Point to the Toolbox tab on the left side of the Visual Studio window. Functoids are dragged from the Toolbox to the Mapper Grid. 6. Close the SalesOrder_to_Restock.btm map file. Open Pipeline Editor 1. In Solution Explorer, double-click SendEncryptedMessage.btp to open the SendEncryptedMessage pipeline. 2. Point to the Toolbox tab on the left side of the Visual Studio window. When designing pipelines and orchestrations, the pipeline components and orchestration shapes are found in the Toolbox. You can drag them from the Toolbox to the design surface. 3. Close the SendEncryptedMessage.btp pipeline file. Open Orchestration Designer 1. In Solution Explorer, double-click ProcessOrder_Cash.odx. The Orchestration Designer has the left and right port surfaces and the design surface. Orchestration shapes are dragged from the Toolbox to the design surface. The port surfaces hold orchestration ports that are responsible for sending and receiving messages to and from the orchestration. 2. Point to the Toolbox tab on the left side of the Visual Studio window. When designing orchestrations, you drag shapes from the Toolbox to the design surface. 3. Click the Orchestration View tab located below Solution Explorer. Orchestration View is where you configure orchestration-specific variable, such as messages used, correlation, and role links. 4. Close all open windows, and shut down the virtual machine. Lab: Examining a BizTalk Application Time estimated: 30 Minutes Scenario Adventure Works is a retail sporting goods chain with 10 stores in the Pacific Northwest. The company headquarters receives daily batches of orders from each retail store. These batches are processed by a Microsoft BizTalk Server 2010 application. In this lab, you will examine and test the BizTalk Server application that you will be building throughout the remainder of this course. This application receives and processes sales orders. If the application receives an order for a non-cash transaction, the loan application is automatically approved or denied, based on predetermined business rules. If the credit application is denied, the loan application is sent to a Microsoft Windows SharePoint Services site for manual review. If the loan application is denied during the manual review process, the order is canceled, and the store is notified. If the loan application is approved, the total loan amount is evaluated to determine who the lender will be. Loans for less than $1000 are carried by the Adventure Works finance department. Larger loans are managed by one of two banks, based the customer’s credit rating. For all completed cash or credit transactions, the inventory system is updated, and a sales order acknowledgement is generated. Start the Virtual Machine Procedure List 1. If the Server Manager window is not already open, click on the Server Manager icon located in the task bar next to the Start button. 2. Expand Roles, Hyper-V, Hyper-V Manager. The last node to appear displays the machine name. Click on it to see the list of virtual machines available. 3. Double-click the virtual machine bt10d-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 startBtServices.cmd. 3. When prompted, press any key to close the command-line window. Exercise 1: Examining the BizTalk Solution Overview BizTalk projects can contain four types of artifacts: schemas, maps, pipelines, and orchestrations. In this exercise, you will examine the schemas, maps, and orchestrations that make up the sales order processing application used by Adventure Works. Start the Adventure Works BizTalk Application Procedure List 1. On the Start menu, click All Programs, then click Microsoft BizTalk Server 2010, and then click BizTalk Server Administration. 2. In BizTalk Administration Console, expand BizTalk Server Administration, BizTalk Group, Applications 3. Right-click on Adventure Works and choose Start, then click on Start in the prompt that appears. Open the AdvWorks Solution Procedure List 1. In Windows Explorer, navigate to C:\AllFiles\LabFiles\Lab1\AdvWorks and open AdvWorks.sln. The AdvWorks solution opens in Visual Studio. Examine the SalesOrder Schema Procedure List 1. In Solution Explorer, expand the Messaging project, and then double-click SalesOrder.xsd to open the schema in the BizTalk Editor. The SalesOrder schema represents the format of sales order messages that BizTalk processes. These messages are received from various retail stores owned by Adventure Works. 2. In the left pane, right-click SalesOrder, and then click Expand Schema Node. 3. Click the Detail record. The Detail record contains information about the sales order, which includes the store information and the name of the employee who took the order. 4. Click each field under the Detail record to examine the field’s properties. Notice that the corresponding information in the XSD details pane is highlighted as you select each field. 5. Click the CustomerInfo record. The CustomerInfo record contains information about the customer, including address and employment information. 6. Click the Items record. The Items record is a repeating record of individual items in the sales order. The Items record will repeat as many times as necessary to include all unique items in the order. Also notice that the schema contains a Comment field, an OrderTotal field, and a TermOfLoan field. Examine the Restock Schema Procedure List 1. In Solution Explorer, double-click Restock.xsd. The Restock schema represents the format of restock messages. The restock message is sent to the inventory system to automatically restock purchased goods. 2. In the left pane, right-click Restock, and then click Expand Schema Node. 3. Click the OrderID field. 4. Click the Products record. The Products record is a repeating record and contains the Quantity and ID number of the product that needs to be restocked. Examine the SalesOrder_To_Restock Map Procedure List 1. In Solution Explorer, double-click SalesOrder_To_Restock.btm. This map is used to transform the data from the SalesOrder message to the Restock message. 2. In the left pane, click the StoreNumber field beneath the Detail record. 3. Click the red square on the mapping surface. This is a Concatenate Functoid. It is used to combine the data from the StoreNumber and OrderNumber fields in the SalesOrder message to create a single OrderID field in the Restock message. 4. Click the Item field beneath the Items record. 5. Click the purple square on the map surface. This is a Looping Functoid. It is used to ensure that the Product record on the Restock message will occur each time the Item field occurs in the SalesOrder message. Examine the ProcessOrder_Cash Orchestration Procedure List 1. In Solution Explorer, expand the Processes project, and then double-click ProcessOrder_Cash.odx. This is a basic orchestration. A sales order for a cash transaction is received, and two new messages are constructed and sent. The Restock message is constructed by using a map, whereas the completed sales order message is created by using an expression shape. Examine the ProcessOrder_Credit Orchestration Procedure List 1. In Solution Explorer, double-click ProcessOrder_Credit.odx. 2. Right-click the orchestration design surface, point to Zoom, and then click 50%. This orchestration is a little more complex. A sales order for a credit transaction is received, and another orchestration is called. When calling an orchestration, the message is passed to the called orchestration. The calling orchestration then waits for the completed message to be sent back to it before continuing to process the message. 3. In Solution Explorer, expand the LoanApproval project, and then double-click ApproveLoan.odx. This is the orchestration called by the ProcessOrder_Credit orchestration. The message is transformed into a loan application by using a map, and then the loan application is sent to the Business Rules Engine to be approved or denied based on a collection of rules. If the loan application is approved, it travels down the left side of the decide shape to be transformed again before being sent back to the ProcessOrder_Credit orchestration. If the loan is not approved, it is transformed and sent to a SharePoint site for manual approval or denial, and then passed back to the ProcessOrder_Credit orchestration. 4. Switch back to the ProcessOrder_Credit orchestration. If the loan application comes back from the Loan Approval orchestration as denied, the message will travel down the right branch of the Loan Approved decide shape, and then a message will be sent informing the store that the loan has been denied. If the loan is approved, the message will travel down the left branch of the Loan Approval decide shape. Restock and completed sales order messages will be created similar to the ones created by cash transactions, and the message will be evaluated again to determine whether the loan will be handled by the Adventure Works financial department or sent to a bank for financing. If the loan is $1000 or less, it will travel down the right branch and the LOANS table in the AdvWorks database will be updated. If the loan is for more than $1000, another evaluation will take place to determine which bank the loan will be sent to. If the loan-to-income ratio is less than 1.5, the message will be sent to the Woodgrove party. Everything else is sent to the Northwind party. The orchestration waits for a response from the bank, acknowledging that the loan application has been accepted. Exercise 2: Test the BizTalk Application Overview BizTalk applications receive, process, and send messages. In this exercise, you will test the sales order processing application by submitting test messages. You will see how cash and non-cash (credit) messages are processed, how inventory is updated, how sales order acknowledgments are generated, and how the loan approval process works. Submit the CashSalesOrder1.xml Message Procedure List 1. In Windows Explorer, navigate to and open C:\AllFiles\LabFiles\Lab1\CashSalesOrder1.xml. 2. Examine the message. Notice that this order is for 15.99 and has an OrderType of CASH, so it will be processed through the ProcessOrder_Cash orchestration. 3. Close Microsoft Internet Explorer. 4. In Windows Explorer, copy CashSalesOrder1.xml to the SalesOrderIN folder. Ensure that you copy the message rather than move it. After the message is processed, it cannot be recovered. 5. Open the SalesOrderIN folder. Notice that after a moment, the message you copied to this folder has been processed and removed. 6. Navigate to the C:\AllFiles\LabFiles\Lab1\OUT folder. Notice that a Complete{GUID}.xml message and a Restock{GUID}.xml message have been created and sent to this folder. 7. Double-click Complete{GUID} to view the message in Microsoft Internet Explorer. Notice that the comment field has been updated to state that the processing of this order has been completed. 8. Close Microsoft Internet Explorer. 9. Double-click Restock{GUID} to view the message in Microsoft Internet Explorer. Notice that the message is in the Restock schema format and contains the product ID and quantity for the order. 10. Close Microsoft Internet Explorer. 11. Delete all of the messages in the OUT folder. Test the Internal Financing Process Procedure List 1. In Windows Explorer, navigate to C:\AllFiles\LabFiles\Lab1. 2. Open CredSalesOrder-Internal1.xml. 3. Notice that the CustomerName is Tude Palma, and then close Internet Explorer. 4. Open CredSalesOrder-Internal2.xml. 5. Notice that the CustomerName is Roland Hofmann, and then close Internet Explorer. 6. Open CredSalesOrder-Internal3.xml. 7. Notice that the CustomerName is Bryan Walton, and then close Internet Explorer. 8. Copy CredSalesOrder-Internal1.xml, CredSalesOrder-Internal2.xml, and CredSalesOrder-Internal3.xml to the SalesOrderIN folder. These three sales orders will be financed by the Adventure Works financial department. When processed, each loan will update the LOANS table in the AdvWorks database and generate a restock message and a completed order message. 9. Navigate to the OUT folder and wait until the three Complete{GUID}.xml messages and the three Restock{GUID}.xml messages appear. 10. On the Start menu, point to All Programs, point to Microsoft SQL Server 2008, and then click SQL Server Management Studio. 11. In the Connect to Server dialog box, click Connect. 12. In Object Explorer, expand Databases, AdvWorks, Tables, right-click dbo.LOANS, and select Select Top 1000 Rows. 13. In the query results window, notice the three entries: one entry each for Bryan Walton, Roland Hofmann, and Tude Palma. 14. Close Microsoft SQL Server Management Studio. 15. In Windows Explorer, delete all the messages in the OUT folder. Test the External Financing Process Procedure List 1. In Windows Explorer, navigate to C:\AllFiles\LabFiles\Lab1. 2. Open CredSalesOrder-Northwind.xml, and then notice that the CustomerName is Josh Pollock. This order fulfills all requirements to be approved by the business rules engin, and will be sent to Northwind for financing. 3. Close Microsoft Internet Explorer. 4. Open CredSalesOrder-Woodgrove.xml, and then notice that the CustomerName is Armando Pinto. This order fulfills all requirements to be approved by the business rules engine and will be sent to Woodgrove for financing. 5. Close Microsoft Internet Explorer. 6. Copy CredSalesOrder-Northwind.xml and CredSalesOrder-Woodgrove.xml to the SalesOrderIN folder. 7. Navigate to C:\AllFiles\LabFiles\Lab1\Woodgrove, open the WoodgroveNotice{GUID}.xml file that appears, notice that the CustomerName is Armando Pinto, and then close Microsoft Internet Explorer. 8. Move the WoodgroveNotice{GUID}.xml file from the Woodgrove folder to the BankAck folder. The step represents receiving an acknowledgment from the lender verifying that the loan will be financed. The message is processed and completes the orchestration instance. 9. Navigate to C:\AllFiles\LabFiles\Lab1\Northwind, open the NorthwindNotice{GUID}.xml file that appears, notice that the CustomerName is Josh Pollock, and then close Microsoft Internet Explorer. 10. Move the NorthwindNotice{GUID}.xml file from the Northwind folder to the BankAck folder. The step represents receiving an acknowledgment from the lender verifying that the loan will be financed. The message is processed and completes the orchestration instance. 11. Delete all the messages in the OUT folder. 12. Open C:\AllFiles\LabFiles\Lab1\CredSalesOrder-Denied-Northwind.xml, and then notice that the Customer Name is Alex Hankin. This order does not fulfill the requirements to be approved by the business rules engine, but it can still be approved manually. If approved manually, it will be sent to Northwind for financing. 13. Close Microsoft Internet Explorer. 14. Open C:\AllFiles\LabFiles\Lab1\CredSalesOrder-Denied-Woodgrove.xml, and then notice that the Customer Name is David Barber. This order does not fulfill the requirements to be approved by the business rules engine, but it can still be approved manually. If approved manually, it will be sent to Woodgrove for financing. 15. Close Microsoft Internet Explorer. 16. Copy CredSalesOrder-Denied-Northwind.xml and CredSalesOrder-DeniedWoodgrove.xml to the SalesOrderIN folder. 17. In Internet Explorer, navigate to http://localhost/LoanApplications. 18. 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 Applicant Name; it is either Alex Hankin or David Barber. 19. In the Status list, choose Approved, and then close the form, saving your changes. 20. 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 approved or denied. Notice that the message you modified has been picked up for processing. This may take up to one minute to occur, so you may have to refresh your browser. 21. 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 Cancel button. Take note of the Applicant Name; it is either Alex Hankin or David Barber. 22. In the Status list, choose Denied, and then close the form, saving your changes. 23. Refresh the page, and notice that the message has been picked up for processing. This may take up to one minute to occur. 24. In Windows Explorer, navigate to C:\AllFiles\LabFiles\Lab1\OUT, and then open the Denied{GUID}.xml message. This is the denial message for the loan application you manually denied. The complete and restock messages for the loan you approved are also here. 25. If you approved the loan for David Barber, navigate to C:\AllFiles\LabFiles\Lab1\Woodgrove; if you approved the loan for Alex Hankin, navigate to C:\AllFiles\LabFiles\Lab1\Northwind. 26. Open the newest message in the folder, and notice that this is the loan that you manually approved. 27. Close all open windows.