Buy Using XML with Legacy Business Applications by Michael C. Rawlins
close menu
Bookswagon
search
My Account
Home > Computer programming / software engineering > Web programming > Using XML with Legacy Business Applications
Using XML with Legacy Business Applications

Using XML with Legacy Business Applications


     0     
5
4
3
2
1



Out of Stock


Notify me when this book is in stock
X
About the Book

"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 MicrosystemsBusinesses 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 schemasAn introduction to using XSLT to transform between different XML formatsSimple, pragmatic advice on transporting XML documents securely over the InternetFor 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 documentsSee Chapter 2 for a step-by-step guide to enabling existing business applications to import XML documentsSee Chapter 5 for code examples and tips for validating XML documents against schemasSee Chapter 12 for general tips on building commerce support into an applicationFor end users who need a simple and robust conversion utility:See Chapter 7 for converting CSV files to and from XMLSee Chapter 8 for converting flat files to and from XMLSee Chapter 9 for converting X12 EDI to and from XMLSee Chapter 11 for tips on how to use these techniques together for complex format conversionsThe resource-filled companion Web site (www rawlinsecconsulting. com/booksupplement) includes executable versions of the utilities described in the book, full source code in C++ and Java, XSLT stylesheets, bug fixes, sample input and output files, and more. 0321154940B07142003

