This section compares the classic software development process and the XML software development process to explore the overall effect of the introduction of XML technologies on the software development process.
Classic software development refers to the process of developing applications using procedural programming languages such as C/C++, Java, C#, COBOL, and Perl. The classic software development process typically begins with a high-level architecting process that includes modeling the software objects and their interactions. Next, an editor is used to write the source code according to the proper syntax, and the compiler is invoked to translate and link the software to an executable binary format. Finally, a debugger is used to catch any errors, thereby ensuring correct program behavior.
Classic IDEs, such as Microsoft’s Visual Studio or Borland’s JBuilder, have revolutionized the software development process by providing enhanced tool support for editing source code, as well as modeling and debugging tools that have enabled developers to produce higher quality software while simultaneously reducing the required effort.
XML technologies differ significantly from classic procedural programming languages in structure, syntax, and nature. Therefore, it’s reasonable to expect that XML application development is also different from classic software development. You begin XML application development by developing the XML Schema, which defines a family of XML documents to be used in the application. Next, you edit and validate XML documents according to the XML Schema. Finally, a language binding must be programmed to enable the XML document to be consumed or processed by some XML-enabled framework. As previously discussed, XML document operations typically include transforming the XML document to another format, saving the XML document to a database, or transmitting the XML document to a remote process. The XML software development process is illustrated in Figure 1-3.
Figure 1-3: The XML software development process.
The important point here is that you must develop proficiency with XML development tools. These important tools, all covered in this book, include XML Schema modeling tools to define XML content; XML editing and validation tools to author XML documents; XSL/XSLT development and debugging tools for transforming XML; XML-to-database mapping tools for database integration applications; and SOAP development and debugging tools for building Web services.