Instructor Notes This module describes the architecture of an enterprise solution with respect to the Microsoft® enterprise development strategy and Microsoft Windows® 2000 Distributed i
Trang 1Contents
Overview 1
Introduction to Enterprise Development 2
Introduction to the Windows 2000 Platform 11
Lab 1: Reviewing the Lab Solution 35
Review 41
Module 1: Developing Enterprise Solutions for Windows 2000
Trang 2to 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, BackOffice, MS-DOS, Windows, Windows NT, Active Directory, ActiveX, FrontPage, Intellisense, Jscript, Microsoft SQL Server, PowerPoint, Visual Basic, Visual C++, Visual FoxPro, Visual InterDev, Visual J++, Visual SourceSafe, Visual Studio, and Win32 are either registered trademarks or trademarks of Microsoft Corporation in the U.S.A and/or other countries
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
Other product and company names mentioned herein may be the trademarks of their respective owners
Trang 3Instructor Notes
This module describes the architecture of an enterprise solution with respect to the Microsoft® enterprise development strategy and Microsoft Windows® 2000 Distributed interNet Applications (DNA) It introduces the new features in Windows 2000 and the Microsoft tools and technologies that students can use
to develop enterprise solutions The module also discusses the attributes of the business problem that will be solved in this course and how Microsoft
technologies will be used to build the solution
After completing this module, students will be able to:
! Describe the high-level architecture of an enterprise solution that uses Microsoft's enterprise development strategy
! Explain the terminology and concepts of Windows 2000 DNA
! Describe some of the key features of the Windows 2000 platform that relate
to enterprise development
! Identify Microsoft tools and technologies used in enterprise development
! Identify some of the best practices in building distributed, enterprise solutions
! Describe the high-level design of the Purchase Order application used in the labs for this course
In the lab, students will explore the user interface for the Purchase Order Online application They will use Microsoft Visual InterDev® to view the HTML page from which orders will be placed and examine the ASP code used to call the business objects in the lab solution They will also examine the
PurchaseOrderSystem database to become more familiar with the lab
application
Materials and Preparation
This section provides you with the required materials and preparation tasks that are needed to teach this module
Required Materials
To teach this module, you need the following materials:
! Microsoft PowerPoint® file 1907A_01.ppt
! Module 1: Developing Enterprise Solutions for Windows 2000
! Lab 1: Reviewing the Lab Solution
Preparation Tasks
! Read all of the materials for this module
! Complete the lab
! Read the instructor notes and the margin notes for this module
Presentation:
45 Minutes
Lab:
30 Minutes
Trang 4Module Strategy
Use the following strategy to present this module:
! Introduction to Enterprise Development Describe the three services layers and what happens at each layer The rest
of the topics on various architectures are based on this topic Describe the application architectures by focusing on where each service resides Use the diagrams on the slides to explain the architectures
! Introduction to the Windows 2000 Platform Discuss Windows 2000 in terms of its role as the latest generation of the Windows operating system It builds on Windows NT technology by adding many features and enhancements Windows 2000 has enhanced reliability and scalability, and provides ease of use to end users, system administrators, and developers
Introduce some of the key features of the Windows 2000 platform that help developers build enterprise solutions
! Tools and Technologies Explain that Microsoft tools and technologies are available to build each tier
of a distributed application Briefly describe the enterprise tools available in Microsoft Visual Studio such as Visual Modeler, Visual Studio Analyzer, Visual SourceSafe, and Visual Component Manager Mention the servers available in Microsoft BackOffice and the COM and XML technologies All
of these technologies will be covered in more detail in later modules
! Overview of Lab Solution Purchase Order Online is a sample application that is used throughout the labs in this course It is used to exemplify the concepts covered in the course materials This sample application is a distributed purchase order
application from which users can raise purchase orders for a variety of products The sample application is based on MS Market, an internal procurement system used within Microsoft Explain that this lab application was designed as a learning scenario and would require additional design and development to be used in production
! Best Practices
At the end of the module, discuss the best practices for implementing enterprise solutions Mention that most of these practices are covered in greater detail in various topics throughout the module
Trang 5# Overview
This module introduces the terms and concepts related to building enterprise solutions based on the Microsoft Windows Distributed interNet Applications (DNA) 2000 platform You will learn how the Windows 2000 platform provides infrastructure services that can be used by distributed applications for transaction management, asynchronous operations, data management, and security You will also learn about the Microsoft tools and technologies you can use for enterprise development Finally, you will be introduced to the lab scenario used to build the labs in this course
Objectives
After completing this module, you will be able to:
! Describe the high-level architecture of an enterprise solution that uses Microsoft's enterprise development strategy
! Explain the terminology and concepts of Windows DNA 2000
! Describe some key features of the Windows 2000 platform that relate to enterprise development
! Identify Microsoft tools and technologies used in enterprise development
! Describe the high-level design of the Purchase Order application used in the labs for this course
services that can be used by
distributed applications for
transaction management,
asynchronous operations,
data management, and
security
Trang 6# Introduction to Enterprise Development
Architecture
Windows DNA provides a model for building scalable distributed applications
on the Windows platform It defines the fundamentals of building multitier applications and the Microsoft tools and technologies used to create them
In this section, you will learn about the kinds of services provided by enterprise solutions and how dividing a distributed application into tiers can help make the solution more scalable, robust, and adaptable
This section includes the following topics:
! Application Services
! Application Architectures
! Windows DNA Architecture
Trang 7
Application Services
$ A means of allowing users to interact with the system
$ Business logic to retrieve and manipulate data according
to specific business rules
$ A data store of some type and the logic to manipulate the data
Enterprise applications need to be used simultaneously by many users
Although each application may be designed to operate in a specific business environment, distributed applications typically have common design characteristics The enterprise architecture uses a services model with at least three layers as defined by the Microsoft Solutions Framework (MSF)
application model:
! User services
A means of allowing users to interact with the system
! Business services Business logic used to retrieve, validate, and manipulate data according to specific business rules
a programmatic interface
For example, Microsoft Excel has a rich GUI that is implemented by using a workbook/worksheet metaphor Excel also provides a comprehensive set of programmatic interfaces offering the same features and functionality in the form of Automation The two types of interfaces are semantically equivalent and are both considered user services
An application’s user services are responsible for managing all aspects of the interaction between the user and the application To manage this interaction well, you must understand who the users are, the activities that they will need to perform, and the interaction styles that are best suited to the different
combinations of user and activity
Trang 8Business Services
Business services are the units of application logic that control the sequencing and enforcing of business rules and the transactional integrity of the operations that they perform Business services transform raw data into information for the user through the appropriate application of rules
The goal of a properly designed business service is to isolate business rule enforcement and data transformation logic from their consumers (user and other business services) and from the underlying data services Isolating the business services logic from the user and data services yields the following advantages:
! Flexibility Allows the developer to choose how and where to deploy the business services: as components on an application server, as stored procedures in a database management system (DBMS), or even on the client
! Multiple user scenarios Allows the developer to place different types of user interface logic in front
of a standard set of business services For example, a set of business services for performing operations on a customer object is implemented as a single component running on an application server The services that the component provides could be used in any of the following client scenarios:
as macros running inside Microsoft Office, from a custom application developed with Microsoft Visual Basic®, or from inside HTML pages running inside Microsoft Internet Explorer
! Ease of maintenance Makes it easier to maintain business rules and logic by isolating changes from the application’s user and data services
! Replacement of business rules Provides the ability to replace implementations of business services For example, the set of business rules embodied within a set of business services may vary from country to country; however, the interfaces to those services remain constant
Data Services
Data services are the units of application logic that provide the lowest visible level of abstraction used for manipulating data Data services maintain the availability and integrity of both persistent and nonpersistent data Data services control and provide access to data in a way that does not require business services to know where the data is located, how the service is implemented, or how it is accessed
While it is possible to identify discrete user and business services (such as services that relate to a customer), services at the data service level are more granular For example, a system may contain service components for customers, employees, and vendors At the business service level, each service component would have a unique set of attributes, services, and rules However,
at the data service level, the services represent examples of an entity to the organization As a result, a data service component named Account Information might be implemented that provides Create, Read, Update, Delete, and
Rollback services for customers, employees, and vendors
Trang 9Application Architectures
Applications can be implemented as centralized processing systems (often referred to as single-tier solutions), two-tier solutions (client/server), or n-tier systems (three or more tiers)
Single-Tier Applications
Early systems implemented application services by centralizing all of the processing on a large server and allowing users to access the application through dumb terminals, remote keyboards, and display units with no processing power The server handled all data storage, business logic, and presentation logic The above illustration shows how application services are handled in a centralized processing system
These centralized systems provide a number of advantages to the developer Because all logic is centralized, deploying, maintaining, and upgrading the application is done at the server No software needs to be installed or maintained at the client computer
However, this design presents some scalability issues As more users need to access the system, the server needs to cope with a large amount of processing
To a certain extent, adding RAM and improving hardware at the server can alleviate scalability problems, but ultimately this design is not suited to the huge number of users who need to use enterprise systems in today’s organizations
The key to making solutions scalable is to make them distributed Distributed systems share the processing load between multiple computers The most basic form of a distributed system is a two-tier application often called a client/server application
Trang 10Application Architectures (continued)
Two-Tier Applications
In a two-tier application, the processing is shared between the server and the client computer The server implements the data services and the client performs the user services logic The business services can be implemented by the client software (sometimes called the "intelligent client" model) or by the server-based database application (sometimes called the "intelligent server" model), or they can be shared between the client and the server The above illustration shows how application services are handled in a typical two-tier application
The two-tier design is more scalable than the centralized processing model because much of the load can be taken off the server by the client computers However, the two-tier model still presents problems in an enterprise
environment
Placing the business services on the client makes them difficult to modify and reuse Each time a business rule changes, a new version of the client software must be written and deployed Centralizing the business logic on the database server alleviates the problem of updating business rules, but adds more processing load to the server Additionally, database servers typically use Structured Query Language (SQL) statements in stored procedures to perform business logic Using stored procedures is not as flexible or efficient as using other languages Each client computer requires its own database connection, which requires server resources such as RAM, and long-running business processes on the server will tie up these database connections and again lead to scalability problems
Trang 11
Application Architectures (continued)
N-Tier Applications
The Microsoft Solutions Framework (MSF) Application Architecture Model is used to design scalable distributed solutions by spreading the processing load over three or more tiers This design is sometimes called the three-tier model However, business services can be further divided into multiple layers; for example, business rules may be separated from the data access logic used to access data services As a result, the term n-tier is often used to denote a multitiered application The above illustration shows how services are handled
in an n-tier application
The n-tier model allows business logic to be centrally located As a result, it is easily modified and reused, while not overburdening the database server Database connection pooling can be used to share database connections between multiple clients, making more efficient use of the available connections Business logic can be written in any language and encapsulated in components that support the Component Object Model (COM) Business logic can be also be implemented by using the Distributed COM (DCOM) protocol or over the Internet by using Hypertext Transfer Protocol (HTTP)
A greater degree of abstraction is obtained by using multiple tiers Minimally, the database server is abstracted from the client so that if the data source changes (for example, an Oracle database is migrated to Microsoft SQL Server™), only the middle-tier components accessing the database need to be updated The client application is unaffected Further abstraction can be obtained by dividing the business services into additional tiers Many applications include two tiers of components; one tier contains code to enforce business rules, while the other tier contains code to connect to the data tier This increased granularity makes it easier to maintain the solution
Trang 12Logical and Physical Tiers
Logical tiers are used to divide an application conceptually For example, you may design an application with the following logical tiers:
! Logical tier 1: user services
! Logical tier 2: business rules
! Logical tier 3: data access logic
! Logical tier 4: data services
Physical tiers describe how the application is deployed across computers For example, you may decide that better performance will be achieved if the data access logic is deployed on the same computer as the business rule logic:
! Physical tier 1: user services
! Physical tier 2: business rules and data access logic
! Physical tier 3: data services
Trang 13
Windows DNA Architecture
The Windows DNA platform is based on the n-tier design and uses Microsoft tools and services to build scalable distributed applications
User Services
User services can be implemented in 32-bit Windows applications (often referred to as rich clients) and developed by using Microsoft development tools such as Microsoft Visual Basic, Microsoft Visual C++®, Microsoft Office, and Microsoft Visual J++® Alternatively, lighter-weight HTML front ends (often referred to as thin clients) can be developed by using Microsoft FrontPage® or Microsoft Visual InterDev and hosted on Microsoft Internet Information Server (IIS) These HTML-based applications allow greater reach to clients in intranet and Internet solutions and technologies such as Active Server Pages (ASP) and DHTML Microsoft ActiveX® controls can be used to provide varying degrees
of functionality
Business Services
Business services are implemented in COM+ components As a result, business functionality can be encapsulated and reused COM+ components can be developed in any COM-aware language such as Visual Basic, Visual C++, or Visual J++, and they can be distributed over multiple computers running different operating systems The COM+ services in the Microsoft Windows
2000 operating system provide declarative transaction management, asynchronous operations, a distributed event mechanism, security, and ease of deployment
Trang 14Windows DNA 2000
Windows DNA 2000 is the natural evolution of Windows DNA and provides a number of building blocks that allow developers to take advantage of the Windows 2000 platform and build distributed Web applications
Windows DNA 2000 includes the following components
Component Description
AppCenter Server 2000 A product that simplifies the deployment and
management of Windows DNA applications within server farms
Host Integration Server 2000 This tool, formerly called SNA Server, provides
network, data, and application integration with legacy hosts
BizTalk Server 2000 An XML-based business-to-business commerce
solution BizTalk Server 2000 provides business process integration within the enterprise and with trading partners across the Internet through the exchange of XML-formatted business documents Commerce Server 2000 A package of business-to-consumer commerce
software
SQL Server 2000 SQL Server 2000 has native XML support and
enhanced data-mining capabilities
In this course, you will focus on designing and developing components for business services by using Visual Basic 6.0 and COM+ services For more information about Windows DNA, go to the Microsoft Windows DNA Web site at msdn.microsoft.com/windowsdna
Trang 15# Introduction to the Windows 2000 Platform
This section includes the following topics:
! Windows 2000 Product Family
Trang 16Windows 2000 Product Family
Large, mission-critical OLTP and OLAP database solutions server
32 CPUs, 64GB RAM Windows 2000
Datacenter Server
Line of Business / commerce application server
E-8 CPUs, E-8GB RAM Windows 2000
Advanced Server
File and print / Intranet application server
4 CPUs, 4GB RAM Windows 2000
Server
Business Desktop or Notebook
2 CPUs, 4GB RAM Windows 2000
Professional Edition
Description Hardware Support
Product
The Windows 2000 family consists of Windows 2000 Professional, Windows
2000 Server, Windows 2000 Advanced Server, and Windows 2000 Datacenter Server Each product is optimized for a specific role within the enterprise as described in the following table
Product Hardware
support Description
Windows 2000 Professional
2 CPUs
4 GB RAM
Replaces Windows 95, Windows 98, and Windows NT 4.0 Workstation in the business environment, and provides a flexible desktop operating system that is easy to use
Provides greater hardware support than its predecessors and Plug and Play technology for simpler configuration It also supports the latest
in Universal Serial Bus (USB) devices Support for dial-up networking, infrared, Virtual Private Networks (VPNs), and offline folder
synchronization make it an ideal platform for mobile users
Windows 2000 Server
4 CPUs
4 GB RAM
Contains all the features of Windows 2000 Professional and provides features that simplify network management and application
development Windows 2000 Server includes Internet Information Services for hosting Web-based applications, COM+ component services for building middle-tier business services, and ActiveX Data Objects 2.5 for universal data access
Used to manage users in a Windows 2000 Domain environment by using Active Directory services for domain management Supports up to four processors
Trang 17Product Hardware
support
Description
Windows 2000 Advanced Server
8 CPUs
8 GB RAM
Contains all the features in Windows 2000 Server, and provides increased scalability and system availability through clustering technology, enterprise memory architecture, and increased symmetric multiprocessing (SMP) scalability
Designed for large enterprise networks and for database intensive work
Windows 2000 Datacenter Server
32 CPUs
64 GB RAM
Contains all the features of Windows 2000 Advanced Server, and supports cascading failover among four nodes and 32-node network load balancing
Designed for large data warehouses and Online Transaction Processing (OLTP) systems
Trang 18
COM+ in Windows 2000
The COM+ component services in Windows 2000 build on COM and the infrastructure services provided with the Windows NT 4.0 Option Pack, such as Microsoft Transaction Server (MTS) and Microsoft Message Queue Server (MSMQ) By providing these services, Windows 2000 makes it easier to build scalable, distributed systems that use transactions and asynchronous operations;
it also and allows developers to concentrate on developing components that implement business logic rather than writing complex infrastructure code that is common to many applications
For example, if you are developing a distributed purchase ordering application, you must implement business rules that are unique to that application (such as ensuring that orders are sent to the correct vendor or that the appropriate cost center budget is debited) If you were developing an Internet-based banking system, the business logic would be different (for example, money must be transferred between the correct accounts and overdraft limits must be enforced) While these applications involve different business logic, there is a certain amount of infrastructure that is common to both (for example, database connections must be managed efficiently, transactional integrity needs to be enforced, and security must be controlled) Because the infrastructure issues are handled by the component services in the Windows 2000 operating system, developers do not need to rewrite the same functionality for each new application They need only write the specific business logic required by the solution
Trang 19Component Services Infrastructure
Windows 2000 component services provide infrastructure for the following:
Trang 20Active Directory
EMEA = Europe, Middle East, Africa
Active Directory services provide a distributed, hierarchical repository for many kinds of information in a Windows 2000 network Typically, the directory is used to store details of users, computers, printers, and other objects
in the enterprise
Storing the details of objects in the directory makes it easier to organize and administer those objects Because the directory is hierarchical and can be replicated throughout a network, it can be scaled to store millions of objects The Windows 2000 directory is based on the X.500 schema and is used to organize objects in hierarchical domains A domain is a logical grouping of servers and other network resources under a single domain name (for example, microsoft.com) Organizational units (OUs) are used to group objects within a domain and can be created to reflect the enterprise’s geographical or
organizational structure, or any other hierarchy
The above illustration shows an example of the Active Directory structure for the microsoft.com domain There are two organizational units, North America and Europe, Middle East, Africa (EMEA), each containing users
You can access objects in Active Directory programmatically by using Internet standards such as the Lightweight Directory Access Protocol (LDAP) You can also use the Active Directory Services Interface (ADSI) from Visual Basic to retrieve and update data in the directory
For more information about Active Directory, see Module 6: Integrating with Active Directory
Trang 21ActiveX Data Objects 2.5
The ActiveX Data Objects (ADO) 2.5 library is part of the Windows 2000 Server operating system This library of COM objects is built on the OLE DB application programming interface (API) and enables data from a wide variety
of sources to be accessed programmatically OLE DB providers are used to access the functionality of specific data stores, but the detail is abstracted from the developer by ActiveX Data Objects (ADO) Because the ADO library supports Automation, it can be used with interpreted languages such as Visual Basic Scripting Edition and compiled languages such as Visual Basic ADO is
an integral part of the Microsoft Data Access Components (MDAC), which provide the implementation of Microsoft’s Universal Data Access initiative
Most Visual Basic developers are familiar with using ADO Connection,
Command, and Recordset objects to access relational data in databases such as
Microsoft Access, Microsoft SQL Server, and Oracle databases However, ADO can also be used to access data in nonrelational sources such as the Windows 2000 directory, Microsoft Site Server catalogs, Microsoft Exchange
Server mail stores, and (by using the ADO 2.5 Record object) file systems and
Web sites
For more information about using the ADO Record object, see Module 7:
Universal Data Access with ADO 2.5
Trang 22Web Technologies
The Internet and Internet-related technology have become an increasingly important part of enterprise application development Windows 2000 provides services and tools to help you build Web-based solutions
Internet Information Services
Using Internet Information Services 5.0, intranet or Internet applications can be easily created and managed Internet Information Services (IIS) provides support for Internet standards such as the HTTP protocol, File Transfer Protocol (FTP), and the Secure Sockets Layer (SSL) security mechanism
Applications can be built by using the Internet Services API (ISAPI) and Active Server Pages (ASP) These methods enable you to create powerful, server-side Web applications for use in an enterprise solution You can execute ASP scripts
by using the IIS scripting engine that calls business objects implemented as COM components or access data directly by using ADO
Trang 23Web Technologies (continued)
$ Client-side scripting in Microsoft Visual Basic Scripting Edition and Microsoft JScript
$ DHTML and DHTML behaviors, which allow DHTML functionality to be encapsulated in a separate file
$ XML, through the Microsoft XML Parser and the Document Object Model (DOM)
$ ActiveX controls and ActiveX documents
Internet Explorer 5
Microsoft Internet Explorer 5.0 is integrated with the Windows 2000 operating system and provides a versatile Web client Internet Explorer provides support for a number of key technologies, including:
! Client-side scripting in Visual Basic Script and JScript®
! DHTML and DHTML behaviors, which allow DHTML functionality to be encapsulated in a separate file
! XML, by using the Microsoft XML Parser and the Document Object Model (DOM)
! ActiveX controls and ActiveX documents