Module 7: Business Logic for Disconnected Components

62 328 0
Module 7: Business Logic for Disconnected Components

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Contents Overview 1 Introduction to Disconnected Business Logic 2 Technologies 7 Demonstration: Queued Components 11 Demonstration: COM+ Events 15 Logical Design of Disconnected Business Logic 19 Physical Design of Disconnected Business Logic 26 Market Purchasing 42 Best Practices 45 Lab 7: Business Logic for Disconnected Components 46 Review 54 Module 7: Business Logic for Disconnected Components Information in this document is subject to change without notice. The names of companies, products, people, characters, and/or data mentioned herein are fictitious and are in no way intended to represent any real individual, company, product, or event, unless otherwise noted. Complying with all applicable copyright laws is the responsibility of the user. No part of this document may be reproduced or transmitted in any form or by any means, electronic or mechanical, for any purpose, without the express written permission of Microsoft Corporation. If, however, your only means of access is electronic, permission to print one copy is hereby granted. Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual property rights covering subject matter in this document. Except as expressly provided in any written license agreement from Microsoft, the furnishing of this document does not give you any license to these patents, trademarks, copyrights, or other intellectual property.  2000 Microsoft Corporation. All rights reserved. Microsoft, Active Directory, ActiveX, BackOffice, BizTalk, FrontPage, Microsoft Press, MSDN, MS-DOS, PowerPoint, Visio, Visual Basic, Visual C++, Visual InterDev, Visual J++, Visual Studio, Win32, Windows, and Windows NT are either registered trademarks or trademarks of Microsoft Corporation in the U.S.A. and/or other countries. Other product and company names mentioned herein may be the trademarks of their respective owners. Program Managers: Rhy Mednick, Susie Parrent Instructional Designer: Susie Parrent Subject Matter Experts: David Chesnut, Sam Gill (TechnoWiz), Michel Pahud Media Management: David Mahlmann Editing Manager: Lynette Skinner Editor: Mick Alberts, Jennifer Linn Production Manager: Miracle Davis Print Coordinators: Linda Lu Cannon (Write Stuff), Marlene Lambert (Online Training Solutions, Inc.) Build Coordinator: Eric Wagoner Graphic Artist: Scott Serna Test Lead: Eric Myers Manufacturing Manager: John Williams Group Product Manager: Juan Fernando Rivera Lead Product Manager, System Services and Infrastructure: Edward Dudenhoefer Manufacturing Manager: Rick Terek Operations Coordinator: John Williams Manufacturing Support: Laura King; Kathy Hershey Lead Product Manager, Release Management: Bo Galford Group Manager, Courseware Infrastructure: David Bramble General Manager: Robert Stewart Module 7: Business Logic for Disconnected Components iii Instructor Notes In the preceding module, “Business Logic for Connected Components,” you introduced students to cooperative processing among synchronous business objects in an enterprise solution. This module provides students with an introduction to cooperative processing among business components that are disconnected in time and space. After completing this module, students will be able to: ! Describe the design and implementation of disconnected business logic and how to apply design patterns to the design of business logic. ! Describe the technologies used in implementing disconnected business logic: COM+ queued components and loosely coupled events (LCE). ! Create a physical design for a queued component. ! Create a physical design for event notification. Materials and Preparation This section provides the materials and preparation tasks that you need to teach this module. Required Materials To teach this module, you need the following materials: ! Microsoft ® PowerPoint ® file 1910A_07.ppt ! Module 7: Business Logic for Disconnected Components ! Lab 7: Business Logic for Disconnected Components Preparation Tasks To prepare for this module, you should: ! Read all of the materials for this module. ! Complete the lab. Presentation: 90 Minutes Lab: 60 Minutes iv Module 7: Business Logic for Disconnected Components Demonstration This section provides demonstration procedures that will not fit in the margin notes or are not appropriate for the student notes. Queued Components To prepare for the demonstration • Review the instructions in the student notes. COM+ Events ! To prepare for the demonstration • Review the instructions in the student notes. Module 7: Business Logic for Disconnected Components v Module Strategy Use the following strategy to present this module: ! Introduction to Disconnected Business Logic The purpose of this section is to introduce students to the disconnected business logic layer. The business needs of an application require its interaction with other business applications. Frequently, these interactions can be separated in time and space. Two business scenarios can summarize the business requirements for loosely coupled mechanisms: • Response is never required The client’s job is complete when the call has been made and the message or notification is sent. This model works well for applications whose only task is input. • Immediate response not required In this scenario, the application does not require an immediate response but expects some form of acknowledgement at some time in the future. In the topic “The Business Problem,” illustrate disconnected business logic by using SneakerNet as an example. Point out that when using SneakerNet you can pass files but you don’t guarantee delivery. Contrast this with using Message Queuing, where delivery is guaranteed. In the topic “Business Requirements,” illustrate the interaction with the following example. If you are planning a trip from San Francisco to Tel Aviv, you can book your flight with Vigor Airlines (VA) and Blue Sky Airlines (BA). VA would be your carrier from San Francisco to London, and BA would be your carrier from London to Tel Aviv. VA acts as your primary agent and can confirm your reservation on its flights but cannot confirm your reservations on BA. VA can send a message to BA to ask for confirmation. The BA system will subsequently confirm or deny your reservation and notify VA accordingly. ! TechnologiesThe purpose of this section is to introduce students to Message Queuing, queued components, and COM+ events. Spend time demonstrating queued components and COM+ events and answering student questions about these two demonstrations. In the topic “Message Queuing,” continue using the VA/BA example to explain the operation of message queuing. ! Logical Design of Disconnected Business LogicThe purpose of this section is to introduce students to the two design patterns that can be used in the logical design of disconnected business logic: Observer and Queue. In the topic “Queued Components and Transactions,” explain the concept of a transaction in a disconnected logic environment and the need for a compensating transaction. You can use the example of VA and BA to explain that if BA returns a denial of a reservation you would need to add to the application a compensating transaction. The compensating transaction would reverse the confirmation of a VA flight since it is no longer applicable if the connection from London to Tel Aviv cannot be made. vi Module 7: Business Logic for Disconnected Components ! Physical Design of Disconnected Business LogicThe purpose of this section is to introduce students to the physical design considerations of COM+ events and queued components. ! Market Purchasing The purpose of this section is to present the logical and physical designs of the disconnected business logic of Market Purchasing and to explain the justification for the choices made. By using the Computer Management application, you can present the mpVendors queue that is implemented by Market Purchasing. You can also use Component Services to present the Market Purchasing Business Logic COM+ application. By running the Monitor, Vendor, and Accounting applications, you can demonstrate how the disconnected logic works in Market Purchasing. You can present the Extensible Markup Language (XML) files that are created when the accounting application is used. Or you can show how the mpVendors queue receives messages when a vendor sends notifications. ! Best Practices The main message presented in this section is to use the power of queues for disconnected business logic. While events are important, the fact that you can only use them on-node makes them too restrictive. Lab Strategy ! Lab 7: Business Logic for Disconnected Components The purpose of Lab 7 is for students to learn to design disconnected business logic. Students probably will not derive answers that correspond exactly to the Market Purchasing design. This is acceptable as long as the student answers are justified and reflect the principles discussed in the module. Discuss with students their answers to Lab 7. Module 7: Business Logic for Disconnected Components 1 # ## # Overview ! Introduction to Disconnected Business Logic ! Technologies ! Logical Design of Disconnected Business Logic ! Physical Design of Disconnected Business Logic ! Market Purchasing ! Best Practices In Module 6, “Business Logic for Connected Components,” you were introduced to cooperative processing among synchronous business objects in an enterprise solution. In this module, the focus shifts to cooperative processing among business components that are disconnected in time and space. After completing this module, you will be able to: ! Describe the design and implementation of disconnected business logic and how to use design patterns. ! Describe the technologies used in implementing disconnected business logic: COM+ queued components and loosely coupled events (LCE). ! Create a physical design for a queued component. ! Create a physical design for event notification. Topic Objective To provide an overview of the module topics and objectives. Lead-in In this module, you will learn about the disconnected business logic layer and how to create a logical design and a physical design for it. 2 Module 7: Business Logic for Disconnected Components # ## # Introduction to Disconnected Business Logic ! The Business Problem ! Business Requirements Disconnected business logic allows logical business objects and physical business components to cooperate even though they are separated by time and perhaps space. The temporal separation is called asynchronous behavior. This behavior manifests itself in business logic that makes calls on other business logic objects and does not wait for the results. In this section, the disconnected business logic layer will be placed in the proper context of the business problem. A discussion of the business requirements for disconnected business logic will follow. Topic Objective To provide an overview of the section topics and objectives. Lead-in In this section, you will learn what makes up a business logic layer and, in particular, a disconnected business logic layer. Module 7: Business Logic for Disconnected Components 3 The Business Problem Data Access Layer Connected Business Logic Layer Disconnected Business Logic Layer Facade Layer Web Services Facade Business Facade Transactional DAL Nontransactional DAL User Services External Objects There are many parts of a system that can be disconnected, or asynchronous. Asynchronous requirements must be identified early, and the design must take them into account. Asynchronous Behaviors Many aspects of a distributed system do not need to be synchronous. For example, consider an order being placed by a customer. When the customer clicks a button to enter the order, the business logic needs to save the order to a database to record the purchase. The business logic also must send the order to the shipping department to ship the goods on the order to the customer. However, the customer is not expecting that the order be shipped immediately, nor does the customer need to be aware of how the order is handled internally by the system. The only synchronous response expected by the customer is that the order be placed successfully. Consequently, the order does not need to be sent to the shipping department immediately. It could be placed in a queue until the shipping department gets a chance to process the order. Sometimes a system requires asynchronous behavior. For example, when a requisition is entered into the Market Purchasing sample application, the requisition is saved. If the requisition is greater than a certain amount, it requires manager approval. Because no manager can be expected to monitor the system 24 hours a day, the approval must wait until the manager logs on to the Market Purchasing application. This behavior is by nature asynchronous and requires disconnected business logic to be implemented. Topic Objective To provide background about the business problem. Lead-in In this topic, you will learn about the business problem facing designers that need to implement a business logic layer. 4 Module 7: Business Logic for Disconnected Components Physical Barriers The separation between systems might be so great that synchronous responses might not be feasible. Such is the case with business-to-business communication in the Market Purchasing sample application. Requisitions are sent to vendors, but the Market Purchasing application cannot assume that vendor systems are always connected and running. As a result, some sort of disconnected business logic is necessary to communicate with systems in other businesses. Disconnected Business Logic Layer The solution to dealing with asynchronous behavior is to create a disconnected business logic layer. The disconnected business logic layer is parallel with the connected business logic layer. In other words, the facades call both layers, and each layer uses the data access layer (DAL). The disconnected business logic layer receives requests from the business or Web services facade layer, processes the requests, and passes additional processing to external objects. The disconnected business logic components must also implement techniques for retrieving the results from the external objects and pass the results of the processing back to the facade layer. [...]... Module 7: Business Logic for Disconnected Components 19 # Logical Design of Disconnected Business Logic Topic Objective To provide an overview of the section topics and objectives Lead-in In this section, you will learn about the logical design for disconnected business logic ! Observer ! Queue ! Queued Components and Transactions In this section, the following design patterns that apply to the logical.. .Module 7: Business Logic for Disconnected Components 5 Business Requirements Topic Objective To provide background about business requirements ! ! Lead-in Asynchronous Communication and Notification Messaging and Events In this topic, you will learn about the business requirements for a disconnected business logic layer In an enterprise solution, communication or notification between business. .. programming language For more information about building applications that use Message Queuing, see Course 1901A: Building MSMQ Applications with Visual C++ 6 Module 7: Business Logic for Disconnected Components 9 Queued Components Topic Objective To provide a review of queued components Lead-in In this topic, you will learn about the physical design issues for queued components The COM+ Queued Components service... are performed, they are performed in a nondestructive manner As a result, if the transaction aborts, the messages remain in the queue 26 Module 7: Business Logic for Disconnected Components # Physical Design of Disconnected Business Logic Topic Objective To provide an overview of the section topics and objectives ! Event Class ! Creating the Event Class Lead-in ! Configuring COM+ Events ! Queued Components. .. client transaction Module 7: Business Logic for Disconnected Components 25 Queued Components Because queued components are built on Message Queuing, and Message Queuing is a resource manager that can participate in a transaction, queued components can also participate in transactions For example, if a transactional component makes changes to a database and queues messages to other components, both operations... disconnected from them Third, you will learn about COM+ events for sending notifications and events Finally, you will learn how to combine queued components and events for sending notifications in a disconnected manner 8 Module 7: Business Logic for Disconnected Components Message Queuing Topic Objective To provide an overview of queued components Lead-in In this topic, you will learn about the features... automatically generated at run time based on information obtained from the event class’s type library The COM+ Event Service code accesses the list of known subscribers and forwards the event to each one in turn The physical design of disconnected logic components includes the implementation of the IStockEvents interface 28 Module 7: Business Logic for Disconnected Components Creating the Event Class Topic... wait for a response if it is not required (The response might take time given potential network latency or server unavailability.) Module 7: Business Logic for Disconnected Components 7 # Technologies Topic Objective To provide an overview of the section topics and objectives Lead-in In this section, you will learn about the Microsoft technologies that can be used to implement disconnected business logic. .. eliminates the need for the listener to be active when the event occurs Asynchronous mechanisms are sometimes referred to as loosely coupled because various pieces of the process are independent of one another Additionally, the client and server might have independent lifetimes 6 Module 7: Business Logic for Disconnected Components Two business scenarios can summarize the business requirements for loosely... Transactions In this section, the following design patterns that apply to the logical design of a disconnected business logic layer will be presented: Observer and Queue In addition to the two design patterns covered in Module 6, Business Logic for Connected Components (Iterator and State), the disconnected business logic layer can use two behavioral design patterns: Observer and Queue An Observer behavioral . makes up a business logic layer and, in particular, a disconnected business logic layer. Module 7: Business Logic for Disconnected Components 3 The Business. Business Logic for Disconnected Components # ## # Introduction to Disconnected Business Logic ! The Business Problem ! Business Requirements Disconnected business

Ngày đăng: 27/10/2013, 07:15

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan