microsoft press home   All Products  |   Support  |   Search  |   microsoft.com Home  
microsoft
  Home  |   About This Site  |   Support  |   Worldwide Sites  |   Advanced Search  |   Newsletter  |

 

Advanced Search
What's New
Office XP
Cash Back Promotion
Order Custom Books
New Releases
Coming Soon Titles
Microsoft .NET
XML
Troubleshooting Series

Hot Products
Windows 2000
Exchange 2000 Server
SQL Server 2000
Windows Me
Office 2000
Visual Studio
Web Lifestyles
Bestsellers

Business
Products and Strategies
Product Pricing
Sales Contacts

Customer Corners
Certification
Developer
IT Professional
Personal Desktop
Education & Training
Partners & Resellers

About This Site
About this site
Contact Us
Site Map
Press Releases & Awards
Microsoft Press Job Listings

View Shopping CartMy AccountHow To Buy

Developer Feature Article
Building and Managing Complex Web Applications with .NET Enterprise Servers
Building and Managing Complex Web Applications with .NET Enterprise Servers
By Scott Mauvais

E-commerce is no longer the exclusive domain of dotcoms. No doubt, part of the decline of the dotcom-centric e-commerce model is a result of the marketplace finally questioning some faulty business models. An equally large factor, however, is the continued push by traditional, old-economy companies into the e-commerce arena.

This transition from new-economy to old-economy Web sites has some very important implications�and presents some interesting challenges�for application developers. First, the sheer volume of traffic can be overwhelming: some of these brick-and-mortar companies do more business over a weekend than some dotcoms do all year. Second, these traditional companies have huge investments in legacy systems that their new e-commerce initiatives must use. Finally, because these traditional businesses serve different types of customers�wholesale, retail, partners, suppliers, and so on�they require strong personalization and the ability to target specific content to specific types of customers. As a result, we find ourselves confronted by increasingly complex requirements.

.NET Servers
While most large-scale, Web-based applications use the whole stack of .NET Enterprise Servers, this month I want to highlight three of the products that just shipped and are playing an increasing large role in corporate IT:

� Microsoft Commerce Server 2000
 Microsoft Host Integration Server 2000
 Microsoft Application Center 2000


In this article, I aim to give you a brief overview of these three servers and point you to Web sites and other resources from which you can get more information.

Microsoft Commerce Server 2000 Commerce Server 2000
Microsoft� Commerce Server 2000 is the newly upgraded version of Microsoft Site Server Version 3.0 Commerce Edition (SSCE), which allows developers to quickly build and deploy highly scalable e-commerce sites. Commerce Server 2000 extends the Site Server commerce framework of engage, transact, analyze, and adds several new features. The best way to learn about Microsoft Commerce Server 2000 is to get a copy of the Microsoft Commerce Server 2000 Resource Kit from Microsoft Press�. Besides presenting a great overview of the project, the resource kit gives you no-nonsense advice about development best practices and deployment guidelines. You can take a look at the Table of Contents and index to get an idea of what is in the resource kit. To get a feel for the book, you can also read a sample chapter online.

Some of the major new features of Microsoft Commerce Server 2000 that you will find covered in the resource kit include these:

� Catalog System: Commerce Server 2000 includes a critical feature that was not built into Site Server�catalog management. With the new Catalog System, you can either directly import your product information from existing data sources such as back-end ERP systems or you can use Commerce Server 2000's integrated catalog management features built on top of Microsoft SQL Server 2000. To learn about using the built-in Catalog Systems, you should read Chapters 2 and 3 of the Microsoft Commerce Server 2000 Resource Kit, which cover your options for Retail and Supplier Scenarios, respectively. For a discussion of integrating with ERP systems, see the resource kit's Chapter 10, �Integrating Third-Party ERP Systems with Commerce Server Applications.�

� Profile System: This is the basis of Commerce Server 2000's personalization and authentication. With it, you can collect data from several sources, including demographics and click-stream analysis, and use it to build profiles for your users. Once you have the profile information, you can pass it to the Targeting System. For more information about the Profile System, the resource kit's Chapter 9, �Developer Notes,� contains several sections of critical information, including discussions of performance tuning and transactional considerations.

� Targeting System: The targeting system takes the information stored in the Profile System and lets you build one-to-one marketing that aims ads, content, or special offers at specific individuals based on the data you have stored about them, their expressed preferences, and any business rules you have created. Targeting serves two main purposes. First, it builds customer loyalty because every visitor sees content that is relevant to him or her rather than some generic advertisement or news story aimed at a completely different demographic group. Second, it increases the revenue generated by your site by allowing you to incorporate profile information when you present users with cross-sell and up-sell opportunities. To learn more about the Targeting Systems, see the resource kit's Chapter 4, �Defining Project Goals and Requirements� or the white paper, �Microsoft's Business Internet Analytics: Leveraging Integrated Technology to Help Enterprises Analyze Their e-Business.�

