About Apex InfoTech Information Services Products Consulting Online Courses Certifications Course Schedule Reserve your seat Search Apex InfoTech Home Page
Course ScheduleSearch by Course NumberPrint this documentEmail this documentRegister for this course

Advanced Techniques for Designing Distributed Applications for Windows 2000
Course 1910: Five days; Instructor-led

Introduction

The goal of this course is to teach developers how to apply advanced techniques for designing distributed applications for Microsoft® Windows® 2000. Advanced design techniques include the use of design patterns and architecture templates in the logical design, the choice of technology in the physical design, and best practices. Students will create the logical and physical designs of a sample application by using the design techniques presented in this course.


Audience

The primary audience for this course is senior corporate developers who build distributed applications for internal corporate use. They are familiar with using Microsoft Visual Basic ® to build COM+ components and with Windows 2000 and Extensible Markup Language (XML). The secondary audience is consultants who offer their services during any stage of the development process for distributed applications. They are familiar with using Visual Basic to build COM+ components and with Windows 2000 and XML. A third possible audience for this course is information technology (IT) professionals (traditionally called system architects) whose job includes helping to determine the technologies that should be used to solve their company's IT needs.

At Course Completion

After completing this course, students will be able to:

  • Divide an enterprise application into layers: user services, business/Web facade, business services, data access layer (DAL), data services, and system services.
  • Apply design patterns such as Facade and Queue to enhance logical design.
  • Apply architecture templates to the logical design of an enterprise application.
  • Create physical designs to use specific technology programming models such as transaction services, event services, and messaging services.
  • Create the logical and physical designs for user services.
  • Create the logical and physical designs for a Web services facade.
  • Create the logical and physical designs for a business services facade.
  • Create the logical and physical designs for business logic (connected or disconnected).
  • Create the logical and physical designs for a transactional DAL.
  • Create the logical and physical designs for a nontransactional DAL.
  • Create the logical and physical designs for data services.
  • Create the logical and physical designs for system services.


Prerequisites

Before attending this course, students must have experience in the following:

  • Creating Visual Basic COM+ components that can participate in transactions.
  • Using Visual Basic to implement interfaces on COM+ components.
  • Creating Visual Basic COM+ components that use the Loosely Coupled Events (LCE) model.
  • Creating Visual Basic COM+ queued components.
  • Using the Component Services snap-in to configure COM+ components for security, activation, concurrency, transactions, and queuing.
  • Using XML to persist and transfer data.
  • Using ActiveX® Data Objects (ADO) 2.5 to maintain and transfer data.
  • Using Active Directory to store and retrieve static data.
  • Using Structured Query Language (SQL) and stored procedures in Microsoft SQL Server version 7.0 to work with dynamic data.
  • Applying the principles of the Microsoft Solutions Framework (MSF) to create conceptual, logical, and physical designs.

The course materials, lectures, and lab exercises are in English. To benefit fully from the instruction, students need an understanding of the English language and completion of the prerequisites.


Microsoft Certified Professional Exams

There is no MCP exam associated with this course.


Student Materials

The course materials are yours to keep.

The student kit includes a comprehensive workbook and other necessary materials for this class.

The following software is provided for use in the classroom:

  • Microsoft Windows 2000 Server
  • Microsoft Visual Studio® 6.0, Enterprise Edition
  • Microsoft Developer Network (MSDN)® Library
  • Microsoft SQL Server 7.0, Standard Edition
  • Microsoft Visio®, Professional Edition
  • Microsoft Word 2000 Service Release 1 (SR-1)
  • Market Purchasing (the sample application distributed with the course)


Course Outline

Module 1: Designing Distributed Applications for Windows 2000

The following topics are covered in this module:

  • Microsoft Enterprise Strategy
  • Microsoft Solutions Framework (MSF)
  • Unified Modeling Language (UML)
  • Design Patterns
  • Market Purchasing

After completing this module, students will be able to:

  • Describe the Microsoft Enterprise strategy, identify the Microsoft Windows 2000 technologies, and identify the types of applications that you can build.
  • Identify the technologies and application types that this course will focus on.
  • Describe design patterns and how they apply to architecture and logical design.
  • Describe the MSF application model and UML.
  • Describe the attributes of the Market Purchasing application that will be used in this course.

Module 2: Architecture and Structural Design Patterns

The following topics are covered in this module:

  • Introduction to Architecture Templates
  • Design Patterns Used in Architecture
  • The Enterprise Template
  • Other Architecture Templates
  • MSF Enterprise Architecture
  • Best Practices

After completing this module, students will be able to:

  • Describe architecture templates.
  • Describe the creational design patterns.
  • Describe the structural design patterns.
  • Describe the Enterprise template.
  • Describe Enterprise Architecture and how it relates to an Enterprise template.
  • Choose structural design patterns and apply them to an application architecture.

Module 3: Logical Design and Behavioral Design Patterns

The following topics are covered in this module:

  • Introduction to Behavioral Design Patterns
  • Automated Teller Machine (ATM) Scenario
  • Relevant Behavior Patterns
  • Best Practices

After completing this module, students will be able to:

  • Describe behavioral design patterns.
  • Identify the appropriate architecture template for a given set of use cases.
  • Describe how an ATM application can take advantage of behavioral design patterns.
  • Choose behavioral patterns and apply them to a logical design.

Module 4: User Services

The following topics are covered in this module:

  • Introduction to User Services
  • Technologies
  • Design and Implementation Considerations
  • Market Purchasing
  • Best Practices

