Thursday, July 29, 2004

The Apache Project(s)

Apache isn't just Apache anymore. The Apache Software Foundation is now involved in alot of different projects. Everything that follows is in Java unless otherwise stated,
  • Xerces - Java and Perl wrappers for the C++ library providing APIs to SAX DOM XNI, XNI-based pull. Validation DTDs XML schema support relax NG support. Use Xerces everywhere. In Java 1.5 Xerces will be the default parser in JDK
  • Xalan-J - XSLT processor, converts one kind of XML to another using a stylesheet (Java and C). Use it to convert XML to HTML, or use one XML source for multiple outputs.
  • FOP - XSL processor, convert XML with XSL elements into XML formats.
  • Batik - Scalable Vector Graphics (SVG). Vector drawing commands using XML, declarative animation, imperative animation. Use it for graphical output (static or dynamic) and flash-like user interfaces.
  • Xindice - Native XML database, XML:DB API, searchable by XPath, use it for storing XML documents.
  • XML-RPC - Use XML to mark up RPC cals, deliver the XML via HTTP, use it when you need to talk to another XML-RPC application.
  • Axis - SOAP, WSDL TCPMonitor. Use it when you need a SOAP sevice, when you need to talk .NET
  • XML-Security - XML digital signature and XML Encryption for whenyou want to sign pieces of XML documets (rather than the whole document). Use it in XML-based workflows.
  • Cocoon - web publshing framework.
  • Lenya - Content Management System for Cocoon.
  • Forrest - Documentation platform based on Cocoon, content templates, skins, forrestbot.
  • XML Commons - Reusable components such as SAX, DOM, which (tool that lets you doagnoses the state of your system), resolver
  • WSIF - Allows you to invoke services via a WSDL document. Use it if you need a uniform interface to services implemented using different technologies, if you need isolation from the services APIs.
  • XMLBeans - Populate JavaBeans from XML
  • JaxMe - Store JavaBeans into a database, query that database. Use it when you need to use JAXB.