The step-by-step guide to creating program generators with Java and XML. *Breakthrough Java/XML techniques for creating program generators, including detailed examples and real-world guidelines *Domain engineering techniques for improving software development productivity *CD-ROM with examples, working code, and relevant XML specifications. "XML isnt just for data any more. Now you can use XML to describe the programs you need, then write a Java program template to generate them automatically. This book shows you how." - Charles F. Goldfarb Using Java and XML, you can now easily create "wizard-like" program generators that automate much of the work of software development(and deliver significant productivity improvements. In this book, former Bell Laboratories Distinguished Staff Member J. Craig Cleaveland shows you how to do it.
Using extensive practical examples, Program Generators with XML and Java walks you through every step: *Identifying off-the-shelf tools for quickly building program generators *Domain Analysis: determining the terminology, boundaries, commonalities, and variabilities of software families *Domain Implementation: processes and tools for efficiently generating customized software *Accounting for run-time and compile-time variabilities *Using XML documents as program specifications, and using the DOM and SAX APIs to read and analyze them *Using JavaServer Pages and XPath/XSLT to generate customized software *The role of reusable architectures and components, including JavaBeans Chances are, youre already using automated GUI builders, database application generators, and other code generation "wizards." Now, with Program Generators with XML and Java, you can extend the advantages of code generation throughout your own custom applications and get to market faster, with greater reliability and lower costs.
The step-by-step guide to creating program generators with Java and XML. *Breakthrough Java/XML techniques for creating program generators, including detailed examples and real-world guidelines *Domain engineering techniques for improving software development productivity *CD-ROM with examples, working code, and relevant XML specifications. "XML isnt just for data any more. Now you can use XML to describe the programs you need, then write a Java program template to generate them automatically. This book shows you how." - Charles F. Goldfarb Using Java and XML, you can now easily create "wizard-like" program generators that automate much of the work of software development(and deliver significant productivity improvements. In this book, former Bell Laboratories Distinguished Staff Member J. Craig Cleaveland shows you how to do it.
Using extensive practical examples, Program Generators with XML and Java walks you through every step: *Identifying off-the-shelf tools for quickly building program generators *Domain Analysis: determining the terminology, boundaries, commonalities, and variabilities of software families *Domain Implementation: processes and tools for efficiently generating customized software *Accounting for run-time and compile-time variabilities *Using XML documents as program specifications, and using the DOM and SAX APIs to read and analyze them *Using JavaServer Pages and XPath/XSLT to generate customized software *The role of reusable architectures and components, including JavaBeans Chances are, youre already using automated GUI builders, database application generators, and other code generation "wizards." Now, with Program Generators with XML and Java, you can extend the advantages of code generation throughout your own custom applications and get to market faster, with greater reliability and lower costs.
1. Introduction: The Dictionary Problem.
Onward and Upward. Other Program Generators. Why Use Program
Generators? Organization of the Book.
2. Domain Analysis Concepts.
Domains. Decisions—the Atoms of Domain Engineering. Variations—the
Heart of Domain Engineering. Roles—Who Makes Decisions. Binding
Times—When Decisions Are Made. Domain Engineering Lifecycle.
Commonalities. Variabilities. A Balancing Act. Domain Analysis
Methods. FAST Domain Model. Summary. Further Reading.
3. An Example Domain Analysis.
Day One. Day Two. Day Three. Day Four. Day Five. The Domain
Analysis Report. Summary.
4. Separation of Concerns.
Abstractions. Techniques for Separating Concerns. Summary. Further
Reading.
5. XML: A Standard Representation for
Specifications.
To XML or Not? XML Elements. XML Attributes. XML Predefined
Entities. Creating a Domain-Specific XML Structure. Elements or
Attributes? The Play Domain Using XML. DTDs. XML Tools. Play Domain
Phase. Summary. Further Reading.
6. Run-Time Variabilities.
Java Property Files. XML as a Configuration File. The Play Domain
with Run-Time Variabilities. Summary.
7. Compile-Time Variabilities.
Compile-Time Constants. Play Domain and Inheritance. Comparing
Run-Time, Compile-Time, and Generation-Time Variabilities.
Preprocessing-Time Variabilities. Summary. Further Reading.
8. The Styles of Generated Programs.
Comparing Handcrafted and Generated Programs. Comparing Three
Styles of Generated Programs. OO-Driven Style. Code-Driven Style.
Table-Driven Style. Summary.
9. Using DOM to Generate Programs.
Reading and Storing the Specification Using XML Parsers. DOM
Analysis and Transformations. Program Generation from the DOM. The
Play Program Generator using DOM. Summary. Further Reading.
10. Using Java Server Pages to Generate Programs.
Applets and Servlets. Java Server Pages. Chart Applet Program
Generator. The JSP Translator, a Simple Program Generator. Play
Domain Program Generator. Summary.
11. Using XPath and XSLT to Generate Programs.
XPath. XSLT. Using XPath and XSLT in the Play Domain. Summary.
12. Crafting Your Own Template Language.
Evaluating JSP and XSLT. TL—A New Template Language. The Informal
TL Specification. Translating TL to the Java Language. Summary.
Further Reading.
13. Composition of Components.
Components and JavaBeans. Components and Dependencies. Interfaces
and IDLs. Module Interconnection Languages. Bean Markup Language.
Crafting Your Own MIL. Summary. Further Reading.
Index.
Using Java and XML, you can now create "wizard-like" program generators that automate much of the work of software development -- and deliver productivity improvements of up to 100x. In this book, former Bell Laboratories Distinguished Staff Member J. Craig Cleaveland demonstrates how to do it -- often, with little or no additional coding. Using extensive practical examples, Program Generators with Java and XML walks you through every technique, and every step. Cleaveland identifies off-the-shelf tools you can use to quickly building program generators; then introduces Domain Analysis techniques for determining the terminology, boundaries, commonalities, and variabilities of software families. Next, you'll master Domain Implementation: processes and tools for efficiently generating customized software. Cleaveland accounts for run-time and compile-time variabilities; then shows how to use XML documents as input, and use the DOM and SAX APIs to read and analyze them. You'll learn how to use JavaServer Pages and Xpath/XSLT to generate customized software; and how to create reusable architectures. Use this book to extend the advantages of code generation throughout your custom applications -- and get to market faster, with better reliability and lower costs. Part of the Prentice Hall Charles F. Goldfarb XML Series.
J. CRAIG CLEAVELAND is a technology consultant specializing in Internet applications and domain engineering. As CTO for Internet Games Corporation, he designed and developed a complete Java-based multi-player game network. Previously, he spent a year at Digital Equipment Corporation researching advanced Java technologies. Cleaveland spent 13 years at AT&T Bell Laboratories developing, promoting, and teaching program generator technologies. There, he was honored with the Distinguished Technical Staff Award in 1987. His website can be found at http://craigc.com
About the Series EditorCHARLES F. GOLDFARB is the father of markup languages, a term that he coined in 1970. He is the inventor of SGML, the International Standard on which both XML and HTML are based. You can find him on the Web at http://www.xmlbooks.com
![]() |
Ask a Question About this Product More... |
![]() |