Skip to content
Ryan Heaton edited this page Mar 18, 2015 · 13 revisions

Enunciate is an engine for enhancing your Java Web service API. It's simple: you develop your Web service API using standard Java technologies and attach Enunciate to your build process. Suddenly, your Web service API is boasting some pretty impressive features:

  • Full HTML documentation of your services, scraped from your JavaDocs.
  • Client-side libraries (e.g. Java, .NET, iOS, Ruby, Flex, AJAX, GWT, etc.) for developers who want to use your API.
  • Interface Definition Documents (e.g. WSDL, WADL, XML-Schema, etc.)
  • Etc.

Note that the runtime of your application isn't affected. Enunciate is primarily a build-time tool; it's intent is to "get out of the way" so the underlying Web service framework can do its job processing your Web service requests. Of course, if you'd like to take advantage of Enunciate's support for your runtime container, you may enjoy some other features.

Use Cases

Consider some of these successful applications of Enunciate:

  • Development of a Web service API, where documentation is updated (including fully-up-to-date client libraries) as part of the build process.
  • Mobile application development where the Web service API is invoked via Enunciate-generated iOS, Android, and C# libraries.

Getting Started

The getting started guide will walk you through the development of a basic Web service API. To integrate Enunciate into your existing project, take a look at the ways to attach Enunciate to your build process and take note of this document if you only want to leverage Enunciate's documentation and client-side library capabilities. If you're a "show me" kind of a learner, Enunciate has some example applications that you can clone from Github that are run and validated as part of the Enunciate release process.

Once you've got some momentum, you'll probably find the user guide and module documentation useful to refer to Enunciate's configuration options. If you get stuck, check out the FAQ or raise an issue in the issue tracker. And if you need some extra help, consider asking about commercial support.

About

Enunciate is an open-source project, licenced under the Apache License, version 2.0. It was designed and built by Ryan Heaton, working for FamilySearch. Comments, enhancements or bug fixes to the project are welcome.

Clone this wiki locally