These are just a few of the new features of Microsoft Commerce Server 2000. To learn about the rest and to see how you can use this technology as the foundation for a custom e-commerce site, I encourage you to download both the Commerce Server 2000 Evaluation Edition and tutorial so that you can start trying it out in your own environment.

These innovations take care of your public Web site, but how do you integrate new applications with your back-end systems?


Microsoft Host Integration Server 2000 Host Integration Server 2000
A year or two ago, a Web site was considered cutting edge if the online shopping experience was directly integrated into the company's back-end ERP systems. Nowadays, such integration is an absolute requirement and the focus has turned to orchestrating business processes across organizational boundaries and leveraging host-based applications and data. Microsoft BizTalk Server 2000 gives you the tools to integrate these cross-company applications. I covered BizTalk� in my December 2000 feature article, BizTalk Server: The Developer's Tool for Building B2B Exchanges, so this month's article concentrates on integrating legacy systems.

Microsoft Host Integration Server 2000 is an upgrade of Microsoft SNA Server 4.0. Host Integration Server 2000 extends the traditional Windows� platform by providing connectivity to and integration with IBM mainframe and AS/400 systems.

If you are new to Host Integration Server and need to quickly learn how to leverage host-based systems in your applications, see the Microsoft Host Integration Server 2000 Resource Kit. This book covers everything the developer needs to know, from the supported COBOL data types to CICS integration. For a complete list of topics covered, see the Table of Contents.

Host integration is critical for two main reasons. First, most estimates say that 70 percent of all corporate data is stored on host systems. Second, companies have huge investments in their existing applications that they cannot afford to throw out. Even if they could afford to rewrite the applications, the work would take a good chunk of time and it would be risky: in some cases these mission-critical applications have been running for decades and the original specifications have been long since lost. Rather than rip-and-replace, a far more prudent strategy would be to extend the life of the applications by building new services on the Windows platform and using Microsoft Host Integration Server 2000 to link back to these legacy systems when needed.

From a developer's standpoint, Host Integration Server 2000 provides two key areas of functionality: data integration and application integration. Data Integration lets you seamlessly access this 70 percent of all corporate data locked up on host systems. Microsoft Host Integration Server 2000 lets you connect all types of host data, including record file access (both keyed and nonkeyed), relational databases, AS/400 data queue access, and file transfer. All data access is built upon IBM's Distributed Data Management Architecture (DDM), which is supported on nearly all IBM platforms, including AIX (RS/6000), VMS (OS/390), AS/400, and AS/36. BecauseHost Integration Server 2000's data access is based on the standard DDM, you don't have to worry about the complexities of data storage on the various host platforms.

By using the various OLE DB providers, we can integrate our Windows data with the following host data formats:

Sequential Access Method (SAM) data sets
� Basic Sequential Access Method (BSAM) data sets
� Queued Sequential Access Method (QSAM) data sets
Virtual Storage Access Method (VSAM) data sets
� Entry-Sequenced Data Sets (ESDSs)
� Key-Sequenced Data Sets (KSDSs)
� Fixed-length Relative Record Data Sets (RRDSs)
� Variable-length Relative Record Data Sets (VRRDSs)
� VSAM Alternate Indexes to ESDSs or KSDSs
Basic Partitioned Access Method data sets
� Partitioned Data Set Extended (PDSE) members
� Partitioned Data Set (PDS) members
� Read-only support for PDSE directories
� Read-only support for PDS directories

Application Integration
Application integration allows Microsoft Windows developers to leverage these decades old, legacy applications using the same programming mode and tools we use everyday to develop Win32 and Web-based applications. This layer defines how applications on two different platforms can pass messages and participate in cross-platform, distributed (2PC) transactions. To get an idea of Host Integration Server 2000's object model, you can download the Host Integration Server Developers kit.

Typically, when you work with host applications, you work with CICS. Microsoft Host Integration Server 2000 provides COM Transaction Integrator or COMTI. COMTI creates a COM+ wrapper around the host-based CICS application similar to the way COM+ adds proxy information to remote COM objects. So whenever you want to use this CICS application from a Microsoft Windows application, you simply instantiate this proxy component and call its methods, just as you would any other COM component. COMTI then takes care of all the dirty work of calling the target CICS program, translating the data to the proper format, and sending the data over to the mainframe. This all happens under the control of the Microsoft Windows 2000 Distributed Transaction Coordinator (DTC), so you get an all-or-nothing�style ACID transaction just as if you were working with a standard COM+ application storing data in a local SQL Server. This is very cool!

Okay, we now have a means of building a fully integrated system starting with our front-end e-commerce site and going back to your legacy systems. This level of integration, however, comes at a cost. With integration come availability, reliability, and management concerns. If a site goes down, the entire business (and trading partners) is affected.

To help ease the management of large Web farms�and thus make it easier to design reliable, available sites�Microsoft just released Application Center 2000, the newest .NET Enterprise Server.


