| Creating the XML Content to Drive the Web | Table of contents | Indexes | XQL- and HyTime-based content reuse using a content management system | |||
Allaire Corporation ![]() Cambridge ![]() Simeonov, Simeon ![]() USA ![]() | Simeon Simeonov |
| Lead Architect |
| Allaire Corporation |
| One Alewife Center
Cambridge
(Massachusetts)
USA
(02140)
Email: simeons@allaire.com |
| Biography |
The Future of Web Architecture |
B2B, business-to-business ![]() EAI, Enterprise Application Integration ![]() | In the past few years the Web has undergone immense change. The early Web was an information landfill where anyone and everyone was serving up information in static HTML pages. There was no personalization, close to no structure, and very little searchability. With the advent of CGI and Web application servers the situation improved considerably. Page-based applications offer personalization and structured information processing based on browser requests they are receiving. Although this has increased the capability of the Web platform, most Web applications still remain isolated islands in the vast ocean of Web computing. Despite the introduction and wide adoption of foundation technologies such as XML, there isn't much distributed data exchange, Web application integration and business-to-business (B2B) computing. It is apparent, however, that Web application architecture is going this way. The next generation of Web architectures will be focused on distributed applications, syndication of content, data, and services, and enterprise application integration (EAI). |
The Benefits of XML |
Web Content Management |
Separation of Data from Presentation | ||||||
Easier Searchability | ||||||
Content Re-purposing | ||||||
| content re-purposing | Related to the idea of delivering data to multiple devices is the concept of content re-purposing. In short, XML-based content management makes it exceptionally easier to re-purpose information into other formats. For example, if you have information about a product stored in XML, you might want to format that data for delivery via HTML for a browser, or alternatively you might want to re-purpose the data into RTF for delivery through a Fax service. In fact, with the explosion of networks, computing platforms and devices, it is probably safe to say that your information will need to be re-purposed into potentially dozens of different formats, not just HTML. In essence, XML-based data storage is an insurance policy against the rapid change that is happening and likely to continue. It protects you and enables you to embrace the change of the Internet. |
Richer Data Manipulation on the Client Side | ||||||
| ECMAScript | However, over the past couple of years, the capabilities of browsers have increased dramatically because of ECMAScript (the official standard for JavaScript), making it possible to improve end-user experience by working with information locally before sending it back to the server [ECMAScript, JavaScript]. |
CSS, Cascading Style Sheets ![]() | With the advent of XML-based content management, it is now easier to send fully structured data to a browser, which can then be manipulated locally and formatted using JavaScript or Cascading Style Sheets (CSS) [CSS]. Rather than sending a formatted HTML page containing detailed product information, it is now becoming possible to send the browser the structured product data, and then use scripts and style sheets to control presentation and interactivity. |
Web Syndication |
| Based on new affiliate and syndicate network business models, Web syndication exposes a site's content and application assets to other applications and Web sites. |
Open Web-Based Data Formats | ||||||
Data Exchange Between Applications | ||||||
RPC | ||||||
| Suddenly, it has become possible for different applications to invoke and use services exposed over the network, all through the glue of XML. |
New Business Models based on Syndication | ||||||
Challenges to Adoption |
XML Management Woes |
Browser Adoption Limited |
Complex XML Programming |
XML Standards Incomplete |
Web Application Architecture Requirements |
| An XML-based architecture for Web applications should at a minimum: |
| · Allow for the management and manipulation of application-level data represented in XML, enabling |
| · Definition and manipulation of high-level "business object" entities such as "catalog entry" or "purchase order", |
| · Indexing and searching through the data based on both structural elements (object properties) and full text (for descriptions, for example), |
| · XML repositories that leverage existing relational database technology, and |
| · Non-XML enterprise datasources "bridged" in a simple, well-defined manner. |
| ·Present a Web application-oriented data-centric model for programming XML that should be applicable to |
| · The majority of server-based application environments, e.g., Java servlets/JSP, Microsoft Active Server Pages, Allaire ColdFusion, Perl/PHP scripts, and |
| · A broad range of browsers, at a minimum NS 3.x, IE 4.x and above. |
| · Enable out-of-the-box syndication via · Content re-purposing using the business object XML representation as a base, |
| · Syndication of content in any format, not just XML, and |
| · Syndication of application functionality to allow for B2B computing on the public Internet. |
| · Protect developers and companies from standards flux by |
| · Encapsulating as much of the details of XML processing, and |
| · Providing an upward migration path with respect to XML standards and processing tools. |
The Allaire Spectra Solution |
| Allaire Spectra | Allaire Spectra provides a packaged system for content management, e-commerce and personalization [Spectra]. Allaire Spectra enables corporations to leverage the best practices found in successful Internet businesses to deliver and manage large-scale Intranet, Extranet and Enterprise Portals. At the core of Allaire Spectra is a deep embrace of XML, and all of its key benefits. Allaire Spectra was designed from the ground-up to embrace all of the major benefits of XML, without imposing the pain and complexity currently involved in leveraging XML. Allaire Spectra accomplishes this while still remaining open, extensible, and integrated into existing corporate application and data management infrastructure. |
WDDX Provides the Foundation The Web Distributed Data Exchange |
WDDX ![]() | (WDDX) is an Allaire-invented, XML-based technology that enables applications to store and exchange data over the Internet in a programming language and development platform neutral manner [WDDX]. WDDX was released as an open source technology in December, 1998 and is supported through a broad range of development communities and platforms. WDDX, the formal specification and the core SDKs that support it, are available from wddx.org, an Allaire-sponsored Web site for the standard's distribution and evolution. The goal of Wddx.org is to enable a fluid, open Web, where any Web application, anywhere on the network, can easily and transparently exchange information and logic with any other application; to embrace interoperability between Web systems; and to enable the new Internet Economy through business models based on affiliate and syndicate networks. |
serialization ![]() | WDDX uses a technique called data serialization/deserialization to transform data from one language or application environment into another. In essence, WDDX allows any application to take data it is using, and with one line of code, transform that into an XML document instance. This XML data can then be transferred over the network, or stored in a file or database. WDDX supports both simple and complex data structures, such as strings, numbers, boolean values, and dates and times as well as multi-dimensional arrays, associative arrays, and tabular data recordsets. Because of this, WDDX is well suited as a format for content and data storage, as well as application data exchange over the Web. WDDX is supported by Java, JavaScript, ColdFusion, Perl, COM/ASP, PHP, and Python [ASP, COM, ColdFusion, Java, Perl, PHP, Python]. WDDX enables these environments to easily exchange data, whether from server-to-server, or between browsers and servers. Support for other environments is currently under development. |
| deserialization |
Java ![]() |
JavaScript ![]() |
ColdFusion ![]() |
| Com |
ASP, Active Server Pages ![]() |
| PHP |
Perl ![]() |
Web Content Management |
ContentObject Database | ||||||
| COAPI | At the core of Allaire Spectra content management services is the Allaire Spectra ContentObject Database. Allaire Spectra combines an object-based programming model, dubbed the ContentObject API (COAPI), with the ContentObject Database to deliver Web systems in a highly structured and scalable fashion. |
EAI, Enterprise Application Integration ![]() | The ContentObject Database does not use a proprietary back-end database. It will work with any existing relational database system thus eliminating one of core challenges to the adoption of XML-based content management systems. In addition, Allaire Spectra defines a high-level API that allows meta-data and data from external and legacy systems to be dynamically "bridged" into the ContentObject Database thus establishing a foundation for an Enterprise Application Integration (EAI) strategy. |
Separation of Data and Presentation | ||||||
<H1>#NewsArticle.Title#</H1> |
<I>#NewsArticle.Author.LastName#</I> |
<P>#NewsArticle.Body#</P> |
Content Re-purposing | ||||||
HTML, Hypertext Markup Language ![]() | Related to the clear separation of data from presentation is the fact that the Allaire Spectra ContentObject Database makes it easy to re-purpose data for use with other systems and formats. Allaire Spectra allows developers to define Object Types, which are the building blocks for a site. An Object Type contains both properties (of any data type, including other Object Types) and methods (actions that can be performed against the data). Most developers will use this model for creating "display handlers" for presenting content dynamically in HTML. |
| XML-EDI | So, while the Allaire Spectra ContentObject Database makes it easy to leverage XML without an understanding of its intricacies, it also leaves the door open to flexible and generic data transformation using state-of-the-art XML technology, such as XSLT and other pluggable transformation engines, e.g., for custom XML-EDI conversions. |
Search Integration | ||||||
SQL ![]() | By leveraging the advanced search capabilities of both the back-end relational database, as well as an embedded high-performance text indexing engine, the Allaire Spectra ContentObject Database enables flexible searching of content in the system. Because the Allaire Spectra system remains open and based on existing relational technology, it is possible to write custom advanced SQL against information in the ContentObject Database. |
meta-data ![]() | Also, Allaire Spectra content management services include a framework for managing meta-data associated with content items. Meta-data is important for organizing different classes of content, and for exposing information to external search engines for indexing. The meta-data model is also built on an XML foundation, though again, developers need not know how this functions under the hood. |
Integration Between Client and Server Side | ||||||
Web Syndication |
Next Generation Web Applications |
| Web syndication information clearinghouses | Application integration services encompass the areas of e-commerce, remote site administration, remote application automation, and general line-of business operation. Syndication covers the process of aggregating and reselling content, data, and services. In this context XSLT, XSL, and other transformation engines are employed to convert a system working within a narrow set of specifications to an open information clearinghouse that can interoperate with any content and data format. Affiliate management services provide a framework for exposing syndication to users of an application in a controlled, secure, and business-focused manner. This includes affiliate registration, setting up affiliate profiles, designating access permissions, syndication negotiation, and activity reporting. All these services are fully automated and remotable. |
| COM+ CORBA Java-RMI | The end result is a powerful, flexible, and extensible architecture for the next generation of distributed Web applications. Applications based on this architecture can be built in high-level languages without the need for distributed object services (COM+/CORBA/Java-RMI). They can employ proven highly scaleable relational database technology instead of object databases or special-purpose XML repositories [COM, CORBA, Java]. Last but not least, they can interoperate with existing traditional enterprise applications and practically all Internet applications that speak XML. |
References |
| ASP Active Server Pages . Microsoft Corporation. See http://msdn.microsoft.com . |
| ColdFusion Allaire ColdFusion . Allaire Corporation. See: http://www.allaire.com/products/coldfusion. |
| COM The Component Object Model el. Microsoft Corporation. See http://www.microsoft.com/com. |
| CORBA The Common Object Request Broker: Architecture and Specification. (Object Management Group). See http://www.omg.org/corba/corbiiop.htm. |
| CSS Cascading Style Sheets, level 2 Specification .W3C (World Wide Web Consortium). See http://www.w3.org/TR/REC-CSS2. |
| DOM DOM Level 1 Specification. W3C (World Wide Web Consortium). See http://www.w3.org/TR/REC-DOM-Level-1. W3C (World Wide Web Consortium). See http://www.w3.org/TR/REC-DOM-Level-1. |
| ECMAScript ECMAScript Language Specification . ECMA (European Computer Manufacturers Association). See http://www.ecma.ch/stand/ecma-262.htm. |
| HTML HTML 4.0 Specification . W3C (World Wide Web Consortium). See http://www.w3.org/TR/REC-html40. |
| Java The Java Language Specification . Sun Microsystems. See http://java.sun.com/docs/books/jls. |
| JavaScript JavaScript Resources. Netscape Corporation. See http://developer.netscape.com/one/javascript/resources.html. |
| MetcalfeLaw Metcalfe's Law and Legacy . G. Gilder (1993, September 13). Forbes (ASAP Supplement), 158-166. |
| Perl The Perl Programming Language . See http://www.perl.org. PHP PHP: Hypertext Preprocessor. See http://www.php.net. |
| Python The Python Programming Language. See http://www.python.org. |
| SemanticWeb Semantic Web Road Map . Tim Berners Lee. See http://www.w3.org/DesignIssues/Semantic.html. |
| SGML ISO 8879:1986(E). Information processing -- Text and Office Systems -- Standard Generalized Markup Language (SGML). Geneva: International Organization for Standardization (ISO), 1986. |
| Spectra Allaire Spectra . Allaire Corporation. See: http://www.allaire.com/products/spectra |
| SQL Structured Query Language (SQL) Standard . See http://www.jcc.com/SQLPages/jccs_sql.htm. |
| WDDX Web Distributed Data Exchange (WDDX) . Wddx.org. See: http://www.wddx.org. |
| WebArchitecture Web Architecture: Describing and Exchanging Data . Tim Berners-Lee, et al. See http://www.w3.org/1999/04/WebData. |
| WebDesign Web Design Issues; What a Semantic Web is Not. Tim Berners-Lee. See http://www.w3.org/DesignIssues/RDFnot.html. |
| XML Extensible Markup Language (XML) 1.0 . W3C (World Wide Web Consortium). See http://www.w3.org/TR/REC-xml. |
| XSLT XSL Transformations (XSLT) . W3C (World Wide Web Consortium). See http://www.w3.org/TR/1999/PR-xslt-19991008. |
| Creating the XML Content to Drive the Web | Table of contents | Indexes | XQL- and HyTime-based content reuse using a content management system | |||