Table of Contents:
Preface. 1. Introduction. The Problem. What Do We Need in a Solution? Functional Requirements. Nonfunctional Requirements: Good, Fast, and Cheap. The Overview of a Solution. Architecture. Why Not Use XSLT for Everything? Two Implementations of the Architecture: Java and C++. The Document Object Model. Why Use the DOM? How to Use This Book. Chapter Organization. Notes for Primary Audiences. Chapter Summaries. Conventions. What You Need to Use This Book. What You Should Already Know. Web Site and Contact Information. General Software. Java Software. C++ Software. For Developers. General Coding Approach and Conventions. Additional C++ Considerations. How You Can Use the Utilities and Code. References. Resources. 2. Converting XML to CSV. Requirements. Running the Utility. Sample Input and Output. Design. Naming Elements. Module Logic. Java Implementation. main in XMLToCSVBasic.java. write in CSVRowWriter.java. Error Handling. C++ Implementation. main in XMLToCSVBasic.cpp. write in CSVRowWriter.cpp. Error Handling. Comparing the Java and C++ Implementations. Enhancements and Alternatives. Validation of the Input Document. Using a ColumnNumber Attribute. A Recursive Algorithm. Advanced Functionality. Resources. 3. Converting CSV to XML. Requirements. Running the Utility. Sample Input and Output. Design. Main Routine. CSVRowReader Class. Java Implementation. main in CSVToXMLBasic.java. parse in CSVRowReader.java. write in CSVRowReader.java. C++ Implementation. main in CSVToXMLBasic.cpp. parse in CSVRowReader.cpp. write in CSVRowReader.cpp. Comparing the Java and C++ Implementations. Enhancements and Alternatives. Validation of the Output Document. Advanced Functionality. Some Observations. Resources. 4. Learning to Read XML Schemas. Rope, Anyone? A Few Different Document Approaches. DTD Refresher. Foundation Concepts and Terminology. Elements and Types. Simple and Complex. General Features. Schema Declaration in Instance Documents. Comments and Documentation. Element Declarations. Simple Content Elements. Schema Built-in Data Types. Extending and Restricting Simple Types. Setting a Maximum Length. Setting Minimum and Maximum Values. Patterns for Identifiers. Code Lists. Attribute Declarations. Complex Content Elements. Types of Content. Mandatory, Optional, Limits. Creating New Complex Types by Extension. Attribute Declarations. Understanding Namespaces. What Is a Namespace? URIs, URNs, and URLs. Namespace Qualification in Instance Documents. The W3C XML Schema-Related Namespaces. Structuring Schemas. Global Types and Local Elements versus Global Elements. Named Types and Anonymous Types. Modularity: The xs:include and xs:import Elements. An Example of Importing Type Libraries. Less Commonly Used W3C XML Schema Language Features. Is There Data or Not? Reference. Resources. 5. Validating against Schemas. Requirements. Running the Utilities. Design. Java Implementation. Input Validation in XMLToCSVBasic.java. Output Validation in CSVToXMLBasic.java. C++ Implementation. Input Validation in XMLToCSVBasic.cpp. Output Validation in CSVToXMLBasic.cpp. Examples of Input Validation Failures. Resources. 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. Instance Document Design. File Description Document Design. Schemas for File Description Documents. Schemas for Source and Target Documents. Additional DOM Processing Considerations and Strategies. Multilingual Issues. Error Handling Strategy. High-Level Design. Source Converter Processing. Target Converter Processing. Summary of Classes. Detail Design. Main Routine Structures. Converter Base Class. SourceConverter Base Class (Extends Converter). TargetConverter Base Class (Extends Converter). RecordHandler Base Class. RecordReader Base Class (Extends RecordHandler). RecordWriter Base Class (Extends RecordHandler). DataCell Base Class. Java Implementation. C++ Implementation. References. Resources. 7. Converting CSV Files to and from XML, Revisited. CSV to XML: Functionality and Operation. Requirements. Running the Utility 211 Sample Input and Output: Invoice. XML to CSV: Functionality and Operation. Requirements. Running the Utility. Sample Input and Output: Purchase Order. Describing the File Formats. CSV Physical Characteristics. XML Output Characteristics. CSV File Grammar. Example File Description Documents. Schema Examples. High-Level Design Considerations. Grammar Analysis and Description. File Description Document Schemas. CSV to XML: Detail Design. Main Program. CSVSourceConverter Class (Extends SourceConverter). CSVRecordReader Class (Extends RecordReader). XML to CSV: Detail Design. Main Program. CSVTargetConverter Class (Extends TargetConverter). CSVRecordWriter Class (Extends RecordWriter). New DataCell Methods and Derived Classes. New DataCell Methods. DataCellAN Class. DataCellReal Class. DataCellDateMMsDDsYYYY Class. Java Implementation. C++ Implementation. Enhancements and Alternatives. Additional Data Types. Variety of Record Types. Efficiency and Performance. Resources. 8. Converting Flat Files to and from XML. Flat File to XML: Functionality and Operation. Requirements. Running the Utility. Sample Input and Output: Invoice. XML to Flat File: Functionality and Operation. Requirements. Running the Utility. Sample Input and Output: Purchase Order. Describing the File Formats. Flat File Physical Characteristics. XML Output Characteristics. Flat File Grammar. Example File Description Documents. Schema Examples. High-Level Design Considerations. Grammar Analysis and Description. File Description Document Schemas. Flat File to XML: Detail Design. Main Program. FlatSourceConverter Class (Extends SourceConverter). FlatRecordReader Class (Extends RecordReader). XML to Flat File: Detail Design. Main Program. FlatTargetConverter Class (Extends TargetConverter). FlatRecordWriter Class (Extends RecordWriter). New DataCell Methods and Derived Classes. New DataCell Methods. New Methods in DataCell Derived Classes. DataCellN Class. DataCellDateYYYYMMDD Class. Java Implementation. C++ Implementation. Enhancements and Alternatives. Additional Data Types. CSV Record Formats. Rounding versus Truncation. Group Fields. Redefined Fields. Resources. 9. Converting EDI to and from XML. Overview of the X12 EDI Syntax and Standards. X12 to XML: Functionality and Operation. Requirements. Running the Utility. Sample Input and Output: 850 Purchase Order. XML to X12: Functionality and Operation. Requirements. Running the Utility. Sample Input and Output: 810 Invoice. Describing the File Formats. X12 File Physical Characteristics. XML Output Characteristics. Transaction Set Grammar. Example File Description Documents. Schema Examples. Supplemental Data Store for Control Numbers. High-Level Design Considerations. Grammar Analysis and Description. File Description Document Schemas. X12 to XML: Detail Design. Main Program. X12SourceConverter Class (Extends SourceConverter). EDIRecordReader Class (Extends RecordReader). X12RecordReader Class (Extends EDIRecordReader). XML to X12: Detail Design. Main Program. X12TargetConverter Class (Extends TargetConverter). EDIRecordWriter Class (Extends RecordWriter). X12RecordWriter Class (Extends EDIRecordWriter). New DataCell Methods and Derived Classes. DataCellX12N Class (Extends DataCellN). DataCellX12R Class (Extends DataCellReal). DataCellX12DT Class (Extends DataCellDateYYYYMMDD). DataCellX12TM Class. Java Implementation. C++ Implementation. Enhancements and Alternatives. Reference. Resources. 10. Converting from One XML Format to Another with XSLT. Why XSLT Is Important. XSLT Overview. A Simple Example: Hello World. Another Simple Example: Changing Tag Names. A General Approach to Using XSLT. XPath Basics. Structuring Stylesheets. A Bit of Housekeeping. The xsl:output Element. Running Transformations from a Command Line. Manipulating Content. Adding and Removing Content. Splitting Data Content. Combining Data Content. Changing an Attribute to an Element. Changing an Element to an Attribute. Solving Typical Navigation Problems. Mapping a Flat Structure to a Hierarchy. Mapping a Hierarchy to a Flat Structure. Tips for Dealing with Other Navigation Problems. Advanced Techniques for Processing Content. Omitting Empty Elements and Attributes. Converting Coded Values. Handling Calculations. Handling Namespaces. Calling Non-XSLT Procedures. References. Resources. 11. Using the Conversion Techniques Together. Pipe and Filter Revisited. Sample Conversion Scenarios and Scripts. Purchase Order: UBL to XML to CSV. Invoice: Flat File to XML to EDI. Campaign Contribution Reporting: CSV to XML to Flat File. Building a System: Babel Blaster. Version 1.0 Requirements. Architectural Overview. Trading Partner/Application Information. Linking Pipes and Filters. Version 1.1 Requirements. Resources. 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. 13. Security, Transport, Packaging, and Other Issues. Some General Observations about Security. Dealing with Security. Security Requirements and Exposure. Countermeasures and Remediation Strategies. Prevention Countermeasures. Transport. Packaging. Common Combinations for Security, Transport, and Packaging. Emerging Technologies. What This Means for You. Reference. Appendix A. GNU General Public License. Appendix B. Pseudocode Conventions. Appendix C. COM Essentials for the Non-COM Programmer. Bibliography. Credits. Index.

