Deploy Windows DNA 2000 Application - Duwamish Online Project Overview

xiaoxiao2021-03-06  48

Http://www.microsoft.com/china/msdn/library/archives/library/techart/d5dplywindna.asp

Deploy Windows DNA 2000 application

Duwamish Online Project Overview

PEDRO SILVA and Michael D. Edwards

Microsoft Developer Network

July 2000

Summary: This article provides an overview of the history of the DUWAMISH sample application and discusses the process of transitioning it into a true, active e-commerce launch procedure.

table of Contents

Introduction Overview www.duwamishonline.com

Duwamish Online Target Duwamish Online Application Upgrade Duwamish Online Deployment Application Architecture

Hierarchical architecture network architecture

Internet Regional Server Area Area Server Hardware and Software Conclusion

Introduction

Ask any one of the people who started the web application, where is the problem, the answer you get is different. The problem is extensive, and the essence is not pure technical. We should know this - through our work in the MSDN® Duwamish Online project, in the past two years we have been working on design, implement, deploying, and running a global Internet e-commerce launch procedure. Stop now - I am happy to laugh before the truly Internet launch of the truly Internet launcher spend two years, stop and think about how the people will be reappeared in order to make our plan how much impact!

For the Duwamish team, identify and solve all the questions related to the web application "just" to complete half work, and half work is to educate. Most of our remaining time is used to create and update extremely detailed laboratory notebooks and processes, hundreds of-page applications and network specifications, as well as many reports and analysis documents.

In other words, it is successfully established http://duwamishonline.com, but you have not church how you do this, this is not what we hope. So, what will you ask for duwamish online? Continue to read, we will explain the objectives of the project, check the technical details of the Duwamish Online software and network architecture, and give you experience to start your own Microsoft® Windows® DNA 2000 applications, these is us The content you want to discuss all over MSDN Online.

Overview

Last August MSDN released Duwamish Books Phase 4 sample applications, Duwamish books is an ambitious project that shows the migration of business and architecture to the web. Phase 1 includes a set of single-chip desktop applications for operating a single retail bookstore. Phase 2 Migrate all data access code to shared COM components to support growth companies and client-server architectures with multiple stores. As the Duwamish virtual bookstore business continues to expand to other cities and states, Phase 3 achieves the change of logic's three-layer architecture, which can support different business rules for each store on business logic layers. Phase 3.5 integrates Microsoft Transaction Server (MTS) to manage components in the actual three-layer architecture and control transactions. Finally, Phase 4 transplays the application workflow code into the shared COM component and will represent the Logical Transplantation to Active Server Page (ASP) - Duwamish Books is a completely web-based Windows DNA application.

Www.duwamishonline.com

Before we released Duwamish Books, we knew that there will be a Phase 5. This is because we will focus on the software architecture of the Demonstration of Windows DNA applications throughout Phase 4. This is only one-third of the problem - another one-third is actually deploying a new web application, and one third is to operate. Therefore, after publishing the Phase 4 milestone, we immediately started to actually deploy DUWAMISH tasks on the Internet. Duwamish Online Target

The main goal of our duwamish Online is to teach you how to successfully launch your own web application. We will explain each step in detail from the head until tail. (Detailed description of the main points of successful web application)

Since the DUWAMISH team has a small experience in deploying and running web applications in deploying and running the Web application, we decide yourself to start Duwamish and run for a while. Because we expect a summer 2000 release after Windows 2000, we decided to demonstrate how (and why) upgrade the duwamish application architecture to COM SERVICES - how to transplant Windows DNA Go to Windows DNA 2000.

Upgrade of Duwamish Online Application

Unless our architecture transplantation is arrested by fundamental business changes, a new stage of duwamish will be incomplete; duwamish online is no exception. Therefore, under the inspiring of IPO cash, under the guidance of the inevitable road that will die, Duwamish Online adds a formal logo to a formal logo in its own product catalog.

The reason for other upgrades is that we believe that more perfect applications represent and workflows provide better scalability and higher performance. For high availability and high reliability, further architectural structures (software and hardware) are enhanced, which is caused by changes from Duwamish Online business, as well as the fact that the Web application is caused by successful operation of web applications. (Establish it with "just", as we do in Phase 4).

Database layer

Changes in the database layer are caused by the following two factors:

New business requirements, in addition to selling clothing and utensils in addition to sales books (and possibly further expand the duwamish online product catalog). DUWAMISH application workflow substantial extension.

These changes lead to modifications in the duwamish database scheme, and the number of fields, fields, and stored procedures. We use this opportunity to delete legacy database objects that are no longer related to the application. We also transplanted a database to Microsoft SQL ServerTM 2000 to use new features such as full text search in a cluster environment.

Intermediate layer and representation

