[prev in list] [next in list] [prev in thread] [next in thread] 

List:       extremeprogramming
Subject:    Re: [XP] Agile and SOA - WSDL Generated code is not Domain Model
From:       George Dinwiddie <lists () idiacomputing ! com>
Date:       2009-07-14 17:24:24
Message-ID: 4A5CBF48.4070601 () iDIAcomputing ! com
[Download RAW message or body]

Craig Davidson wrote:
> Hi Folks,
> 
> Short plug for my blog post about confusing WSDL generated code with domain
> model code:
> http://www.agileadvisor.com/2009/07/agile-soa-wsdl-generated-code-is-not.html

Good stuff, Craig.  Unfortunately, the "anemic domain model" seems to be 
in vogue in most of the places I've seen doing SOA.  Worse, it 
degenerates to "data objects" with "helpers" that operate on them.

  - George

-- 
  ----------------------------------------------------------------------
   * George Dinwiddie *                      http://blog.gdinwiddie.com
   Software Development                    http://www.idiacomputing.com
   Consultant and Coach                    http://www.agilemaryland.org
  ----------------------------------------------------------------------


[Attachment #3 (text/html)]

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" \
"http://www.w3.org/TR/html4/strict.dtd"> <html>
<head>
</head>




<body style="background-color: #ffffff;">

<!--~-|**|PrettyHtmlStartT|**|-~-->
<div id="ygrp-mlmsg" style="width:655px; position:relative;">
<div id="ygrp-msg" style="width: 470px; margin:0; padding:0 25px 0 0; float:left; \
z-index:1;"> <!--~-|**|PrettyHtmlEndT|**|-~-->

    <div id="ygrp-text" >
            <!--~-|**|PrettyHtmlStart|**|-~-->
            <br><br>
      <!--~-|**|PrettyHtmlEnd|**|-~-->
      <p>Craig Davidson wrote:<br>
&gt; Hi Folks,<br>
&gt; <br>
&gt; Short plug for my blog post about confusing WSDL generated code with domain<br>
&gt; model code:<br>
&gt; <a href="http://www.agileadvisor.com/2009/07/agile-soa-wsdl-generated-code-is-not \
.html">http://www.agileadv<wbr>isor.com/<wbr>2009/07/agile-<wbr>soa-wsdl-<wbr>generated-<wbr>code-is-not.<wbr>html</a><br>
 <br>
Good stuff, Craig.  Unfortunately, the &quot;anemic domain model&quot; seems to be \
<br> in vogue in most of the places I've seen doing SOA.  Worse, it <br>
degenerates to &quot;data objects&quot; with &quot;helpers&quot; that operate on \
them.<br> <br>
- George<br>
<br>
-- <br>
  ------------<wbr>---------<wbr>---------<wbr>---------<wbr>---------<wbr>---------<wbr>-<br>
                
   * George Dinwiddie *                      <a \
href="http://blog.gdinwiddie.com">http://blog.<wbr>gdinwiddie.<wbr>com</a><br>  \
Software Development                    <a \
href="http://www.idiacomputing.com">http://www.idiacomp<wbr>uting.com</a><br>  \
Consultant and Coach                    <a \
                href="http://www.agilemaryland.org">http://www.agilemar<wbr>yland.org</a><br>
                
  ------------<wbr>---------<wbr>---------<wbr>---------<wbr>---------<wbr>---------<wbr>-<br>
 <br>
</p>
 

    </div>  

    <!--~-|**|PrettyHtmlStart|**|-~-->
    <div width="1" style="color: white; clear: both;">__._,_.___</div>

           
  
    
    <!-- Start the section with Message In topic -->
    <div id="ygrp-actbar" style="clear: both; margini-bottom: 25px; \
white-space:nowrap; color: #666; text-align: right;">  <span class="left" \
style="float: left; white-space:nowrap;">  <a \
href="http://groups.yahoo.com/group/extremeprogramming/message/150983;_ylc=X3oDMTM4Nmx \
xMnNmBF9TAzk3MzU5NzE0BGdycElkAzE1MDU0MDkEZ3Jwc3BJZAMxNzA3Mjc2NzE4BG1zZ0lkAzE1MDk4NARzZWMDZnRyBHNsawN2dHBjBHN0aW1lAzEyNDc1OTIzMTQEdHBjSWQDMTUwOTgz">
                
            Messages in this topic          </a> (<span class="bld" \
style="font-weight:bold;">2</span>)  </span>
        <a href="http://groups.yahoo.com/group/extremeprogramming/post;_ylc=X3oDMTJyYz \
A1amZxBF9TAzk3MzU5NzE0BGdycElkAzE1MDU0MDkEZ3Jwc3BJZAMxNzA3Mjc2NzE4BG1zZ0lkAzE1MDk4NARzZWMDZnRyBHNsawNycGx5BHN0aW1lAzEyNDc1OTIzMTQ-?act=reply&messageNum=150984">
  <span class="bld" style="font-weight:bold;">
            Reply          </span> (via web post)
        </a>  | 
        <a href="http://groups.yahoo.com/group/extremeprogramming/post;_ylc=X3oDMTJlaX \
M0c2MyBF9TAzk3MzU5NzE0BGdycElkAzE1MDU0MDkEZ3Jwc3BJZAMxNzA3Mjc2NzE4BHNlYwNmdHIEc2xrA250cGMEc3RpbWUDMTI0NzU5MjMxNA--" \
class="bld" style="font-weight:bold;">  Start a new topic        </a>
          </div> 
    <!-------     Start Nav Bar  ------>
    <!-- |**|begin egp html banner|**| -->
    <div id="ygrp-vitnav" style="padding-top: 10px; font-family: Verdana; font-size: \
77%; margin: 0;">  <a \
href="http://groups.yahoo.com/group/extremeprogramming/messages;_ylc=X3oDMTJlM21tazQ5B \
F9TAzk3MzU5NzE0BGdycElkAzE1MDU0MDkEZ3Jwc3BJZAMxNzA3Mjc2NzE4BHNlYwNmdHIEc2xrA21zZ3MEc3RpbWUDMTI0NzU5MjMxNA--">Messages</a> \
  |    <a href="http://groups.yahoo.com/group/extremeprogramming/files;_ylc=X3oDMTJmdW \
1sMXYzBF9TAzk3MzU5NzE0BGdycElkAzE1MDU0MDkEZ3Jwc3BJZAMxNzA3Mjc2NzE4BHNlYwNmdHIEc2xrA2ZpbGVzBHN0aW1lAzEyNDc1OTIzMTQ-">Files</a> \
  |    <a href="http://groups.yahoo.com/group/extremeprogramming/photos;_ylc=X3oDMTJlc \
zBsaW8wBF9TAzk3MzU5NzE0BGdycElkAzE1MDU0MDkEZ3Jwc3BJZAMxNzA3Mjc2NzE4BHNlYwNmdHIEc2xrA3Bob3QEc3RpbWUDMTI0NzU5MjMxNA--">Photos</a> \
  |    <a href="http://groups.yahoo.com/group/extremeprogramming/links;_ylc=X3oDMTJmNG \
Y1YjVzBF9TAzk3MzU5NzE0BGdycElkAzE1MDU0MDkEZ3Jwc3BJZAMxNzA3Mjc2NzE4BHNlYwNmdHIEc2xrA2xpbmtzBHN0aW1lAzEyNDc1OTIzMTQ-">Links</a> \
  |    <a href="http://groups.yahoo.com/group/extremeprogramming/database;_ylc=X3oDMTJ \
jdG4wZmgzBF9TAzk3MzU5NzE0BGdycElkAzE1MDU0MDkEZ3Jwc3BJZAMxNzA3Mjc2NzE4BHNlYwNmdHIEc2xrA2RiBHN0aW1lAzEyNDc1OTIzMTQ-">Database</a> \
  |    <a href="http://groups.yahoo.com/group/extremeprogramming/polls;_ylc=X3oDMTJmZm \
NscjZiBF9TAzk3MzU5NzE0BGdycElkAzE1MDU0MDkEZ3Jwc3BJZAMxNzA3Mjc2NzE4BHNlYwNmdHIEc2xrA3BvbGxzBHN0aW1lAzEyNDc1OTIzMTQ-">Polls</a> \
  |    <a href="http://groups.yahoo.com/group/extremeprogramming/members;_ylc=X3oDMTJl \
bnRjYWdoBF9TAzk3MzU5NzE0BGdycElkAzE1MDU0MDkEZ3Jwc3BJZAMxNzA3Mjc2NzE4BHNlYwNmdHIEc2xrA21icnMEc3RpbWUDMTI0NzU5MjMxNA--">Members</a> \
  
    </div>  
    <!-- |**|end egp html banner|**| -->

                <div id="ygrp-grfd" style="font-family: Verdana; font-size: 77%; \
padding: 15px 0;">  
<!-- |**|begin egp html banner|**| -->

          To Post a message, send it to:&nbsp;&nbsp; \
extremeprogramming@eGroups.com<BR> <BR>
To Unsubscribe, send a blank message to: \
extremeprogramming-unsubscribe@eGroups.com<BR> <BR>
ad-free courtesy of objectmentor.com          
<!-- |**|end egp html banner|**| -->

              </div>
    
    <!-- yahoo logo -->
    <!-- |**|begin egp html banner|**| -->
    <div id="ygrp-ft" style="font-family: verdana; font-size: 77%; border-top: 1px \
solid #666; padding: 5px 0;">  <a \
href="http://groups.yahoo.com/;_ylc=X3oDMTJkYmV0a3VzBF9TAzk3MzU5NzE0BGdycElkAzE1MDU0MDkEZ3Jwc3BJZAMxNzA3Mjc2NzE4BHNlYwNmdHIEc2xrA2dmcARzdGltZQMxMjQ3NTkyMzE0">
                
      <img src="http://us.i1.yimg.com/us.yimg.com/i/yg/img/logo/ma_grp_160.gif" \
height="15" width="106" border="0" alt="Yahoo! Groups"></a> <br>  <a \
href="http://groups.yahoo.com/group/extremeprogramming/join;_ylc=X3oDMTJmb2NlM25vBF9TA \
zk3MzU5NzE0BGdycElkAzE1MDU0MDkEZ3Jwc3BJZAMxNzA3Mjc2NzE4BHNlYwNmdHIEc2xrA3N0bmdzBHN0aW1lAzEyNDc1OTIzMTQ-">Change \
settings via the Web</a> (Yahoo! ID required) <br>  Change settings via email: <a \
href="mailto:extremeprogramming-digest@yahoogroups.com?subject=Email Delivery: \
Digest">Switch delivery to Daily Digest</a> | <a href = \
"mailto:extremeprogramming-traditional@yahoogroups.com?subject=Change Delivery \
Format: Traditional">Switch format to Traditional</a> <br>

      <a href="http://groups.yahoo.com/group/extremeprogramming;_ylc=X3oDMTJkajlhaXJwB \
F9TAzk3MzU5NzE0BGdycElkAzE1MDU0MDkEZ3Jwc3BJZAMxNzA3Mjc2NzE4BHNlYwNmdHIEc2xrA2hwZgRzdGltZQMxMjQ3NTkyMzE0">
  Visit Your Group 
      </a> |
      <a href="http://docs.yahoo.com/info/terms/">
        Yahoo! Groups Terms of Use      </a> |
      <a href="mailto:extremeprogramming-unsubscribe@yahoogroups.com?subject=">
        Unsubscribe      </a> 
    </div>     <!-- |**|end egp html banner|**| -->
  </div> <!-- ygrp-msg -->

  
  <!-- Sponsor -->
  <!-- |**|begin egp html banner|**| -->
  <div id="ygrp-sponsor" style="width:160px; float:right; clear:none; margin:0 0 25px \
0; background: white;">  <!-- Network content -->
    
<!-- Start Recommendations -->
<div id="ygrp-reco">
     </div>
<!-- End Recommendations -->

	    <!-- Start vitality -->
	    <div id="ygrp-vital" style="background-color: #e0ecee; margin-bottom: 20px; \
                padding: 2px 0 8px 8px;">
	      		<div id="vithd" style="font-size: 77%; font-family: Verdana; font-weight: \
bold; color: #333; text-transform: uppercase;">Recent Activity</div>  <ul \
                style="list-style-type:none; padding: 0; margin: 2px 0;">
		        <li style="clear: both; list-style-type: none; border: 1px solid #e0ecee;">
      <div class="ct" style="float: right; font-weight: bold; color: #ff7900; float: \
right; width: 2em; text-align:right; padding-right: .5em;"><span \
style="display:none">&nbsp;</span>11</div>  <div class="cat" style="font-weight: \
bold;"><a href="http://groups.yahoo.com/group/extremeprogramming/members;_ylc=X3oDMTJm \
N2xtbmRlBF9TAzk3MzU5NzE0BGdycElkAzE1MDU0MDkEZ3Jwc3BJZAMxNzA3Mjc2NzE4BHNlYwN2dGwEc2xrA3ZtYnJzBHN0aW1lAzEyNDc1OTIzMTQ-">New \
Members</a></div>  </li>
  
		    
		    
		    
		    
		    
		</ul>
	      	      <a href="http://groups.yahoo.com/group/extremeprogramming;_ylc=X3oDMTJlY \
jEyN2ZnBF9TAzk3MzU5NzE0BGdycElkAzE1MDU0MDkEZ3Jwc3BJZAMxNzA3Mjc2NzE4BHNlYwN2dGwEc2xrA3ZnaHAEc3RpbWUDMTI0NzU5MjMxNA--">
  Visit Your Group	      </a>
	    </div> 
	    	    	      
	    <!-- Network content -->
	    	      <div style="background-color:#EEEEEE; margin-bottom:20px; padding:10px \
                8px;">    <div id="nc">
              <div class="ad" style="color:#628C2A; font-family:Arial; \
font-weight:bold;">  <div id="hd1">Give Back</div>
  <p><a href="http://us.lrd.yahoo.com/_ylc=X3oDMTJtcDAycHAzBF9TAzk3MzU5NzE0BF9wAzEEZ3J \
wSWQDMTUwNTQwOQRncnBzcElkAzE3MDcyNzY3MTgEc2VjA25jbW9kBHNsawNicmFuZARzdGltZQMxMjQ3NTkyMzE0;_ylg=1/SIG=11314uv3k/**http%3A//brand.yahoo.com/forgood" \
style="text-decoration:none; color:#1E66AE; font-weight: normal;">Yahoo! for \
Good</a></p>  <p style="color: #000000; font-weight: normal;">Get inspired</p>
  <p style="color: #000000; font-weight: normal;">by a good cause.</p>
                  </div>
                    <div class="ad" style="color:#628C2A; font-family:Arial; \
font-weight:bold;">  <div id="hd1">Y! Toolbar</div>
  <p><a href="http://us.lrd.yahoo.com/_ylc=X3oDMTJvN2JocmxkBF9TAzk3MzU5NzE0BF9wAzIEZ3J \
wSWQDMTUwNTQwOQRncnBzcElkAzE3MDcyNzY3MTgEc2VjA25jbW9kBHNsawN0b29sYmFyBHN0aW1lAzEyNDc1OTIzMTQ-;_ylg=1/SIG=11c6dvmk9/**http%3A//toolbar.yahoo.com/%3F.cpdl=ygrps" \
style="text-decoration:none; color:#1E66AE; font-weight: normal;">Get it \
Free!</a></p>  <p style="color: #000000; font-weight: normal;">easy 1-click \
access</p>  <p style="color: #000000; font-weight: normal;">to your groups.</p>
                  </div>
                    <div class="ad" style="color:#628C2A; font-family:Arial; \
font-weight:bold;">  <div id="hd1">Yahoo! Groups</div>
  <p><a href="http://groups.yahoo.com/start;_ylc=X3oDMTJvbTZwanE4BF9TAzk3MzU5NzE0BF9wA \
zMEZ3JwSWQDMTUwNTQwOQRncnBzcElkAzE3MDcyNzY3MTgEc2VjA25jbW9kBHNsawNncm91cHMyBHN0aW1lAzEyNDc1OTIzMTQ-" \
style="text-decoration:none; color:#1E66AE; font-weight: normal;">Start a \
group</a></p>  <p style="color: #000000; font-weight: normal;">in 3 easy steps.</p>
  <p style="color: #000000; font-weight: normal;">Connect with others.</p>
                  </div>
          </div>
</div>
	    
	  </div> 	  <!-- |**|end egp html banner|**| -->
	  <div style="clear:both; color: #FFF; font-size:1px;">.</div>
	</div> 		  <img src="http://geo.yahoo.com/serv?s=97359714/grpId=1505409/grpspId=1707276718/msgId=150984/stime=1247592314/nc1=1/nc2=2/nc3=3" \
width="1" height="1"> <br>  
	<div style="color: white; clear: both;">__,_._,___</div>
	<!--~-|**|PrettyHtmlEnd|**|-~-->
	</body>
	<!--~-|**|PrettyHtmlStart|**|-~-->
	<head>
<style type="text/css">
<!--
#ygrp-mkp{
  border: 1px solid #d8d8d8;
  font-family: Arial;
  margin: 14px 0px;
  padding: 0px 14px;
}
#ygrp-mkp hr{
  border: 1px solid #d8d8d8;
}
#ygrp-mkp #hd{
  color: #628c2a;
  font-size: 85%;
  font-weight: bold;
  line-height: 122%;
  margin: 10px 0px;
}
#ygrp-mkp #ads{
  margin-bottom: 10px;
}
#ygrp-mkp .ad{
  padding: 0 0;
}
#ygrp-mkp .ad a{
  color: #0000ff;
  text-decoration: none;
}
-->
</style>
</head>
	<head>