About the Author :
Michael C. Rawlins has more than twenty years of information technology consulting experience in a variety of industries. He is the founder of Rawlins EC Consulting and has served as the vice chair of the Communications and Controls subcommittee of ANSI ASC X12 for three years. Before founding Rawlins EC Consulting, Michael worked as a consultant with the Digital Equipment Corporation. 0321154940AB07142003


Best Sellers


Product Details
  • ISBN-13: 9780321154941
  • Publisher: Pearson Education (US)
  • Publisher Imprint: Addison-Wesley Educational Publishers Inc
  • Height: 235 mm
  • No of Pages: 624
  • Weight: 900 gr
  • ISBN-10: 0321154940
  • Publisher Date: 21 Aug 2003
  • Binding: Paperback
  • Language: English
  • Spine Width: 30 mm
  • Width: 179 mm


Similar Products

Add Photo
Add Photo

Customer Reviews

REVIEWS      0     
Click Here To Be The First to Review this Product
Using XML with Legacy Business Applications
Pearson Education (US) -
Using XML with Legacy Business Applications
Writing guidlines
We want to publish your review, so please:
  • keep your review on the product. Review's that defame author's character will be rejected.
  • Keep your review focused on the product.
  • Avoid writing about customer service. contact us instead if you have issue requiring immediate attention.
  • Refrain from mentioning competitors or the specific price you paid for the product.
  • Do not include any personally identifiable information, such as full names.

