Modules
The work of Enunciate is divided into modules. Modules can be thought of as loosly coupled, non-interdependant extensions to the Enunciate engine. Each module has a specific set of work to perform. For example, the XML module generates the WSDL and schemas for the API, the REST module validates the REST endpoints, the xfire-client module generates the xfire client libraries, etc. Since each module has a specific set of work to do, each module has also a separate set of configuration options.
The modules that are to be included in the Enunciate mechanism are discovered at runtime using Sun's discovery mechanism.
Enunciate ships with a default set of modules:
-
docs
Generates the API documentation.
-
jaxws
Generates the JAX-WS request/response/fault wrappers according to the JAX-WS specification
-
rest
Validates the REST API and provides support for hosting it.
-
xfire
Generates support classes for deploying SOAP endpoints (using XFire).
-
spring-app
Builds and packages the war that will host the documentation and service the endpoints (via Spring).
-
xfire-client
Builds the Java client libraries used to access the API (using XFire)
-
gwt
Builds the GWT client libraries used to access the API via GWT-RPC. It also compiles the configured GWT applications.
-
amf
Builds the AMF endpoints (and ActionScript client libraries for Flex developers) used to access the API via AMF. It also compiles the configured Flex applications.
-
xml
Generates the WSDL and schemas for the API.
-
integration tests
Support for testing your deployed Web services.
For more information about modules (including how to write your own), see the architecture guide.