In the middle layer, we have done and implement order pipelines, and add other workflows and business logic to support our improved representation. In order to provide higher scalability, availability, and reliability, we introduce "COM Queuing Components" to handle interactions with third-party partners. This allows us to perform orders in a much faster speed (provide important scalability revenue) without relying on our partner's real-time server performance and normal runtime (thus making our order workflow availability and reliability) We can fully control things in your own area)

If you downloaded and installed Phase 4, you will recognize that our significant improvements we do in Duwamish Online. We not only increased the complexity of each page, but we added other important features such as account history. We increase the complexity of the application to provide more credible performance and scalable numbers. (For example, the Duwamish Online Home is a dynamic page, which is delivered to the processing it needs to deliver ten times the static Phase 4 home page.) But because Duwamish Online is in the Internet, we also need a more complete application to keep You are busy and interested. Third-party interaction

We have implemented complete interaction with credit card authorized vendors and executives. This is important from the perspective of complexity and integrity. Here we have a lot of interesting issues to be resolved, from the Queued Component server to get the message to automatically generate email confirmation.

Application installation and establishment

Because we plan to install Duwamish Online many times during its survival, we need a very robust and maintainable installation application. Therefore, we decided to abandon Duwamish Books, Phase 4 installer (a code segment originating from Microsoft Visual Basic® Setup Kit - we started using it from the management of MTS components) and starts from the beginning. We ended the world's first fully automated, Windows 2000 logo certified web application installation utility. (At least it is the first utility that can be given for free!)

The first few phases of Duwamish uses the sub-joint establishment process (a pretty statement that does not have a formal establishment process). Because we want our customers to reproduce our test results, we need a very reliable and easy-to-modify establish utility. Our customers can establish and test the same internal testing we have established and tested. Therefore, we created a new application establishment program that we included in Duwamish Online download.

One of our best engineers spend a few weeks of time commitment to these two enhancements, we are very proud of this work.

Duwamish Online Deployment

Half of resources that spend on Duwamish Online is used to determine and apply 1,001 processes necessary to deploy web applications: from the establishment and testing of various network configurations to make the final scheduled and production server procurement decisions. From writing a database backup utility and exercise, the process of restoring the database by the backup, to the test database failed to switch. From the purchase domain name to "Strengthen" production server field to resist hackers. From the research usage and establish a load test script to isolate the lock in the proportional amplification test. These are just that we have taken to have completed in the past one year and will spend all the details of all the details in MSDN online in MSDN Online.

Application architecture

Hierarchical architecture

A similar N layer design in the early stage of the Duwamish Online Extended sample application, including denoted layer, workflow, business logic, data access layer, and data sources. Although there are various types of representations in the early stage, we focus on the HTML 3.2 and CSS 1.0 clients for Duwamish Online, so we can support possible maximum browser audiences. However, the ability to support a variety of representations is still part of this design and can be easily extended to utilize new browser functions. So all XML and XSL conversions must be done on the web server.

Figure 1. Application layer of duwamish online example

Data is stored in the relational database, and the components running under COM Services are accessed and manipulated. The data is converted into an XML format between the intermediate layer COM assembly and the representation layer. Represents the layer formatted the page and converts XML data to HTML 3.2, and then returns HTML 3.2 by Internet Information Services (IIS). Table 1. Duwamish Online layered application architecture

Logical N layer

Representation layer - HTML 3.2 Workflow - A work business logic layer across multiple independent business transactions - Boundary Data Access Layer of Independent Business Transactions - Processing Disconnected Data Access Database Layer

SQL Server 2000 database

Decompose the application logic into these layers, allowing you to write to modular, reusable and maintainable code compared to writing a single-chip web application. Use these terms to consider the application will slowly instill the following specification: keep these things in mind and throughout the app.

In addition, this logical level decomposition does not necessarily require the hierarchy of the COM component, although this is the decomposition method of the DUWAMISH application. With new script writing functions, such as the Visual Basic Scripting Edition (VBScript) class, you can easily encapsulate the code in the class and all layers can be written with scripts. Although this may help simplify your application development, you will not be able to take advantage of other features, such as COM security, "queuing components", etc.

Although many of the intermediate layer components have been changed to accommodate new features (including a variety of project catalogs and order history), the principle behind the workfall, business logic and data access layers is still maintained in Phase 4. Those principles are similar. Therefore, let us focus on some of these new components - queuing workflow components and execution components - see how they adapt to the entire system.

Queuing workflow components

For a Web site that processes millions of transactions per day, processing thousands of transactions per second during peaks, delay expensive operations can greatly improve response time. The queuing operation can release the IIS thread, so they can respond to more requests, rather than waiting for expensive synchronization operations. In addition, the queuing operation can make the site more reliable. If the queue part of the site becomes offline, or if there is a lot of transactions that need to be processed, the message is accumulated in the queue before the system is returned or there is a communication suspension that allows the system to catch up.