<style type="text/css">
<!--
#ygrp-sponsor #ygrp-lc{
  font-family: Arial;
}
#ygrp-sponsor #ygrp-lc #hd{
  margin: 10px 0px;
  font-weight: bold;
  font-size: 78%;
  line-height: 122%;
}
#ygrp-sponsor #ygrp-lc .ad{
  margin-bottom: 10px;
  padding: 0 0;
}
-->
</style>
</head>
	<head>
	<style type="text/css">
	<!--
	#ygrp-mlmsg {font-size:13px; font-family: \
arial,helvetica,clean,sans-serif;*font-size:small;*font:x-small;}  #ygrp-mlmsg table \
{font-size:inherit;font:100%;}  #ygrp-mlmsg select, input, textarea {font:99% \
arial,helvetica,clean,sans-serif;}  #ygrp-mlmsg pre, code {font:115% \
monospace;*font-size:100%;}  #ygrp-mlmsg * {line-height:1.22em;}
	#ygrp-text{
	    font-family: Georgia;	
	}
	#ygrp-text p{
	    margin: 0 0 1em 0;
	}

	dd.last p a {
          font-family: Verdana;
          font-weight: bold;
	}

	#ygrp-vitnav{
		padding-top: 10px;
		font-family: Verdana;
		font-size: 77%;
		margin: 0;
	}
	#ygrp-vitnav a{
		padding: 0 1px;
	}
	#ygrp-mlmsg #logo{
	  padding-bottom: 10px;
	}

	#ygrp-reco {
	margin-bottom: 20px;
	padding: 0px;
	}
	#ygrp-reco #reco-head {
		font-weight: bold;
		color: #ff7900;
	}

	#reco-category{
        	font-size: 77%;
	}
	#reco-desc{
        	font-size: 77%;
	}

	#ygrp-vital a{
		text-decoration: none;
	}

	#ygrp-vital a:hover{
	  text-decoration: underline;
	}

	#ygrp-sponsor #ov ul{
		padding: 0 0 0 8px;
		margin: 0;
	}
	#ygrp-sponsor #ov li{
		list-style-type: square;
		padding: 6px 0;
		font-size: 77%;
	}
	#ygrp-sponsor #ov li a{
		text-decoration: none;
		font-size: 130%;
	}
	#ygrp-sponsor #nc{
	  background-color: #eee;
	  margin-bottom: 20px;
	  padding: 0 8px;
	}
	#ygrp-sponsor .ad{
		padding: 8px 0;
	}
	#ygrp-sponsor .ad #hd1{
		font-family: Arial;
		font-weight: bold;
		color: #628c2a;
		font-size: 100%;
		line-height: 122%;
	}
	#ygrp-sponsor .ad a{
		text-decoration: none;
	}
	#ygrp-sponsor .ad a:hover{
		text-decoration: underline;
	}
	#ygrp-sponsor .ad p{
		margin: 0;
		font-weight: normal;
		color: #000000;
	}
	o{font-size: 0; }
	.MsoNormal{
	   margin: 0 0 0 0;
	}
	#ygrp-text tt{
	  font-size: 120%;
	}
	blockquote{margin: 0 0 0 4px;}
	.replbq{margin:4}

dd.last p span {
  margin-right: 10px;
  font-family: Verdana;
  font-weight: bold;
}

dd.last p span.yshortcuts {
  margin-right: 0;
}

div.photo-title a,
div.photo-title a:active,
div.photo-title a:hover,
div.photo-title a:visited {
    text-decoration: none;
}

div.file-title a,
div.file-title a:active,
div.file-title a:hover,
div.file-title a:visited {
    text-decoration: none;
}

#ygrp-msg p#attach-count {
    clear: both;
    padding: 15px 0 3px 0;
    overflow: hidden;
}

#ygrp-msg p#attach-count span {
    color: #1E66AE;
    font-weight: bold;
}

div#ygrp-mlmsg #ygrp-msg p a span.yshortcuts {
    font-family: Verdana;
    font-size: 10px;
    font-weight: normal;
}

#ygrp-msg p a {
    font-family: Verdana;
    font-size: 10px;
}

#ygrp-mlmsg a {
    color: #1E66AE;
}

div.attach-table div div a {
    text-decoration: none;
}

div.attach-table {
    width: 400px;
}

	-->
	</style>
	</head>
	<!--~-|**|PrettyHtmlEnd|**|-~-->
	</html><!--End group email -->



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic