A couple of other APIs in development today merit consideration. JAXM basically gives you a simple and easy mechanism for producing and reading these XML messages. At runtime, the JAXB API automatically converts documents into Java objects and vice versa. XML is featured as part of all Web servers and Java environments today. It's pervasive, an integral part of the Web environment.
Programmers know there is plenty of free code to be found in many places.
Many people go to the Apache Software Foundation to find all the pieces of XML code they need, and the Java runtime environment itself has XML compilers and processors built into it. In the past few years, as application development has become more distributed, developers were finding they were having to invent more data file formats, protocols, configuration files, and the like than ever before. Every time good developers have to create a new text format, they're nervous about compatibility, maintainability, interoperability, and documentation. XML provides an excellent way to address all these issues and will encourage an infrastructure that is more consistent and reusable for distributed systems. Today, anytime an enterprise system calls for a file format, configuration data, or even a protocol, XML is a very attractive option.