"COM Queuing Components" feature makes it easy to implement and configure objects on Microsoft's queuing technology (here MSMQ). The difficulty is to determine which part of your site does not require the user to feedback immediately, but first discharge into the queue. Database operation is a bit expensive, but credit card payment authorization is very expensive. As you learned from the experience of the gas station or department store card, it can present this order for a few seconds. When all of the worker threads of the web server (IIS use 25 grinder threads) are busy providing services for payment authorization requests, your response time will be out of limits.

Duwamish Online extensively used the "COM Queuing Components" feature for the order pipeline. When a customer clicks on purchases, the representation is passed to the local workflow assembly with an XML encoded order information. The local component calls a remote queuing workflow component and performs the ProcessOrder method. All order processing is performed by remote managed queuing workflow components and is completely unconstrained.

Order processing includes inserting sales and payment information into the database, authorizing credit card purchases, to perform preparation order data, with email notifications, and deduct shopping from credit card after executing order.

Subsystem

We have decided to cooperate with third-party execution companies (ie Interact Inc.). The company will be responsible for holding an inventory directory in their warehouse, packing the product and shipping to the customer. We immediately discovered that our database and message format were not compatible with Interact's format (ah, this is the happiness brought by the integration of business and business). You can only communicate with our executive providers by using the File Transfer Protocol (FTP) to access one address on their site. As the XML messaging and server applications are widely used, such as Microsoft BizTalkTM Server, these types of external services should not be easier. The execution system uses the Microsoft Windows NT® Task Scheduling Services as several scheduling operations. These scheduling event calls the execution of the workflow component to send the order single to Interact and update our provider's order status and inventory directory.

Performing a workflow has been integrated with other duwamiSH components, and it uses the business logic layer and the data access layer to perform database operations in the order table, as well as the operations specifically used to synchronize with Interact.

Send order list

"Send Order Line" uses the DUWAMISH Books business logic working stream to identify the upcoming order record. Once "Send Order Single" determines that a certain order is about to be executed, it converts the order data in the Duwamish Online format to the format compatible with the external system. The data is then transferred to an external system via FTP.

Update inventory directory and order status

"Update Inventory Catalog" and "Update Order Status" Convert the inventory directory status and order status from the execution server download. They then update the order status and inventory directory information in the Duwamish Online system through the workflow layer and the business logic layer. These components use these changes to retain any business rules that control the changes to the inventory directory and their status. It also calls queuing workflow components to complete the final credit card deduction.

Network architecture

One of the biggest differences between Duwamish Online and Duwamish's previous phases is the widespread work we have made when designing the network architecture of the application. The focus of product development is often the architecture and characteristics of the software. However, the web application network architecture is equally important. Many designed applications, if not properly deployed and operated, will be very miserable on the Internet.

Although Duwamish Online is designed as a logical N-layer application, it is deployed on two physical layers. After running a large group of configured tests on Duwamish, we found that the performance of the physical two-layer approach is the best because it minus communication between the machine (this is a huge performance killer). In this configuration, the web server runs all ASP pages of this Web site and all COM components, while the second floor runs the database server. Use the network load balancing (NLB) to balance the load between the web server. In the case where the components are run on its own machine intermediate layer, we have a lower throughput and a higher response time.

Table 2. Two-layer architecture of duwamish online

Physical two-layer Web layer (NLB cluster)

VBScript in ASP uses XML / XSL Convert All HTML ASP Application Spaces in all HTML ASP applications in the HTML ATL Cache component cache rarely changes HTML / XML Visual Basic COM Workflow, Business Logic, Data Access Components (COM Library) Database Layer Windows Cluster Service

SQL Server 2000 with stored procedures

Our production network configuration can be divided into two major network areas: Internet and server.

Internet area

The Internet area represents network traffic outside our routers and firewalls. Through a 1.5 Mbps connection to the Internet, the provider of this connection is our Internet Service Provider (ISP) - INFORMATION Technology Group located in Microsoft. We expect network traffic from Internet to three types of sources: customers, service providers, and remote monitoring clients.

client

Customer is a typical Internet user, they will access our site through a variety of web browsers. They will only allow them to access this site through the HTTP of port 80. They will browse our product catalog, select the item you want to buy and purchase.

service provider

We will also communicate with our vendor's servers via the Internet, our vendors provide payment and execution processing services. All communication with service providers will be limited to the "Queuing Components" (QC) server. Table 3 shows a list of communication methods required on the server.

Table 3. Communication methods required on the QC server

Service Provider Service Type Desired Network Protocol CYBERSOURCE Payment Processing Customization Protocol - Port 80INTERACT Order Performs FTP Port 21