After completing this module, students will be able to:

  • Describe the logical and physical designs of user services.
  • Describe the differences between thin client and rich client physical designs and the technologies that are involved in each.
  • Create a physical design for a thin client solution.
  • Create a physical design for a rich client solution.
  • Describe the Market Purchasing user services logical and physical designs.

Module 5: The Facade Layer

The following topics are covered in this module:

  • Introduction to the Facade Layer
  • Technologies
  • Logical Design of the Facade Layer
  • Physical Design of the Facade Layer
  • Market Purchasing
  • Best Practices

After completing this module, students will be able to:

  • Describe the differences between the two types of facade layers: the Web services facade layer and the business facade layer.
  • Describe the role of the facade layers and how to apply design patterns when designing facade layers.
  • Describe the techniques for securing a facade layer.
  • Describe the design of robust COM+ components.
  • Create the logical and physical designs for facade layers.
  • Describe the logical and physical designs for the Market Purchasing facade layer.

Module 6: Business Logic for Connected Components

The following topics are covered in this module:

  • Introduction to Connected Business Logic
  • Technologies
  • Logical Design of Connected Business Logic
  • Physical Design of Connected Business Logic
  • Market Purchasing
  • Best Practices

After completing this module, students will be able to:

  • Describe the logical design of the connected business logic layer and how to take advantage of design patterns.
  • Design and configure COM+ components in the physical design for transactions, security, activation, synchronization, and state management.
  • Describe how the Market Purchasing application uses design patterns and COM+ technology in its logical and physical designs.
  • Implement logical and physical designs for business logic for connected components.
  • Make decisions about how to implement components by using COM+ transactions and object pooling.

Module 7: Business Logic for Disconnected Components

The following topics are covered in this module:

  • Introduction to Disconnected Business Logic
  • Technologies
  • Logical Design of Disconnected Business Logic
  • Physical Design of Disconnected Business Logic
  • Market Purchasing
  • Best Practices

After completing this module, students will be able to:

  • Describe the design and implementation of disconnected business logic, and use design patterns.
  • Describe the technologies used in implementing disconnected business logic: COM+ queued components and LCE.
  • Create a physical design for a queued component.
  • Create a physical design for event notification.
  • Implement logical and physical designs for business logic for disconnected components.
  • Make decisions about implementing components by using Message Queuing.

Module 8: The Nontransactional Data Access Layer

The following topics are covered in this module:

  • Introduction to the DAL
  • Nontransactional DAL Technologies
  • Logical Design of Nontransactional DAL
  • Physical Design of Nontransactional DAL
  • Market Purchasing
  • Best Practices

After completing this module, students will be able to:

  • Describe the differences between the two types of DALs: transactional and nontransactional.
  • Describe the logical and physical designs of a nontransactional DAL, and use behavioral design patterns.
  • Describe the data access technologies provided by Microsoft Data Access Connectivity (MDAC).
  • Create the physical design for data caching that uses the Cursor Engine.
  • Implement the logical and physical designs for a nontransactional DAL object.

Module 9: The Transactional Data Access Layer

The following topics are covered in this module:

  • Introduction to Transactional DAL
  • Technologies
  • Logical Design of Transactional DAL
  • Physical Design of Transactional DAL
  • Market Purchasing
  • Best Practices

After completing this module, students will be able to:

  • Describe the logical design of a transactional DAL.
  • Describe SQL Server, the Microsoft Distributed Transaction Coordinator (MS DTC), and COM+ transactions and synchronization.
  • Describe the Compensating Resource Manager (CRM).
  • Describe the physical design of a transactional DAL, and use the technologies presented in this module.
  • Implement logical and physical designs for business logic for transactional DAL components.
  • Implement the physical design for managing state by using the Shared Property Manager (SPM).

Module 10: Data Services

The following topics are covered in this module:

  • Introduction to Data Services
  • SQL Server
  • Active Directory
  • Logical Design of Data Services
  • Physical Design of Data Services
  • Market Purchasing
  • Best Practices

After completing this module, students will be able to:

  • Identify the important features of a data service, and in particular those of SQL Server and Active Directory.
  • Describe storage and retrieval for data services.
  • Describe how a data service works with data.
  • Describe how a data service maintains data integrity.
  • Describe how a data service handles distribution.
  • Implement logical and physical designs for data services.

Module 11: System Services

The following topics are covered in this module:

  • Introduction to System Services
  • Logical Design of System Services
  • Physical Design of System Services
  • Market Purchasing
  • Best Practices

After completing this module, students will be able to:

  • Describe the logical design of a system services layer.
  • Describe the functionality of authentication.
  • Describe the functionality of an audit.
  • Describe application instrumentation.
  • Describe the physical design of a system services layer, and use the technologies presented in this module.
  • Implement logical and physical designs for system services.
  • Identify appropriate technology to use for a log service.

Module 12: Summary

The following topics are covered in this module:

  • Design Patterns and Design Tools in Logical Design
  • Technology Usage in Physical Design
  • Best Practices
  • Design Validation
  • Future Enhancements to Market Purchasing

After completing this module, students will be able to:

  • Summarize the logical design considerations for each of the layers of the Enterprise template and in particular the use of design patterns.
  • Summarize the physical design considerations for each of the layers of the Enterprise template and in particular the use of technology.
  • Review the key technologies that affect multiple layers.
  • Summarize the best practices for each of the layers of the Enterprise template.
  • Discuss future enhancements for Market Purchasing.

For more information or to give feedback, send e-mail to info@OneApex.com or call 949-597-2100