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.
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?
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 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.
- Designing
Secure Web-Based Applications for Microsoft Windows 2000 provides an
authoritative, end-to-end view of all the major Windows 2000 security
services and gives you a solid foundation in Microsoft Windows 2000,
Internet Explorer, Internet Information Services, SQL Server, and COM+
security concepts. Table
of Contents, Sample
Chapter, Index
- Programming
Distributed Applications with COM+ and Microsoft Visual Basic 6.0,
Second Edition, will make you a better programmer by explaining
everything that COM+ and Windows 2000 is doing behind the scenes. It
does this by providing the exact level of information to be useful and
avoids providing so much that you become mired in details. Table
of Contents, Sample
Chapter, Index
- Understanding
Microsoft Windows 2000 Distributed Services provides an excellent
primer an all the distributed technologies in Windows 2000, including
Active Directory� and Kerberos, Internet Information Services,
Distributed Transaction Coordinator, and Microsoft Message Queue Server.
Table
of Contents, Sample
Chapter, Index
- Designing
for Scalability with Microsoft Windows DNA covers all major
Microsoft technologies associated with developing n-tier applications.
As I mentioned above, if you find yourself needing to develop for
Windows NT� 4.0, this book is for you. Table
of Contents, Sample
Chapter, Index
- Microsoft
Windows 2000 Server Resource Kit is the essential reference for
deploying, managing, and optimizing Windows 2000. Sample
Chapter
- Programming
Server-Side Applications for Microsoft Windows 2000 takes an
in-depth tour of Windows 2000 services and provides expert guidance for
designing and implementing applications that exploit their capabilities.
Table
of Contents, Sample
Chapter, Index
- Inside
Microsoft Windows 2000, Third Edition provides the definitive guide
to the internals of Windows 2000. The Microsoft product team wrote this
book with full access to the source code, so you know you are getting
the most comprehensive, technical information available. Table
of Contents, Sample
Chapter, Index
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.
|