Using XML in Web Services - Vision of the Future.
SOINIO, TIMI (2000)
SOINIO, TIMI
2000
Tietojenkäsittelyoppi - Computer Science
Taloudellis-hallinnollinen tiedekunta - Faculty of Economics and Administration
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2000-07-03
Julkaisun pysyvä osoite on
https://urn.fi/urn:nbn:fi:uta-1-8779
https://urn.fi/urn:nbn:fi:uta-1-8779
Sisällysluettelo
1. Introduction 1 1.1. Background 1 1.2. Research Problem and the Goals of the Thesis 1 1.3. Research Structure and Methods 2 2. Web Publishing and Web Applications 4 2.1. Web Publishing 4 2.2. Web Applications 5 2.2.1. Dynamic Content Creation Techniques 5 2.3. Existing Problems 6 2.3.1. Misuse of Structural Markup Languages 6 2.3.2. Device Dependency 6 2.3.3. Maintenance Problems 7 2.3.4. Poor Searchability 7 2.3.5. Accessibility Problems 8 3. Structured Information 9 3.1. Different Perspectives of Markup 9 3.2. XML - Extensible Markup Language 10 3.3. XML Structure and Syntax 11 3.3.1. Elements 12 3.3.2. Entity References 12 3.3.3. Comments 13 3.3.4. Processing Instructions 13 3.3.5. CDATA Sections 13 3.3.6. Document Type Declarations 14 3.4. Validity of XML documents 14 3.4.1. Well-formed XML 14 3.4.2. Valid XML 15 3.5. XML vs. SGML 15 3.6. Applications of XML 16 3.7. The Three R´s of XML 18 3.7.1. Re-publish 18 3.7.2. Re-use 19 3.7.3. Re-purpose 20 3.8. Why Use XML in Web Applications? 21 3.8.1. Simplicity 21 3.8.2. Richness of Data Structure 21 3.8.3. International Character Handling 23 4. Styling XML Documents 24 4.1. DOM and CSS 24 4.1.1. DOM - Document Object Model 24 4.1.2. CSS - Cascading Style Sheets 25 4.1.3. Style with Programming 26 4.2. XSL - Extensible Stylesheet Language 27 4.2.1. XSLT - XSL Transformations 28 4.2.2. XSL Formatting Vocabulary 29 4.2.3. "Formatting Objects Considered Harmful" 30 4.2.4. Using XSLT for Client-side and Server-side Styling 32 4.2.5. XPath 33 4.3. Using XSL and CSS Together 33 4.4. Rendering Languages 34 4.4.1. XHTML - Extensible Hypertext Markup Language 35 4.4.2. WML - Wireless Markup Language 36 4.4.3. VoiceXML 37 5. Customisations and Personalisations 40 5.1. Client-Specific Web Services by Using User Agent Attributes 40 5.2. RDF - Resource Description Framework 42 5.3. CC/PP - Composite Capabilities / Preferences Profile 43 5.3.1. CC/PP Framework 43 5.3.1.1. The CC/PP Data Model 43 5.3.2. CC/PP Exchange Protocol over HTTP 44 5.4. UAProf - User Agent Profiles 45 5.5. PIDL - Personalized Information Description Language 46 5.5.1. Progressive Storage of Processed Content 47 5.5.2. Compact Storage of Processed Content 49 5.6. P3P - Platform for Privacy Preferences 50 5.7. Conclusions 51 6. XML Clients and Servers 53 6.1. Client-side Formatting 53 6.1.1. Microsoft Internet Explorer 54 6.1.2. DocZilla 56 6.2. Server-side Formatting 57 6.2.1. XML Enabler 58 6.2.2. Rocket 59 6.2.3. Cocoon 60 7. Cocoon 62 7.1. What is Cocoon? 62 7.2. Cocoon´s Infrastructure 63 7.2.1. Architecture 63 7.2.2. Cocoon Cache System 65 7.3. Dynamic Content in Cocoon 66 7.3.1. Servlet Chaining vs. Servlet Nesting 66 7.3.2. Producers and Processors 67 7.4. Cocoon´s Advantages and Disadvantages 69 7.4.1. Why is Cocoon a good solution? 69 7.4.2. Has Cocoon any disadvantages? 70 8. Cocoon Service Implementation: Schedule Board 71 8.1. Background 71 8.2. Requirements 72 8.3. Implementation 73 8.3.1. Hardware and Software Environment 73 8.3.2. Schedule Board Service Design 74 8.4. Conclusions 80 8.4.1. The Nature of the Application 80 8.4.2. Room for Further Improvement 81 8.4.3. The Value of This Exercise 81 9. Summary 82 References 84 Glossary 92 A. Trilogy DTD 98 B. XSL and CSS 99 C. Inline CC/PP 101 D. CC/PP with Indirect References 102 E. Cocoon XSP 104 F. Cocoon DCP 105 G. Selected Schedule Board Source Files 106
Tiivistelmä
World Wide Web (Web, for short) services have traditionally been produced with techniques that combine the content and presentation of the services. Dynamic content produced by Web applications also mixes programmatic logic into those services. For example, ASP (Active Server Pages) and JSP (Java Server Pages) are techniques where program code is embedded in HTML (Hypertext Markup Language) pages.
The combination of these three layers – content, logic, and presentation – poses some challenges to the production, delivery, and consumption of the Web services. The resulting services are often Web device dependent, have poor content re-use, and use the network throughput nefficiently. This thesis presents some solutions to overcome these challenges.
The solutions focus on Extensible Markup Language (XML) and its related techniques. XML can be used to describe pure content; the presentation is left to discrete style sheets. The majority of the current Web technologies have not
properly supported the complete separation of content and logic. This thesis introduces one service platform where this problem has also been solved. In order to make device independent and network-friendly Web services, it is necessary to have mechanisms to define the Web device and network properties. This thesis also presents some of these mechanisms.
The combination of these three layers – content, logic, and presentation – poses some challenges to the production, delivery, and consumption of the Web services. The resulting services are often Web device dependent, have poor content re-use, and use the network throughput nefficiently. This thesis presents some solutions to overcome these challenges.
The solutions focus on Extensible Markup Language (XML) and its related techniques. XML can be used to describe pure content; the presentation is left to discrete style sheets. The majority of the current Web technologies have not
properly supported the complete separation of content and logic. This thesis introduces one service platform where this problem has also been solved. In order to make device independent and network-friendly Web services, it is necessary to have mechanisms to define the Web device and network properties. This thesis also presents some of these mechanisms.