Application Center 2000
Application Center 2000
As you know from my previous feature article series on building web sites, the best way to build high-availability Web sites is to deploy them as Web farms based on Microsoft's scale-out methodology. Besides increasing reliability, this approach allows you to achieve near-linear scalability with the use of off-the-shelf, commodity hardware.

The downside to this model is that large Web farms require some effort to manage, especially in environments in which either the content or application logic changes on a regular basis. Microsoft introduced Application Center 2000 to help reduce the cost of both managing and monitoring Web sites as well as the cost of migrating applications and content.

Because it is a brand new product, the best way to learn more about Microsoft Application Center 2000 is to pick up a copy of the Microsoft Application Center 2000 Resource Kit. Review the Table of Contents, index, and Chapter 4: Cluster Services for a detailed look at this book's coverage.

Microsoft Application Center 2000 seeks to simplify the management of Web servers by providing for on-demand scalability. Application Center 2000 dramatically reduces the complexity of building new clusters of Web servers and adding new machines to existing clusters. To create a new cluster, simply run the New Cluster Wizard. This wizard allows you to create two main types of Web clusters.

The first is the standard, load-balanced Web farm in which COM+ applications run on the Web servers. In this configuration, Microsoft Application Center 2000 takes care of configuring Network Load Balancing (NLB) for you so that you don't need to worry about all those messy configuration settings, such as port rules, network masks, and multicast/unicast settings. If you really do want to learn about all these NLB settings, read Ian Matthews' appropriately titled �Network Load Balancing� article on the Microsoft Press Web site.

You can also create a COM+ application cluster based on Component Load Balancing (CLB). Just as NLB allows you to scale the presentation tier of your application by adding new web servers, CLB allows you to scale the middle tier simply by adding additional COM+ servers.

You might remember CLB from early beta versions of Windows 2000. The initial customer reaction to CLB was, that while CLB provided some great new features, to be really useful it needed additional management and deployment functionality. This is exactly what Microsoft Application Center 2000 provides.

When Microsoft Application Center 2000 receives requests for a new COM+ activation, it distributes these requests to the available COM+ servers based on an algorithm that relies on both response time and round-robin logic. It uses this mixed approach so that it provides the highest performance while avoiding hot spots common in round-robin�only load balancing. Once the activation request is sent to the designated server, COM+ returns an instance of the object just as it would if there were only one COM+ server. The best part of CLB is that it works without any changes to your existing middle tier code and is totally transparent to client applications.

The second half of scale-on-demand is the ability to easily add new servers to an existing cluster. The Add Server Wizard automatically takes care of all the manual work of configuring the cluster settings on a new server, migrating the Web content, and deploying the applications. To do this, Microsoft Application Center first connects to the cluster and replicates all static Web content. Next, it migrates all the configuration settings, such as the IIS metabase, certificates, ODBC data sources names, registry settings�all the stuff that is tedious and error-prone to set up and difficult to troubleshoot if misconfigured. Next, it copies and installs all your COM+ applications. Finally, it updates the cluster's NLB setting to reflect the addition of a new server to the cluster.

For developers, this scale-on-demand service brings several key benefits. First, because administrators can more easily manage large farms of servers, we no longer have to worry about the physical deployment issues that we shouldn't have to care about anyway. Second, because scalability is easier, we can now migrate more mission-critical application to the Web. Finally, because Microsoft Application Center 2000 takes care of deploying a new server to a cluster, we no longer have to worry about debugging applications that fail randomly because they are misconfigured on a Web server.

Conclusion
I started off this month's article by discussing the new challenges faced by Web developers as traditional, brick-and-mortar companies migrate more and more of their applications to the Web. Chief among the issues we must address are the need for complex personalization, the requirement to access legacy systems, and the need for on-demand scalability. Next I talked about three new .NET Enterprise Servers�Microsoft Commerce Server 2000, Microsoft Host Integration Server 2000, and Microsoft Application Center 2000�and showed how to build your Web applications around them.

Microsoft Press provides in-depth documentation for these and all the other issues related to building and managing complex Web Applications. The best place to start is with the three resource kits mentioned in this article: Microsoft Commerce Server 2000 Resource Kit, Microsoft Host Integration Server 2000 Resource Kit, and Microsoft Application Center 2000 Resource Kit.

For detailed information on all Microsoft Press's Windows 2000 titles for developers, visit the Windows 2000 for Developers page. For a complete list of all the developer titles, see the Developer Tools section.


Send mail to a friend    Send this page to a friend

Please forward us your site feedback

IMPORTANT! Microsoft Press Online can accept orders from and ship orders to customers in Canada and the 50 United States and Washington, D.C., only. For purchases outside North America, contact the Microsoft Press Worldwide sites.

� 2001 Microsoft Corporation. All rights reserved. All use of this site is subject to the Microsoft Press Terms & Conditions, including the Privacy Statement. Microsoft Press, Visual Studio, and Windows are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries.