<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: WSDL first development?  Are they crazy?</title>
	<atom:link href="http://blog.markturansky.com/archives/94/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.markturansky.com/archives/94</link>
	<description>software architecture &#38; engineering, code hints, sometimes philosophy, photography, life, etc.</description>
	<lastBuildDate>Thu, 19 Jan 2012 14:26:50 -0500</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Stonie</title>
		<link>http://blog.markturansky.com/archives/94/comment-page-1#comment-1213</link>
		<dc:creator>Stonie</dc:creator>
		<pubDate>Fri, 18 Sep 2009 00:54:10 +0000</pubDate>
		<guid isPermaLink="false">http://blog.markturansky.com/archives/94#comment-1213</guid>
		<description>It&#039;s callled &quot;contract first development&quot; and makes a lot of sense on large integrations. 
Working in XSD is easy once you get the hang of it, and works across all platforms/languages etc..

http://static.springsource.org/spring-ws/sites/1.5/reference/html/why-contract-first.html
http://msdn.microsoft.com/en-us/magazine/cc163783.aspx</description>
		<content:encoded><![CDATA[<p>It&#8217;s callled &#8220;contract first development&#8221; and makes a lot of sense on large integrations.<br />
Working in XSD is easy once you get the hang of it, and works across all platforms/languages etc..</p>
<p><a href="http://static.springsource.org/spring-ws/sites/1.5/reference/html/why-contract-first.html" rel="nofollow">http://static.springsource.org/spring-ws/sites/1.5/reference/html/why-contract-first.html</a><br />
<a href="http://msdn.microsoft.com/en-us/magazine/cc163783.aspx" rel="nofollow">http://msdn.microsoft.com/en-us/magazine/cc163783.aspx</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Joachim</title>
		<link>http://blog.markturansky.com/archives/94/comment-page-1#comment-973</link>
		<dc:creator>Joachim</dc:creator>
		<pubDate>Tue, 27 Jan 2009 18:29:12 +0000</pubDate>
		<guid isPermaLink="false">http://blog.markturansky.com/archives/94#comment-973</guid>
		<description>better yet, express your service contract in XSD, generate xml-&gt;java binding objects using JAXB, and annotate service methods using JSR-181.

When xfire/cxf say &quot;WSDL first&quot;, what they mean conceptually is &quot;Contract First&quot;.  They have just chosen to start with WSDL because it is less complex (single file).

Just using JSR-181 to annotate service methods but using java-based parameters that are automagically converted to WSDL can lead to arbitrary interface changes as developers refactor.  XSD-&gt;Java using JAXB helps with this because WSDL uses XSD to describe endpoint messages, so the Java-&gt;WSDL generation is cleaner.</description>
		<content:encoded><![CDATA[<p>better yet, express your service contract in XSD, generate xml-&gt;java binding objects using JAXB, and annotate service methods using JSR-181.</p>
<p>When xfire/cxf say &#8220;WSDL first&#8221;, what they mean conceptually is &#8220;Contract First&#8221;.  They have just chosen to start with WSDL because it is less complex (single file).</p>
<p>Just using JSR-181 to annotate service methods but using java-based parameters that are automagically converted to WSDL can lead to arbitrary interface changes as developers refactor.  XSD-&gt;Java using JAXB helps with this because WSDL uses XSD to describe endpoint messages, so the Java-&gt;WSDL generation is cleaner.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Alex Shneyderman</title>
		<link>http://blog.markturansky.com/archives/94/comment-page-1#comment-971</link>
		<dc:creator>Alex Shneyderman</dc:creator>
		<pubDate>Tue, 27 Jan 2009 07:38:11 +0000</pubDate>
		<guid isPermaLink="false">http://blog.markturansky.com/archives/94#comment-971</guid>
		<description>There things you can express in schema that you can not in java. xs:choice comes to mind. So, 

 
  
 

would look like this in in java 

class Blah { 
  String el1; 
  String el2 
}

I guess you could argue that annotations could be used to specify the choice but that would be just as painful. 

Then you got max/min number of elements, xs:restrictions (re-defined collections of children), and there are probably more.</description>
		<content:encoded><![CDATA[<p>There things you can express in schema that you can not in java. xs:choice comes to mind. So, </p>
<p>would look like this in in java </p>
<p>class Blah {<br />
  String el1;<br />
  String el2<br />
}</p>
<p>I guess you could argue that annotations could be used to specify the choice but that would be just as painful. </p>
<p>Then you got max/min number of elements, xs:restrictions (re-defined collections of children), and there are probably more.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Anil Datt</title>
		<link>http://blog.markturansky.com/archives/94/comment-page-1#comment-856</link>
		<dc:creator>Anil Datt</dc:creator>
		<pubDate>Tue, 26 Aug 2008 14:27:57 +0000</pubDate>
		<guid isPermaLink="false">http://blog.markturansky.com/archives/94#comment-856</guid>
		<description>Well, It is good approach when you are looking for the service interface perspective. Unfortunately, there are not many tools at this stage that is helping this approach. It may not make sense for someone who are planning to write bunch of webservices and expose them, but this approach helps when you have a larger eneterprise systems with a lot of servcies to be designed.</description>
		<content:encoded><![CDATA[<p>Well, It is good approach when you are looking for the service interface perspective. Unfortunately, there are not many tools at this stage that is helping this approach. It may not make sense for someone who are planning to write bunch of webservices and expose them, but this approach helps when you have a larger eneterprise systems with a lot of servcies to be designed.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Eric Burke</title>
		<link>http://blog.markturansky.com/archives/94/comment-page-1#comment-822</link>
		<dc:creator>Eric Burke</dc:creator>
		<pubDate>Tue, 29 Jul 2008 19:32:30 +0000</pubDate>
		<guid isPermaLink="false">http://blog.markturansky.com/archives/94#comment-822</guid>
		<description>I don&#039;t ever want to type that many &quot;less than&quot; characters in my blog.</description>
		<content:encoded><![CDATA[<p>I don&#8217;t ever want to type that many &#8220;less than&#8221; characters in my blog.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Seiti</title>
		<link>http://blog.markturansky.com/archives/94/comment-page-1#comment-808</link>
		<dc:creator>Seiti</dc:creator>
		<pubDate>Sat, 19 Jul 2008 21:24:31 +0000</pubDate>
		<guid isPermaLink="false">http://blog.markturansky.com/archives/94#comment-808</guid>
		<description>Looks like a very bad case of the Abstract Inversion sindrome.
(http://c2.com/cgi-bin/wiki?AbstractionInversion)</description>
		<content:encoded><![CDATA[<p>Looks like a very bad case of the Abstract Inversion sindrome.<br />
(<a href="http://c2.com/cgi-bin/wiki?AbstractionInversion)" rel="nofollow">http://c2.com/cgi-bin/wiki?AbstractionInversion)</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: pla pla</title>
		<link>http://blog.markturansky.com/archives/94/comment-page-1#comment-804</link>
		<dc:creator>pla pla</dc:creator>
		<pubDate>Sat, 19 Jul 2008 15:16:36 +0000</pubDate>
		<guid isPermaLink="false">http://blog.markturansky.com/archives/94#comment-804</guid>
		<description>[...] WSDL first development? Are they crazy?  Filed under Technology [...]</description>
		<content:encoded><![CDATA[<p>[...] WSDL first development? Are they crazy?  Filed under Technology [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: brad</title>
		<link>http://blog.markturansky.com/archives/94/comment-page-1#comment-790</link>
		<dc:creator>brad</dc:creator>
		<pubDate>Tue, 15 Jul 2008 17:17:01 +0000</pubDate>
		<guid isPermaLink="false">http://blog.markturansky.com/archives/94#comment-790</guid>
		<description>I&#039;ve run into this situation with an internal team, but I can&#039;t believe it is being recommended as a best practice on one of the premier web services frameworks.  WSDL is so clearly not intended to written by or read by human beings, I don&#039;t understand how developers get this equation so wrong.  Having CXF document this as a best practice is, frankly, astounding to me and makes me weep for the future.  Development just keeps getting more and more insane every year.</description>
		<content:encoded><![CDATA[<p>I&#8217;ve run into this situation with an internal team, but I can&#8217;t believe it is being recommended as a best practice on one of the premier web services frameworks.  WSDL is so clearly not intended to written by or read by human beings, I don&#8217;t understand how developers get this equation so wrong.  Having CXF document this as a best practice is, frankly, astounding to me and makes me weep for the future.  Development just keeps getting more and more insane every year.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Alex Miller</title>
		<link>http://blog.markturansky.com/archives/94/comment-page-1#comment-763</link>
		<dc:creator>Alex Miller</dc:creator>
		<pubDate>Thu, 10 Jul 2008 03:29:43 +0000</pubDate>
		<guid isPermaLink="false">http://blog.markturansky.com/archives/94#comment-763</guid>
		<description>What, you got something else to do?</description>
		<content:encoded><![CDATA[<p>What, you got something else to do?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Carl Byström</title>
		<link>http://blog.markturansky.com/archives/94/comment-page-1#comment-762</link>
		<dc:creator>Carl Byström</dc:creator>
		<pubDate>Wed, 09 Jul 2008 16:00:00 +0000</pubDate>
		<guid isPermaLink="false">http://blog.markturansky.com/archives/94#comment-762</guid>
		<description>Don&#039;t drop the SOAP! :)

If you don&#039;t need the interoperability WSDL offers, check out Facebook&#039;s Thrift or Google&#039;s Protocol Buffers (which they just open-sourced)</description>
		<content:encoded><![CDATA[<p>Don&#8217;t drop the SOAP! <img src='http://blog.markturansky.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>If you don&#8217;t need the interoperability WSDL offers, check out Facebook&#8217;s Thrift or Google&#8217;s Protocol Buffers (which they just open-sourced)</p>
]]></content:encoded>
	</item>
</channel>
</rss>