Using XML with Legacy Business Applications

Required fields are marked with *

Review Title*
Review
    Add Photo Add up to 6 photos
    Would you recommend this product to a friend?
    Tag this Book Read more
    Does your review contain spoilers?
    What type of reader best describes you?
    I agree to the terms & conditions
    You may receive emails regarding this submission. Any emails will include the ability to opt-out of future communications.

    CUSTOMER RATINGS AND REVIEWS AND QUESTIONS AND ANSWERS TERMS OF USE

    These Terms of Use govern your conduct associated with the Customer Ratings and Reviews and/or Questions and Answers service offered by Bookswagon (the "CRR Service").


    By submitting any content to Bookswagon, you guarantee that:
    • You are the sole author and owner of the intellectual property rights in the content;
    • All "moral rights" that you may have in such content have been voluntarily waived by you;
    • All content that you post is accurate;
    • You are at least 13 years old;
    • Use of the content you supply does not violate these Terms of Use and will not cause injury to any person or entity.
    You further agree that you may not submit any content:
    • That is known by you to be false, inaccurate or misleading;
    • That infringes any third party's copyright, patent, trademark, trade secret or other proprietary rights or rights of publicity or privacy;
    • That violates any law, statute, ordinance or regulation (including, but not limited to, those governing, consumer protection, unfair competition, anti-discrimination or false advertising);
    • That is, or may reasonably be considered to be, defamatory, libelous, hateful, racially or religiously biased or offensive, unlawfully threatening or unlawfully harassing to any individual, partnership or corporation;
    • For which you were compensated or granted any consideration by any unapproved third party;
    • That includes any information that references other websites, addresses, email addresses, contact information or phone numbers;
    • That contains any computer viruses, worms or other potentially damaging computer programs or files.
    You agree to indemnify and hold Bookswagon (and its officers, directors, agents, subsidiaries, joint ventures, employees and third-party service providers, including but not limited to Bazaarvoice, Inc.), harmless from all claims, demands, and damages (actual and consequential) of every kind and nature, known and unknown including reasonable attorneys' fees, arising out of a breach of your representations and warranties set forth above, or your violation of any law or the rights of a third party.


    For any content that you submit, you grant Bookswagon a perpetual, irrevocable, royalty-free, transferable right and license to use, copy, modify, delete in its entirety, adapt, publish, translate, create derivative works from and/or sell, transfer, and/or distribute such content and/or incorporate such content into any form, medium or technology throughout the world without compensation to you. Additionally,  Bookswagon may transfer or share any personal information that you submit with its third-party service providers, including but not limited to Bazaarvoice, Inc. in accordance with  Privacy Policy


    All content that you submit may be used at Bookswagon's sole discretion. Bookswagon reserves the right to change, condense, withhold publication, remove or delete any content on Bookswagon's website that Bookswagon deems, in its sole discretion, to violate the content guidelines or any other provision of these Terms of Use.  Bookswagon does not guarantee that you will have any recourse through Bookswagon to edit or delete any content you have submitted. Ratings and written comments are generally posted within two to four business days. However, Bookswagon reserves the right to remove or to refuse to post any submission to the extent authorized by law. You acknowledge that you, not Bookswagon, are responsible for the contents of your submission. None of the content that you submit shall be subject to any obligation of confidence on the part of Bookswagon, its agents, subsidiaries, affiliates, partners or third party service providers (including but not limited to Bazaarvoice, Inc.)and their respective directors, officers and employees.

    Accept

    Fresh on the Shelf


    Inspired by your browsing history


    Your review has been submitted!

    You've already reviewed this product!
    Your IP: 216.73.216.138 IN