| Content Management Server 2002 Goes .NET |
| Aug. 19, 2002 |
In fall 2002 Microsoft plans to ship its first major upgrade to Content Management Server (CMS) 2001—a product for managing the publication and display of content on large, complex Web sites. Content Management Server 2002 is now in beta and contains important enhancements targeted at developers, administrators, and content creators. Most significantly, the new release is fully integrated with ASP.NET. However, the new release will present some upgrade decisions and does little to clarify areas of overlap with other Microsoft products used to build corporate portals. What Is CMS? CMS provides a way for content authors to create and publish Web pages without knowing HTML or underlying site design. With CMS, Web site designers and developers create custom "templates" for Web pages; content owners then enter content into special template areas called "placeholders." CMS helps manage the process of approving content and integrating it into the site, and takes care of creating actual HTML pages from the templates and content. This reduces the effort required to maintain Web sites, shortens turnaround time, and reduces the chance of errors. (Readers unfamiliar with content management concepts and general benefits should see the sidebar "What Is Content Management?".) CMS 2002 will be the first major update of the product since Microsoft acquired NCompass in 2001 and rebranded NCompass’s Resolution content management product as CMS 2001. (Readers unfamiliar with CMS 2001 should see "Microsoft to Acquire NCompass Labs" on page 3 of the July 2001 Update.) ASP.NET Improves Performance, Development Although CMS 2002 is still mainly a COM application and still supports the COM APIs used by CMS 2001, it relies on and uses the .NET Framework and exposes a new set of "managed" .NET APIs that can be used by other .NET applications to publish or retrieve content from CMS. Another difference is that CMS 2002’s native templates are ASP.NET pages and are rendered into HTML by the ASP.NET Web server component. CMS 2001, in contrast, uses the older Active Server Page (ASP) technology. Moving templates to ASP.NET should make CMS-managed sites faster and more scalable, thanks to ASP.NET's ability to compile dynamic Web page code into executables and its extensive use of object caching. Sites will also probably see improved reliability because the ASP.NET service can be isolated more completely from errant applications, and its underlying .NET Framework run-time engine automatically catches many common application errors, such as memory leaks. (For more information on ASP.NET, see "ASP.NET Improves Development of Web Applications" on page 3 of the Jan. 2002 Update.) Benefits for Developers Adopting ASP.NET also helps CMS 2002 reduce development complexity, a weakness of CMS 2001. Neither version of CMS simply installs over an existing Web site; both require programmers and Web designers to create templates for the Web site structure before any content can be published. (CMS 2002 comes with a sample site to help developers get started.) However, CMS 2002 simplifies the process by delivering a better programming model and better development tools, and by facilitating teamwork among developers and designers. A More Complete Coding Environment CMS 2002’s use of ASP.NET allows developers to use Visual Studio .NET (VS.NET) as their development environment, replacing CMS 2001’s Site Builder tool. (CMS 2002 has a new tool called Site Manager, but it is aimed at site administration, not development.) CMS 2002 extends VS.NET with definitions for different types of CMS development projects, and with new base classes that provide a toolbox of CMS-specific server controls. The new toolbox includes placeholder and navigational controls that developers use when creating, testing, and editing templates. Template designers can also extend the included toolbox, creating new controls customized for their needs. For example, a developer may want to create a placeholder that displays Flash content. Like other ASP.NET applications, developers can debug CMS-based sites from within VS.NET. (For a screen shot showing the Visual Studio .NET development environment for CMS 2002, see "Developing CMS 2002 Templates with Visual Studio .NET".) Enabling Source Code Control Developers will also benefit from a major change in the way CMS stores templates. In CMS 2002, templates are ASP.NET files stored in the Windows server file system, and the CMS 2002 database maintains only pointers to these files. This contrasts with CMS 2001's templates, which were stored in a SQL Server database. Storing templates in the file system allows developers to manage change control with a standard source-code control system, such as Microsoft's Visual SourceSafe, which can also be integrated into the VS.NET environment. This in turn helps multiple developers work on the site concurrently without interfering with one another or losing track of multiple development versions of the site. Separating Web Design from Development Using ASP.NET files for CMS templates can also help developers and Web designers make changes to templates without affecting one another by using ASP.NET's "code-behind" feature. This allows a template to be separated into a file that controls the appearance of the Web page (managed by Web designers) and one or more code files containing business logic (managed by developers). Thus, Web designers can maintain code that affects the appearance of a site, while programmers and business planners manage code that affects logic, workflow, and integration with other applications. This contrasts with CMS 2001, in which the visual design and application logic elements of a template were intertwined in a single ASP file, making them more difficult to maintain independently. ASP.NET's multilingual support also makes it easier for developers to create sites that serve multiple languages with little code duplication, and CMS 2002 can exploit this capability. Event-Based Programming ASP.NET event support lets CMS 2002 template developers create code that will execute when a particular event occurs—for example, when a page is either loaded or unloaded, or a control on a page is clicked. In contrast, ASP uses a linear code-processing model: each line of ASP code is mingled with static HTML and is processed in the order in which it appears in the ASP file. Built-in event support has two advantages: developers only need to write code to respond to events and developers already familiar with event-driven programming from the development of Windows desktop applications can extend their knowledge to Web applications. This should make it easier for developers to make CMS templates act on events, such as triggering an e-mail notification when data changes, or to change the workflow used to approve new content for publication. Support for Web Services and XML The integration of CMS 2002 with the .NET platform means better support for XML and better integration with other applications using Web services (which can be thought of as Web sites that deliver XML to applications for processing rather than delivering HTML to browsers for display). CMS can be used to deliver content via Web services, or CMS-managed sites can retrieve content from other Web services. New XML Support CMS 2002 now includes placeholders for inserting XML-based content. These placeholders can use XML schemas to validate the XML content, and use XML Stylesheet Language Transformations (XSLT) to format the content into HTML for display. As more and more applications and databases store content natively in XML, these placeholders provide a means of displaying that content on CMS Web sites. Delivering Content via Web Services In addition to rendering published content as a set of HTML Web pages to end users, CMS 2002 can also publish content as a Web service. This allows other applications on other computers to use XML content generated by CMS. This enables a common scenario that Microsoft calls "content syndication," in which one organization publishes information out to multiple partners who then dynamically incorporate that content into their own Web sites. For example, a vendor might publish a Web service with detailed information about the goods or services it sells through business partners. These partners could then use this Web service to obtain the latest product descriptions from the vendor’s CMS site and generate a dynamic catalog on their own sites, rather than having to build this catalog from static information copied from the vendor's Web site. Syndicated news feeds could use CMS in a similar fashion. Although CMS 2002 sites can use Web services to publish content to other Web sites, CMS 2002 does not include any built-in facilities for monitoring utilization of its Web services or to perform functions such as billing. Retrieving Content via Web Services CMS 2002 can also use information from other Web services. For example, a corporation might publish information from its Enterprise Resource Planning (ERP) system, such as product inventory, as a Web service. CMS 2002 could then add that data to its content database and republish it on a Web site—even if the originating ERP system is not running on a Windows platform. BizTalk Server can also create a Web service that publishes application data for consumption by CMS 2002. For instance, an organization with a Siebel customer relationship management system could use BizTalk and the iWay Siebel adapter for BizTalk to extract a user’s purchase history from Siebel, reformat it, and then expose the information as a Web service. A CMS-based Internet site could then use the information provided by the Web service to display a page showing all bulletins issued for the products bought by that user. Although CMS can directly access content from other databases, accessing content via a Web service is better in cases where the site does not have direct access to the databases, or relies on an application behind the Web service to apply business rules or transform content from several databases into a useable format. Benefits for Administrators CMS 2002 administrators will benefit from improvements in scalability and integration with other technologies. Staging and scalability. Administrators of large, complex Web sites typically separate their organization’s development, test, and production environments and run their production sites on farms of multiple Web servers tied to one or more back-end databases. CMS 2002 can use two tools to help support this type of environment: the bundled Site Deployment Manager for replicating the CMS database, and Microsoft’s Application Center Server (a separate product) for replicating the template files from site to site or from a master server to the rest of the farm. The Site Deployment Manager enables administrators to use a single interface to replicate the database content among sites at the appropriate time, and it can perform incremental ("changes only") and transactional ("all or nothing") updates. It also controls Application Center file replication. Once in production, Application Center enables a site to handle increased traffic simply by adding more CMS Web servers, which will then be automatically populated with additional copies of the template files and any other ASP.NET files. All of these servers still link to a common SQL Server database containing the CMS content. CMS 2002 will come with sample Site Deployment Manager scripts that address the two most common scenarios: replicating content from a development system to a production system and replicating CMS servers in a server farm. (For more information on Application Center Server, see "Application Center Aims to Simplify Web Clusters" on page 3 of the Apr. 2001 Update.) Integration. Shortly after CMS 2002 ships, Microsoft plans to ship a new integration pack that will allow organizations to integrate CMS 2002 with SharePoint Portal Server 2001, similar to the way CMS 2001 can be integrated with SharePoint today. (See "Linking Content Management Server to SharePoint" on page 7 of the July 2002 Update.) The new architecture of CMS 2002 and its COM and .NET APIs were also designed to help it integrate better with other non-Microsoft technologies, including indexing and searching technologies (from vendors such as Inktomi and Mondosoft), multilingual workflow products (such as the ones offered by SDL International and Trados), Web portals (such as those created with products by Plumtree and Corechange), and multimedia repository systems (such as Mediabin). Like CMS 2001, CMS 2002 directly integrates with Commerce Server 2002, allowing Commerce Server to build product catalogs and other pages from CMS-managed content. Benefits for Content Creators CMS 2002 features a redesign to the Web Author tool, a Web-based interface for submitting, editing, approving, and publishing content. It also boasts a new add-in called the Authoring Connector for Microsoft Word, which allows content creators to submit content directly from within Office XP’s Word program. This connector launches a wizard from within Word that connects to the CMS database and submits the content for publishing according to CMS’s workflow rules. The content keeps its Word formatting unless the template’s placeholder dictates a particular format, and even embedded objects in the Word document, such as an Excel spreadsheet, can be published from it. Content creators can also use the tool to preview how the content will appear on the CMS 2002 site. (For a screen shot of this feature, see "Publishing Content with the Word Authoring Connector".) Upgrade Decisions There are plenty of existing CMS customers who built ASP-based sites and might even be using CMS 2001 COM-based APIs to integrate with other programs. To support these customers, Microsoft chose a hybrid architecture for CMS 2002, which allows it to run sites created using the older ASP-based templates side-by-side with the new ASP.NET-based sites. This presents a decision for current CMS 2001 customers: Do they keep their ASP-based templates or build new ASP.NET-based ones? If these customers want to upgrade their current site to CMS 2001, the installation process will extract the ASP code out of the database, create ASP files in the file system, and convert the old CMS database to the new format. However, this process is not completely automatic and it may require script tweaking to get the migrated site running as it did before. Once migrated, customers can build new parts of the site in ASP.NET. CMS 2002 upgrade customers might also decide to rewrite their old ASP templates as native ASP.NET code to get the benefits of ASP.NET and the VS.NET development platform. Since ASP uses Microsoft Visual Basic Scripting Edition (VBScript) and ASP.NET uses object-oriented programming languages, such as C# and Visual Basic .NET, most ASP code will need to be rewritten. This conversion does not have to take place all at once: CMS organizations with complex sites or large amounts of ASP-based code can run a mixed ASP and ASP.NET site, converting the site to ASP.NET gradually. However, the mixed approach has two drawbacks:
Portal Strategy Still Unclear CMS 2002 does not address confusion over Microsoft’s strategy for corporate portals—modular, customizable Web sites that provide a single point of entry to information and applications. Both SPS and CMS can provide certain portal functions, yet neither provides a complete solution; even Microsoft uses a combination of both for its intranet portal. Furthermore, CMS 2002 does not support personalization (where the appearance of the site is customized according to the user’s identity)—a key requirement for many corporate and Internet-facing portals. The licensing models are also much different, with per-CPU pricing for CMS and Client Access Licenses for SPS. Microsoft positions the two products for different needs: CMS works best when a small number of writers are publishing information to a large, uniform readership. And although SPS can be used to index and search CMS portals, it can also host portals targeted at the particular needs of smaller groups of users, accept documents from a large number of authors, and provide links to external content from a variety of sources. However, these distinctions are not precise, and Microsoft would find a ready market for a single architecture that could be used to meet all typical corporate portal requirements. (For further background, see "Corporate Portal Strategy in Flux" on page 3 of the Nov. 2001 Update and "SharePoint Goes .NET" on page 6 of the July 2002 Update.) System Requirements, Licensing, Availability, and Resources CMS 2002 requires SQL Server 2000 with Service Pack 2 (the database server does not need to be on the same server as CMS), plus the following on each CMS server:
CMS 2002 also requires either Active Directory or NT 4.0 domain controller access. Microsoft has not yet indicated whether CMS 2002 will run on the upcoming Windows .NET Server, which includes a version of Internet Information Server (IIS 6) that is not fully backward compatible with IIS 5. (See "Rewritten IIS Anchors Windows .NET Server" on page 3 of the July 2002 Update.) Although Microsoft will not release final pricing details until closer to the product ship date in fall 2002, it has confirmed that it plans to stay with CMS 2001’s per-processor pricing model. A CMS 2001 processor license has an estimated retail price of US$43,000. For more information and to download the CMS 2002 beta, see www.microsoft.com/cmserver/evaluation/beta2002.htm. |