Main Page


   
  Table of Contents
Using XML with Legacy Business Applications
By Michael C. Rawlins
 
Publisher : Addison Wesley
Pub Date : August 08, 2003
ISBN : 0-321-15494-0
Pages : 624


"This volume offers relentlessly pragmatic solutions to help your business applications get the most out of XML, with a breezy style that makes the going easy. Mike has lived this stuff; he has a strong command of the solutions and the philosophy that underlies them.">-Eve Maler, XML Standards Architect, Sun Microsystems

Businesses running legacy applications that do not support XML can face a tough choice: Either keep their legacy applications or switch to newer , XML-enhanced applications. XML presents both challenges and opportunities for organizations as they struggle with their data.

Does this dilemma sound familiar? What if you could enable a legacy application to support XML? You can. In Using XML with Legacy Business Applications , e-commerce expert Michael C. Rawlins outlines usable techniques for solving day-to-day XML- related data exchange problems. Using an easy-to-understand cookbook approach, Rawlins shows you how to build XML support into legacy business applications using Java and C++. The techniques are illustrated by building converters for legacy formats. Converting CSV files, flat files, and X12 EDI to and from XML will never be easier!

Inside you'll find:

  • A concise tutorial for learning to read W3C XML schemas

  • An introduction to using XSLT to transform between different XML formats

  • Simple, pragmatic advice on transporting XML documents securely over the Internet

For developers working with either MSXML with Visual C++ or Java and Xerces:

  • See Chapter 3 for a step-by-step guide to enabling existing business applications to export XML documents

  • See Chapter 2 for a step-by-step guide to enabling existing business applications to import XML documents

  • See Chapter 5 for code examples and tips for validating XML documents against schemas

  • See Chapter 12 for general tips on building commerce support into an application

For end users who need a simple and robust conversion utility:

  • See Chapter 7 for converting CSV files to and from XML

  • See Chapter 8 for converting flat files to and from XML

  • See Chapter 9 for converting X12 EDI to and from XML

  • See Chapter 11 for tips on how to use these techniques together for complex format conversions


   
  Table of Contents
Using XML with Legacy Business Applications
By Michael C. Rawlins
 
Publisher : Addison Wesley
Pub Date : August 08, 2003
ISBN : 0-321-15494-0
Pages : 624


    Copyright
    Advance Praise for Using XML with Legacy Business Applications
    Preface
      Acknowledgments
    Chapter 1.  Introduction
      The Problem
      What Do We Need in a Solution?
      The Overview of a Solution
      Architecture
      How to Use This Book
      What You Need to Use This Book
      For Developers
      How You Can Use the Utilities and Code
      References
      Resources
    Chapter 2.  Converting XML to CSV
      Requirements
      Running the Utility
      Sample Input and Output
      Design
      Java Implementation
      C++ Implementation
      Comparing the Java and C++ Implementations
      Enhancements and Alternatives
      Resources
    Chapter 3.  Converting CSV to XML
      Requirements
      Running the Utility
      Sample Input and Output
      Design
      Java Implementation
      C++ Implementation
      Comparing the Java and C++ Implementations
      Enhancements and Alternatives
      Resources
    Chapter 4.  Learning to Read XML Schemas
      Rope, Anyone?
      A Few Different Document Approaches
      DTD Refresher
      Foundation Concepts and Terminology
      General Features
      Simple Content Elements
      Complex Content Elements
      Understanding Namespaces
      Structuring Schemas
      Less Commonly Used W3C XML Schema Language Features
      Is There Data or Not?
      Reference
      Resources
    Chapter 5.  Validating against Schemas
      Requirements
      Running the Utilities
      Design
      Java Implementation
      C++ Implementation
      Examples of Input Validation Failures
      Resources
    Chapter 6.  Refining the Design
      Why Refine the Design?
      Making XML the Common Format
      Analyzing the Legacy Non-XML Grammars
      Describing the Legacy Non-XML Grammars
      Representing the Legacy Non-XML Grammars in XML
      Additional DOM Processing Considerations and Strategies
      Multilingual Issues
      Error Handling Strategy
      High-Level Design
      Detail Design
      Java Implementation
      C++ Implementation
      References
      Resources
    Chapter 7.  Converting CSV Files to and from XML, Revisited
      CSV to XML: Functionality and Operation
      XML to CSV: Functionality and Operation
      Describing the File Formats
      Schema Examples
      High-Level Design Considerations
      CSV to XML: Detail Design
      XML to CSV: Detail Design
      New DataCell Methods and Derived Classes
      Java Implementation
      C++ Implementation
      Enhancements and Alternatives
      Resources
    Chapter 8.  Converting Flat Files to and from XML
      Flat File to XML: Functionality and Operation
      XML to Flat File: Functionality and Operation
      Describing the File Formats
      Schema Examples
      High-Level Design Considerations
      Flat File to XML: Detail Design
      XML to Flat File: Detail Design
      New DataCell Methods and Derived Classes
      Java Implementation
      C++ Implementation
      Enhancements and Alternatives
      Resources
    Chapter 9.  Converting EDI to and from XML
      Overview of the X12 EDI Syntax and Standards
      X12 to XML: Functionality and Operation
      XML to X12: Functionality and Operation
      Describing the File Formats
      Schema Examples
      Supplemental Data Store for Control Numbers
      High-Level Design Considerations
      X12 to XML: Detail Design
      XML to X12: Detail Design
      New DataCell Methods and Derived Classes
      Java Implementation
      C++ Implementation
      Enhancements and Alternatives
      Reference
      Resources
    Chapter 10.  Converting from One XML Format to Another with XSLT
      Why XSLT Is Important
      XSLT Overview
      A General Approach to Using XSLT
      XPath Basics
      Structuring Stylesheets
      A Bit of Housekeeping
      Manipulating Content
      Solving Typical Navigation Problems
      Advanced Techniques for Processing Content
      Handling Namespaces
      Calling Non-XSLT Procedures
      References
      Resources
    Chapter 11.  Using the Conversion Techniques Together
      Pipe and Filter Revisited
      Sample Conversion Scenarios and Scripts
      Building a System: Babel Blaster
      Resources
    Chapter 12.  Building XML Support into a Business Application
      What Should Be "XMLized"?
      Devising an Architecture
      Selecting the XML Format
      Changing Your Code
      What about Databases?
      Other Approaches and APIs
      Non-XML Issues
      Resources
    Chapter 13.  Security, Transport, Packaging, and Other Issues
      Some General Observations about Security
      Dealing with Security
      Transport
      Packaging
      Common Combinations for Security, Transport, and Packaging
      Emerging Technologies
      What This Means for You
      Reference
    Appendix A.  GNU General Public License
      Preamble
      Terms and Conditions for Copying, Distribution and Modification
      How to Apply These Terms to Your New Programs
    Appendix B.  Pseudocode Conventions
      Assignment Operator
      Mathematical Operators
      Equality and Relational Operators
      IF Selection Structures
      Repetition Structure
      Case Selection Structure
    Appendix C.  COM Essentials for the Non-COM Programmer
      #import and Smart Pointers
      Initialization and Resource Management
      Exceptions and Errors
      COM Classes and Data Types for C++
    Bibliography
      References
      Resources
    Credits
      Chapter 1
      Chapter 4
      Chapter 5
      Chapter 6
      Chapter 8
      Chapter 9
      Chapter 12