XML and Java? - Hiroshi Maruyama, Kent Tamura, Naohiko Uramoto, Makoto Murata, Andy Clark

XML and Java?

Developing Web Applications
Media-Kombination
688 Seiten
2002 | 2nd edition
Addison Wesley
978-0-201-77004-9 (ISBN)
59,95 inkl. MwSt
  • Titel ist leider vergriffen;
    keine Neuauflage
  • Artikel merken
Assuming a basic knowledge of both XML and Java, this text provides Web developers and programmers in these languages with the skills they need to create Web-based applications. The CD-ROM provides useful sample code and trial versions of IBM's Websphere, DB2, and VisualAge.
The first edition of XML and Java earned rave reviews for its exceptionally practical, thorough, and example-rich coverage of XML development with Java. Now, the authors -- all leading-edge XML experts from IBM -- have updated the book to reflect the latest XML tools, technologies, and best practices. From start to finish, they provide expert insight and "jumpstart" examples that are immediately applicable to real-world problems. Coverage includes: parsing and generating XML documents; working with DOM/DOM2 and SAX/SAX2; schemas and validation; document manipulation with XPath and XSLT; and utilizing advanced XML parsers. The authors introduce XML programming with servlets and JSP; XML database integration; XML messaging and Web services; data binding and security solutions; and more.

Hiroshi Maruyama, Senior Technical Staff Member at IBM’s Tokyo Research Laboratory, led a team specializing in the development of advanced XML technologies. Kent Tamura is the creator of IBM XML Parser for Java (since renamed Xerces and made open source). Naohiko Uramoto is a visiting Associate Professor at the National Institute of Informatics who specializes in advanced Web services development. Makoto Murata is an affiliated researcher at the International University of Japan and a member of the original working group that created XML 1.0. Andy Clark is a developer of the Apache Xerces XML parser in Java and the primary designer and lead technical expert for the new Xerces2 parser. Yuichi Nakamura is a contributor to the Apache SOAP and Axis projects. Ryo Neyama is a contributor to the Apache SOAP and Axis projects. Kazuya Kosaka is the manager of the Internet Technology Group and, most recently, the developer of XML-based security technologies. Satoshi Hada is currently working on XML Access Control and SOAP Security Extensions. 0201770040AB05082002

Foreword.


Preface.


1. Web Applications, XML, and Java.


Introduction.



Structure of This Book.



Web Applications.



From Static Contents to Dynamic Contents.



From B2C to B2B-From Web for Eyeballs to Web for Programs.



Interoperability Is Everything.



From Distributed Applications to Decentralized Applications.



The World of Web Services-More Dynamic Integration.



Other Application Areas of XML.



Metadata.



Configuration Files.



Rich Documents.



Some XML Basics.



Standardization Process.



Validity and Well-Formedness.



Namespaces.



Summary.



2. Parsing XML Documents.


Introduction.



XML Processors.



Working with Xerces.



Basics of Parsing Documents.



Parsing Well-Formed Documents.



Parsing Valid Documents.



Design Point: Well-Formed versus Valid.



More about Parsing XML Documents.



Parsing XML Documents with Namespaces.



Parsing XML Documents with XML Schema.



Design Point: The DTD versus XML Schema.



Parsing XML Documents with JAXP.



Design Point: JAXP and XercesNative API.



Programming Interfaces for Document Structure.



DOM: Tree-Based API.



SAX: Event-Driven API.



Design Point: DOM versus SAX.



Summary.



3. Generating and Serializing XML Documents.


Introduction.



Creating a DOM Tree from Scratch.



Creating a Document Object.



Creating and Appending Child Nodes.



Handling Namespaces.



Validating a Generated DOM Tree.



Serializing a DOM Tree.



Using the XMLSerializer Package.



Discussions about Serialization.



Handling Whitespace.



Internationalization.



XML Declarations.



Charset Parameter.



Summary.



4. Working with DOM.


Introduction.



DOM Basics.



Accessing and Updating the Status of a Node.



Accessing Structural Information.



Inserting, Detaching, and Replacing a Child Node.



DOM Tree and Attributes.



Advanced DOM.



How to Simplify Your Code by Removing Entity References.



Tree Traversal.



DOM Collection Is Live.



Moving Nodes over Documents.



Namespaces in DOM.



Summary.



5. Working with SAX.


Introduction.



Basic Tips for Using SAX.



ContentHandler.



Using and Writing SAX Filters.



New Features of SAX2.



DOM versus SAX.



Performance: Memory and Speed.



Conversion from DOM to SAX and Vice Versa.



Summary.



6. Parser Tricks.


Introduction.



General Tricks.



Namespace Validation with DTDs.



Entity Resolution.



Working with Sockets.



Basic Xerces Tricks.



Extended Parser Options.



Custom DOM Implementation.



Advanced Xerces Tricks.



The Xerces Native Interface.



Components and the Component Manager.



Parser Configurations.



Building Parser Configurations from Xerces2 Components.



Summary.



7. XPath and XSLT.


XPath.



What Is XPath?



Syntax and Semantics of XPath.



XPath and Namespaces.



XPath Programming in Java.



XSLT.



What Is XSLT?



Syntax and Semantics of XSLT.



XSLT Programming in Java.



Pros and Cons of XSLT, XPath, DOM, and SAX.



Execution Efficiency.



Development Efficiency.



Summary.



8. Bridging Application Data Structure and XML.


Introduction.



Mapping to Almost Isomorphic Tree Structures.



Structure Adjustment by XSLT.



Mapping to Tables.



Mapping to Hash Tables.



Mapping to Graph Structures.



Summary.



9. Working with Schemas: Datatypes and Namespaces.


Introduction.



W3C XML Schema.



Mimicking DTDs.



Datatypes.



Using Namespaces.



Advanced Features.



Further Information.



RELAX NG.



Mimicking DTDs.



Using Datatypes and Facets of W3C XML Schema.



Using Namespaces.



Co-occurrence Constraints.



Further Information.



Summary.



10. XML Application Server.


The Background of the XML Application Server.



The Need for a Common Framework for Building Web Applications.



What Is an XML Application Server?



Servlet.



Returning XML Documents from a Servlet.



Receiving XML Documents.



Considerations for State Management.



JavaServer Pages.



What Is JSP?



An Informational JSP Returning XML Documents.



The Combination of Servlet and JSP.



Apache Cocoon.



Having Well-Grounded Goals.



Integrating and Multichanneling XML Documents Using Cocoon.



Summary.



11. XML and Databases.


Introduction.



Storing and Searching for XML Documents.



Mapping from an XML Document to Tables.



Designing Relational Tables.



Defining the Primary Keys in a Table.



Designing a Table for MultiplyOccurring Elements.



Datatype Mapping.



Semantics of Data.



Two Approaches.



Mapping from Tables to an XML Document.



Nested and Flat Representation.



Element versus Attribute Representation.



Program Examples.



Mapping Method.



XPath Method.



A Servlet for Accessing a Database.



Working with EJB.



The Importance of EJB.



A Simple EJB.



Summary.



12. XML Messaging.


Introduction.



Distributed Computing and Interoperability.



Overview of XML Messaging.



New-Generation Distributed Programming.



Simple Object Access Protocol.



The Birth of SOAP.



Travel Reservation Example.



Basic Concepts of SOAP.



To Use SOAP or Not?



SOAP Engines.



Prototyping a SOAP Engine.



SOAP Engine Products.



Java API for SOAP.



Summary.



13. Web Services.


Emergence of Web Services.



Publishing, Finding, and Integration.



What Are Web Services?



Status of Web Services.



Web Services Description.



Overview of WSDL.



WSDL as an Interface Definition Language.



WSDL Tools.



Programming with WSDL4J.



JAX-RPC.



Service Registration and Discovery.



Overview of UDDI.



Programming with UDDI4J.



Registering WSDL with the UDDI Registry.