Remote monitoring client

The most important consideration is that the Web site is accessible for its customers. We must have a way to check the availability of the site from our actual server network. Some network problems - such as lost ISP connections - cannot be monitored from a private network.

We will set at least one client outside our firewall to remotely monitor the health of our services. This client will respond regularly to our key service to respond and will remind the operator to pay attention to the failed service. Ideally, we deploy multiple clients through different ISP connections. However, for our initial deployment, we will set up a client through an external connection.

Server field area

Only external dedicated network connectivity in our server field is a safe dial-up connection from our ISP direct Internet exit and "management server" for operation and network management.

Figure 2. Network chart in duwamish online production

Our production server field consists of three network segments. These network segments are separated by the respective network interface cards (NIC) each segment in the machine.

Front-end network

This is a public network segment that can be accessed from Internet. All servers in this paragraph are connected to a 100-Mbps LAN switch. The front-end network consists of the connection of the following servers and services:

Four web servers configured as an NLB cluster. A queuing component (QC) server enables SMTP servers. An Main Dome Controller (PDC) / Domain Name System (DNS) server. (We also configure the QC server as a backup domain controller to prevent the main server downtime.) A 1.5-Mbps Internet connection from our ISP and enable IP filtering firewalls in the router level.

Backend network

The backend network is an internal dedicated network segment that allows secure communication between the front-end server and the backend database server. This network cannot be accessed directly from the Internet, so anyone or anything cannot be connected to our database server unless via the front-end server.

All servers in this paragraph are connected to a 100-Mbps LAN switch. The backend network consists of the connection of the following servers:

Four web servers configured as an NLB cluster. A queuing component (QC) server enables SMTP servers. An Main Dome Controller (PDC) / Domain Name System (DNS) server. (We also configure the QC server as a backup domain controller to prevent the main server shutdown.) Two database servers, configured to "take the initiative to passive server clusters". (These two database servers are connected to the external RAID5 storage system.)

Management network

The management network is another internal private network segment, which is dedicated to the operation and management of individual servers in the production area. It consists of all servers in the backend network and a management server. All servers are connected to a 100-Mbps LAN switch. The management server will:

Provide end client access to all servers. Monitor the health of all servers. It acts as a remote access server (RAS) for remote access to this area. Act as a backup server.

Server hardware and software

Record the hardware and software specifications of the server so that each member in the group know which machine is in the field and which software is installed on each server; this is also the same as the network settings, is also extremely important. So far, our software list in our server is still shorter because we are using the new Windows 2000 release. However, with the release of service packages and software updates, tracking software installations on each server will become more important. Table 4 illustrates hardware and software specifications in the Duwamish Online production server.

Table 4. DUWAMISH Online server hardware and software specifications

Server / Device Type Device Quantity Hardware Specifications Software Specifications Web Server 4 Dell PowerEdge 2300 Dual Processor, 2 x 500 MHz 512 MB RAM, 9 GB HD 3 x 100 Mbps NIC Windows 2000 Advanced Server Network Load Balancing Microsoft Message Queuing Database Server 2 Dell Poweredge 2300 Dual Processor, 2 x 500 MHz 512 MB RAM, 9 GB HD 3 x 100 Mbps NIC Windows 2000 Advanced Server SQL Server 2000 Microsoft Cluster Service Queue Component Server 1 Dell PowerEdge 2300 Dual Processor, 2 x 500 MHz 512 MB RAM , 9 GB HD 3 x 100 Mbps Nic Windows 2000 Advanced Server Microsoft Message Queuing SMTP Active DirectoryTM Services PDC / DNS Server 1 Dell Precision 610 Single Processor, 550 MHz 256 MB RAM, 9 GB HD 3 x 100 Mbps Nic Windows 2000 Advanced Server Active DirectoryTM Service Management Server 1 Dell Precision 610 Single Processor, 550 MHz 256 MB RAM, 9 GB HD 2 x 100 Mbps NIC 56k Modem 20G Backup Tape Drive Windows 2000 Advanced Server Sitescope / Microsoft Cluster Sentinel Remote Monitoring Client 1 Dell Precision 610 Single Processor, 550 MHz 256 MB RAM, 9 GB HD 1 x 100 Mbps Nic Windows 2000 Professional100-Mbps LAN Switch 3 Allied TeleSyn CENTRECOM FS708 100 Mbps Ethernet Switches No

in conclusion

Duwamish Online is an exciting adventure experience as a developer or operating administrator deploying a new site to the Internet, you will face the challenges and problems. Although this latest release has been perfect for a long time to improve our Web Store - with payment and execution processing - but still have unrelated areas, because this is not a real business.

转载请注明原文地址:https://www.9cbs.com/read-54841.html

New Post(0)