<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-3029304570514610317</id><updated>2012-01-09T13:58:39.365-08:00</updated><title type='text'>Web Cohesion</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://news.webcohesion.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3029304570514610317/posts/default'/><link rel='alternate' type='text/html' href='http://news.webcohesion.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Ryan</name><uri>http://www.blogger.com/profile/07369054632415227664</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>13</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3029304570514610317.post-5107994301984936149</id><published>2012-01-09T13:55:00.000-08:00</published><updated>2012-01-09T13:58:39.381-08:00</updated><title type='text'>Enunciate 1.25 Released</title><content type='html'>&lt;p&gt;A lot of the work was under the covers refactoring in anticipation of the &lt;a href="http://jira.codehaus.org/browse/ENUNCIATE-603"&gt;big refactor planned for 1.26 to support Java 7&lt;/a&gt;. I added a few nice new features to the generated documentation, such as &lt;a href="http://jira.codehaus.org/browse/ENUNCIATE-596"&gt;the option to configure the way rest resources are grouped&lt;/a&gt;, and a nice &lt;a href="http://jira.codehaus.org/browse/ENUNCIATE-597"&gt;drop-down menu navigation on the breadcrumb menu&lt;/a&gt;.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Other than that, there were a ton of &lt;a href="http://jira.codehaus.org/secure/IssueNavigator.jspa?reset=true&amp;jqlQuery=project+%3D+ENUNCIATE+AND+fixVersion+%3D+%221.25%22+AND+status+%3D+Resolved+ORDER+BY+priority+DESC&amp;mode=hide"&gt;bugs fixed&lt;/a&gt;.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Please note this will be the last version of Enunciate that will support Java 5. Enunciate 1.26 will require Java 6 and newer.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3029304570514610317-5107994301984936149?l=news.webcohesion.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3029304570514610317/posts/default/5107994301984936149'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3029304570514610317/posts/default/5107994301984936149'/><link rel='alternate' type='text/html' href='http://news.webcohesion.com/2012/01/enunciate-125-released.html' title='Enunciate 1.25 Released'/><author><name>Ryan</name><uri>http://www.blogger.com/profile/07369054632415227664</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3029304570514610317.post-210830367706169462</id><published>2010-11-18T13:41:00.001-08:00</published><updated>2010-11-18T13:41:55.969-08:00</updated><title type='text'>Enunciate 1.21 Released</title><content type='html'>Enunciate 1.21 has been officially released.&lt;br /&gt;&lt;br /&gt;Enunciate 1.21 provides support for generating a Java JSON client jar that is especially useful for Android development.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3029304570514610317-210830367706169462?l=news.webcohesion.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3029304570514610317/posts/default/210830367706169462'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3029304570514610317/posts/default/210830367706169462'/><link rel='alternate' type='text/html' href='http://news.webcohesion.com/2010/11/enunciate-121-released.html' title='Enunciate 1.21 Released'/><author><name>Ryan</name><uri>http://www.blogger.com/profile/07369054632415227664</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3029304570514610317.post-5122860170772726333</id><published>2010-06-10T11:33:00.001-07:00</published><updated>2010-06-10T11:33:30.237-07:00</updated><title type='text'>Enunciate 1.20 Released</title><content type='html'>Enunciate 1.20 has been officially released.&lt;br /&gt;&lt;br /&gt;Primary features include support for Spring 3, reuse of your custom GWT objects, better support for maps in JAXB, update to Jackson 1.5 and Jersey 1.2, and other bug fixes and and enhancements.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3029304570514610317-5122860170772726333?l=news.webcohesion.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3029304570514610317/posts/default/5122860170772726333'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3029304570514610317/posts/default/5122860170772726333'/><link rel='alternate' type='text/html' href='http://news.webcohesion.com/2010/06/enunciate-120-released.html' title='Enunciate 1.20 Released'/><author><name>Ryan</name><uri>http://www.blogger.com/profile/07369054632415227664</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3029304570514610317.post-6512215742441498396</id><published>2009-12-23T14:01:00.001-08:00</published><updated>2009-12-23T14:02:01.032-08:00</updated><title type='text'>Enunciate 1.17 Released</title><content type='html'>&lt;p&gt;Enunciate 1.17 has been released. This is primarily a maintenance release with some minor bug fixes and enhancements&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3029304570514610317-6512215742441498396?l=news.webcohesion.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3029304570514610317/posts/default/6512215742441498396'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3029304570514610317/posts/default/6512215742441498396'/><link rel='alternate' type='text/html' href='http://news.webcohesion.com/2009/12/enunciate-117-released.html' title='Enunciate 1.17 Released'/><author><name>Ryan</name><uri>http://www.blogger.com/profile/07369054632415227664</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3029304570514610317.post-2232912209295307704</id><published>2009-03-13T14:21:00.000-07:00</published><updated>2009-03-13T14:23:10.323-07:00</updated><title type='text'>Enunciate 1.10 Released</title><content type='html'>&lt;p&gt;&lt;a href="http://enunciate.codehaus.org"&gt;Enunciate 1.10&lt;/a&gt; has been released.&lt;/p&gt;&lt;p&gt;Enunciate 1.10 now includes support for generating &lt;a href="http://enunciate.codehaus.org/module_csharp.html"&gt;C# client-side code&lt;/a&gt; and &lt;a href="http://docs.codehaus.org/display/ENUNCIATE/AMF+and+REST"&gt;AMF REST endpoints&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3029304570514610317-2232912209295307704?l=news.webcohesion.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3029304570514610317/posts/default/2232912209295307704'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3029304570514610317/posts/default/2232912209295307704'/><link rel='alternate' type='text/html' href='http://news.webcohesion.com/2009/03/enunciate-110-released.html' title='Enunciate 1.10 Released'/><author><name>Ryan</name><uri>http://www.blogger.com/profile/07369054632415227664</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3029304570514610317.post-524819354222500061</id><published>2008-10-28T15:39:00.000-07:00</published><updated>2008-10-28T15:45:41.985-07:00</updated><title type='text'>Enunciate 1.8: JAX-RS and GWT 1.5</title><content type='html'>&lt;p&gt;&lt;a href="http://enunciate.codehaus.org"&gt;Enunciate 1.8&lt;/a&gt; has been released!&lt;/p&gt;&lt;p&gt;Enunciate 1.8 now includes support for &lt;a href="https://jsr311.dev.java.net/"&gt;JAX-RS&lt;/a&gt; annotations and &lt;a href="http://code.google.com/webtoolkit/"&gt;GWT 1.5&lt;/a&gt;.  This release also includes a significant build infrastructure upgrade and numbers bug fixes and enhancements.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3029304570514610317-524819354222500061?l=news.webcohesion.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3029304570514610317/posts/default/524819354222500061'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3029304570514610317/posts/default/524819354222500061'/><link rel='alternate' type='text/html' href='http://news.webcohesion.com/2008/10/enunciate-18-jax-rs-and-gwt-15.html' title='Enunciate 1.8: JAX-RS and GWT 1.5'/><author><name>Ryan</name><uri>http://www.blogger.com/profile/07369054632415227664</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3029304570514610317.post-1899490346361377945</id><published>2008-07-21T09:35:00.000-07:00</published><updated>2008-07-21T09:42:27.603-07:00</updated><title type='text'>OFX4J Released</title><content type='html'>&lt;p&gt;&lt;a href="http://ofx4j.sourceforge.net"&gt;OFX4J&lt;/a&gt; has been released!&lt;/p&gt;&lt;p&gt;&lt;a href="http://ofx4j.sourceforge.net"&gt;OFX4J&lt;/a&gt; is a Java implementation of &lt;a href="http://ofx.net/"&gt;Open Financial Exchange&lt;/a&gt;, which defines web service APIs for interfacing with financial institutions. The OFX4J library includes support for both client-side and server-side implementations of both version 1 and version 2 of the OFX specification.&lt;/p&gt;&lt;p&gt;&lt;a href="http://ofx4j.sourceforge.net"&gt;http://ofx4j.sourceforge.net&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3029304570514610317-1899490346361377945?l=news.webcohesion.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3029304570514610317/posts/default/1899490346361377945'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3029304570514610317/posts/default/1899490346361377945'/><link rel='alternate' type='text/html' href='http://news.webcohesion.com/2008/07/ofx4j-released.html' title='OFX4J Released'/><author><name>Ryan</name><uri>http://www.blogger.com/profile/07369054632415227664</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3029304570514610317.post-7246354828894605159</id><published>2008-05-15T10:43:00.000-07:00</published><updated>2008-05-15T10:51:57.717-07:00</updated><title type='text'>OAuth for Spring Security</title><content type='html'>&lt;p&gt;&lt;a href="http://spring-security-oauth.codehaus.org"&gt;OAuth for Spring Security&lt;/a&gt; has been released!.&lt;/p&gt;&lt;p&gt;&lt;b&gt;OAuth for Spring Security&lt;/b&gt; is a new library that is designed to provide &lt;a href="http://oauth.net"&gt;OAuth&lt;/a&gt; support for developers using &lt;a href="http://www.springframework.org/"&gt;Spring&lt;/a&gt; and &lt;a href="http://static.springframework.org/spring-security/site/index.html"&gt;Spring Security&lt;/a&gt;. The project includes support for both the OAuth consumer and the OAuth provider as well as sample applications that demonstrate how the libraries are to be applied.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://spring-security-oauth.codehaus.org"&gt;http://spring-security-oauth.codehaus.org&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3029304570514610317-7246354828894605159?l=news.webcohesion.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3029304570514610317/posts/default/7246354828894605159'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3029304570514610317/posts/default/7246354828894605159'/><link rel='alternate' type='text/html' href='http://news.webcohesion.com/2008/05/oauth-for-spring-security.html' title='OAuth for Spring Security'/><author><name>Ryan</name><uri>http://www.blogger.com/profile/07369054632415227664</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3029304570514610317.post-3999416111291439470</id><published>2008-05-06T15:12:00.000-07:00</published><updated>2008-05-06T15:17:55.909-07:00</updated><title type='text'>Enunciate 1.7: Security and Custom Content Types</title><content type='html'>&lt;p&gt;Enunciate 1.7 has been released!&lt;/p&gt;&lt;p&gt;The primary feature of Enunciate 1.7 is support for securing your Web service endpoints using Spring Security.  There is additional support for OAuth, with OpenID and WS-Security planned for 1.8.&lt;/p&gt;&lt;p&gt;In addition, Enunciate 1.7 introduces the concept of custom REST content types, which you can use to support custom serialization formats for REST responses (beyond the default XML and JSON endpoints).&lt;/p&gt;&lt;p&gt;Enjoy!&lt;/p&gt;&lt;p&gt;&lt;a href="http://enunciate.codehaus.org"&gt;http://enunciate.codehaus.org&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3029304570514610317-3999416111291439470?l=news.webcohesion.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3029304570514610317/posts/default/3999416111291439470'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3029304570514610317/posts/default/3999416111291439470'/><link rel='alternate' type='text/html' href='http://news.webcohesion.com/2008/05/enunciate-17-security-and-custom.html' title='Enunciate 1.7: Security and Custom Content Types'/><author><name>Ryan</name><uri>http://www.blogger.com/profile/07369054632415227664</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3029304570514610317.post-4007131439773509901</id><published>2007-10-22T15:48:00.000-07:00</published><updated>2008-03-21T10:01:58.413-07:00</updated><title type='text'>Enunciate 1.5</title><content type='html'>&lt;p&gt;Enunciate 1.5 was released with support for GWT application development.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3029304570514610317-4007131439773509901?l=news.webcohesion.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3029304570514610317/posts/default/4007131439773509901'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3029304570514610317/posts/default/4007131439773509901'/><link rel='alternate' type='text/html' href='http://news.webcohesion.com/2007/10/enunciate-15.html' title='Enunciate 1.5'/><author><name>Ryan</name><uri>http://www.blogger.com/profile/07369054632415227664</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3029304570514610317.post-7090397519309162161</id><published>2007-04-17T15:47:00.000-07:00</published><updated>2008-03-21T10:01:32.033-07:00</updated><title type='text'>Enunciate 1.1</title><content type='html'>&lt;p&gt;Enunciate 1.1 was released with support for Maven 2. This release also includes certain bug fixes and better error messsages.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3029304570514610317-7090397519309162161?l=news.webcohesion.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3029304570514610317/posts/default/7090397519309162161'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3029304570514610317/posts/default/7090397519309162161'/><link rel='alternate' type='text/html' href='http://news.webcohesion.com/2007/04/enunciate-11.html' title='Enunciate 1.1'/><author><name>Ryan</name><uri>http://www.blogger.com/profile/07369054632415227664</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3029304570514610317.post-7429891490414257679</id><published>2007-03-22T15:43:00.000-07:00</published><updated>2008-03-21T10:01:08.920-07:00</updated><title type='text'>Enunciate 1.0</title><content type='html'>&lt;p&gt;Web Cohesion is pleased to announce the release of &lt;a href="http://enunciate.codehaus.org/"&gt;Enunciate 1.0&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;&lt;a href="http://enunciate.codehaus.org"&gt;Enunciate&lt;/a&gt; is an open-source Web service deployment framework. The idea is simple: you develop your complete Web service API in source code. Make sure it's well-documented and that the metadata is correct, but don't worry about deployment descriptors, servlet configuration, packaging, or even interoperability.&lt;/p&gt;&lt;p&gt;From your source code, Enunciate will build a fully-documented, interoperable web application in the form of a web application archive (war file). A &lt;a href="http://enunciate.codehaus.org/index.html#consolidated_contract"&gt;consolidated, annotated XML contract&lt;/a&gt; is generated at compile-time. Each service class is published as a SOAP endpoint, a REST endpoint, and a JSON endpoint according to the supplied metadata. Enunciate leverages &lt;a href="http://java.sun.com/webservices/jaxws/"&gt;JAX-WS&lt;/a&gt; and &lt;a href="https://jaxb.dev.java.net/"&gt;JAXB&lt;/a&gt; annotations, but is not a full implementation of either of those specifications.&lt;/p&gt;&lt;p&gt;Enunciate enables code-first development, but enforces interoperability at compile-time (the &lt;a href="compiled_contract.html"&gt;"compiled contract" development model&lt;/a&gt;). Client-side libraries for multiple platforms are also generated and made available for download from the web application.&lt;/p&gt;&lt;p&gt;Be sure to walk through the &lt;a href="http://enunciate.codehaus.org/getting_started.html"&gt;getting started guide&lt;/a&gt;, where you'll see an example of the straightforward, enabling approach to Web service development that Enunciate facilitates. And the &lt;a href="http://enunciate.codehaus.org/getting_started.html"&gt;getting started guide&lt;/a&gt; is more than just a "Hello, World" example; it's got multiple services, complex objects, web faults, and binary attachments.&lt;/p&gt;&lt;p&gt;1.0 is only the first public release version of Enunciate; there are a lot more features planned on the &lt;a href="http://docs.codehaus.org/display/ENUNCIATE/Roadmap"&gt;roadmap&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3029304570514610317-7429891490414257679?l=news.webcohesion.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3029304570514610317/posts/default/7429891490414257679'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3029304570514610317/posts/default/7429891490414257679'/><link rel='alternate' type='text/html' href='http://news.webcohesion.com/2007/03/enunciate-10.html' title='Enunciate 1.0'/><author><name>Ryan</name><uri>http://www.blogger.com/profile/07369054632415227664</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3029304570514610317.post-6054027811552870830</id><published>2007-03-19T15:37:00.000-07:00</published><updated>2008-03-21T09:58:19.137-07:00</updated><title type='text'>Compiled Contract Published</title><content type='html'>&lt;p&gt;Web Cohesion is pleased to publish the first draft of &lt;a href="compiled_contract.html"&gt;Compiled Contract&lt;/a&gt;. Compiled contract is a development model for Web service programming. It is a resolution between the two opposing philosophies of web service development, &lt;a href="compiled_contract.html#3_1"&gt;contract-first&lt;/a&gt; and &lt;a href="compiled_contract.html#3_2"&gt;code-first&lt;/a&gt;, claiming the major benefits of both. The web service API is built and maintained in source code, but developers are &lt;i&gt;warned at compile time&lt;/i&gt; about the possible ambiguities and interoperability issues in the generated contract. The compiled contract model is formalized in &lt;a href="compiled_contract.html"&gt;this document&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3029304570514610317-6054027811552870830?l=news.webcohesion.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3029304570514610317/posts/default/6054027811552870830'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3029304570514610317/posts/default/6054027811552870830'/><link rel='alternate' type='text/html' href='http://news.webcohesion.com/2008/03/compiled-contract-published.html' title='Compiled Contract Published'/><author><name>Ryan</name><uri>http://www.blogger.com/profile/07369054632415227664</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry></feed>