Application to Dynamic e-Business.



Application Scenario.



Discovering Businesses on the Fly.



Dynamic Binding.



Enterprise Web Services.



Summary.



14. Security.


Introduction.



IT System Security in General.



Security Requirements on B2B Systems.



Security of Communication.



Access Control.



SSL/TLS.



Server Authentication.



Client Authentication.



Selecting a Public-Key Infrastructure.



Configuring a Server and a Client for SSL/TLS.



SSL/TLS Programming in Java.



Firewall Considerations.



Summary of Using SSL/TLS.



XML Digital Signature.



XML Canonicalization.



XML Digital Signature Sample.



Signing XML Documents with XML Security Suite for Java.



Verifying XML Digital Signature with XML Security Suite for Java.



Access Control in Java.



Declarative Access Control and Programmatic Access Control.



Declarative Access Control.



Programmatic Access Control.



Security Architecture of EJB.



Security in Web Services.



Using SSL/TLS and XML Digital Signature in SOAP.



Access Control in SOAP Applications.



Partial Encryption of XML.



Security Service as Web Services.



Summary.



15. Data Binding.


Introduction.



Generating Java Classes from a Schema.



JAXB.



Relaxer.



Pros and Cons of Generating a Java Program from a Schema



Generating an XML Document from Java Classes.



Castor XML.



Pros and Cons of Generating XML Documents from Java Classes.



SOAP Encoding.



Summary.



16. Principles of Schema Languages.


Introduction.



Schemas as Syntactic Constraints.



Checking Unexpected Documents.



What Happens If We Neglect Schemas?



Desiderata for Schema Languages.



Schemas as Data Models.



Documents as Character Strings.



Documents as Trees.



Documents as Data Compliant with Schemas.



Documents as Information for Web Applications.



Desiderata for Schema Languages.



Interworking with Other Software.



Interworking with Programming Languages.



Relational Databases.



Desiderata for Schema Languages.



General-Purpose Schema Languages.



DTD.



W3C XML Schema.



RELAX NG.



Schematron.



Special-Purpose Schema Languages.



RDF Schema.



RELAX Namespace.



Summary.



Appendix A.


Appendix B. Useful Links and Books.


XML.



General.



Software.



Java.



Platform and SDK.



Web Applications.



Database.



Messaging.



Security.



Web Services.



General.



Software.



Standards.



Books.



Java.



XML/SGML.



Web Services.



Other Topics.



Appendix C. XML-Related Standardization Activities.


XML Core.



Namespace.



XML Fragment Interchange.



XML Inclusions.



XML Infoset.



XML Tools.



XPath.



XML Pointer, XML Base, and XML Linking.



Extensible Stylesheet Language.



Schema Languages.



XML Schema.



RELAX NG.



Schematron.



APIs.



Document Object Model.



Simple API for XML.



XML Security.



XML Signature.



XML Encryption.



Platform for Privacy Preferences Project.



Web Services.



XML Protocol (SOAP).



Web Services Description Language.



Universal Description, Discovery, and Integration.



Java Specification Requests.



Other Topics.



Web Distributed Authoring and Versioning.



Wireless Markup Language.



XHTML.



XML Query.



Appendix D. JDBC Primer.


Introduction.



JDBC Package.



Loading a JDBC Driver.



Connecting to a Database.



Submitting a Query.



Using a Connection Pool.



Index. 0201770040T05092002

Erscheint lt. Verlag 22.5.2002
Verlagsort Boston
Sprache englisch
Maße 235 x 189 mm
Gewicht 1161 g
Themenwelt Mathematik / Informatik Informatik Datenbanken
Informatik Programmiersprachen / -werkzeuge Java
Mathematik / Informatik Informatik Web / Internet
ISBN-10 0-201-77004-0 / 0201770040
ISBN-13 978-0-201-77004-9 / 9780201770049
Zustand Neuware
Haben Sie eine Frage zum Produkt?
Mehr entdecken
aus dem Bereich