<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.3.3" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>

<channel>
	<title>Groovy MDM</title>
	<link>http://douglasayers.com/MyBlog</link>
	<description>Making enterprise software simpler with scripting</description>
	<pubDate>Sat, 08 Aug 2009 18:51:24 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.3.3</generator>
	<language>en</language>
			<item>
		<title>sMash Demo: InfoSphere Gateway (3 of 3)</title>
		<link>http://douglasayers.com/MyBlog/?p=96</link>
		<comments>http://douglasayers.com/MyBlog/?p=96#comments</comments>
		<pubDate>Sat, 08 Aug 2009 18:51:24 +0000</pubDate>
		<dc:creator>Doog</dc:creator>
		
		<category><![CDATA[Zero Programming Experiment]]></category>

		<category><![CDATA[Fun With Software]]></category>

		<category><![CDATA[Groovy]]></category>

		<category><![CDATA[IBM]]></category>

		<category><![CDATA[InfoSphere]]></category>

		<category><![CDATA[Master Data Management]]></category>

		<category><![CDATA[MDM]]></category>

		<category><![CDATA[MDM Server]]></category>

		<category><![CDATA[sMash]]></category>

		<category><![CDATA[web 2.0]]></category>

		<category><![CDATA[WebSphere]]></category>

		<guid isPermaLink="false">http://douglasayers.com/MyBlog/?p=96</guid>
		<description><![CDATA[Here is the video that shows how easy it is to build a simple GUI for an MDM Server transaction.




]]></description>
			<content:encoded><![CDATA[<p>Here is the video that shows how easy it is to build a simple GUI for an MDM Server transaction.</p>
<p><object width="340" height="285">
<param name="movie" value="http://www.youtube.com/v/_4BuQze6LQM&#038;hl=en&#038;fs=1&#038;border=1"></param>
<param name="allowFullScreen" value="true"></param>
<param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/_4BuQze6LQM&#038;hl=en&#038;fs=1&#038;border=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="340" height="285"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://douglasayers.com/MyBlog/?feed=rss2&amp;p=96</wfw:commentRss>
		</item>
		<item>
		<title>sMash Demo: InfoSphere Gateway (2 of 3)</title>
		<link>http://douglasayers.com/MyBlog/?p=95</link>
		<comments>http://douglasayers.com/MyBlog/?p=95#comments</comments>
		<pubDate>Sat, 08 Aug 2009 18:45:07 +0000</pubDate>
		<dc:creator>Doog</dc:creator>
		
		<category><![CDATA[Zero Programming Experiment]]></category>

		<category><![CDATA[Fun With Software]]></category>

		<category><![CDATA[Groovy]]></category>

		<category><![CDATA[IBM]]></category>

		<category><![CDATA[InfoSphere]]></category>

		<category><![CDATA[Master Data Management]]></category>

		<category><![CDATA[MDM]]></category>

		<category><![CDATA[MDM Server]]></category>

		<category><![CDATA[sMash]]></category>

		<category><![CDATA[web 2.0]]></category>

		<category><![CDATA[WebSphere]]></category>

		<guid isPermaLink="false">http://douglasayers.com/MyBlog/?p=95</guid>
		<description><![CDATA[This video shows real, live web services making calls from the sMash environment to MDM Server through a simple http request.




]]></description>
			<content:encoded><![CDATA[<p>This video shows real, live web services making calls from the sMash environment to MDM Server through a simple http request.</p>
<p><object width="340" height="285">
<param name="movie" value="http://www.youtube.com/v/S_5eG-kIR-E&#038;hl=en&#038;fs=1&#038;border=1"></param>
<param name="allowFullScreen" value="true"></param>
<param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/S_5eG-kIR-E&#038;hl=en&#038;fs=1&#038;border=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="340" height="285"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://douglasayers.com/MyBlog/?feed=rss2&amp;p=95</wfw:commentRss>
		</item>
		<item>
		<title>sMash Demo: InfoSphere Gateway (1 of 3)</title>
		<link>http://douglasayers.com/MyBlog/?p=94</link>
		<comments>http://douglasayers.com/MyBlog/?p=94#comments</comments>
		<pubDate>Sat, 08 Aug 2009 18:41:09 +0000</pubDate>
		<dc:creator>Doog</dc:creator>
		
		<category><![CDATA[Zero Programming Experiment]]></category>

		<category><![CDATA[Fun With Software]]></category>

		<category><![CDATA[Groovy]]></category>

		<category><![CDATA[IBM]]></category>

		<category><![CDATA[InfoSphere]]></category>

		<category><![CDATA[Master Data Management]]></category>

		<category><![CDATA[MDM]]></category>

		<category><![CDATA[MDM Server]]></category>

		<category><![CDATA[sMash]]></category>

		<category><![CDATA[web 2.0]]></category>

		<category><![CDATA[WebSphere]]></category>

		<guid isPermaLink="false">http://douglasayers.com/MyBlog/?p=94</guid>
		<description><![CDATA[I&#8217;ve recorded a few videos showing the integration between InfoSphere MDM Server and WebSphere sMash.  There are three parts:

Resource Modeling Tool -  How you define attributes and labels for your demo
Web Services Calling MDMS - Real transactions invoked by a simple http requests
Building the UI - A two minute GUI

The display quality of the you [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve recorded a few videos showing the integration between InfoSphere MDM Server and WebSphere sMash.  There are three parts:</p>
<ol>
<li><strong>Resource Modeling Tool</strong> -  How you define attributes and labels for your demo</li>
<li><strong>Web Services Calling MDMS</strong> - Real transactions invoked by a simple http requests</li>
<li><strong>Building the UI</strong> - A two minute GUI</li>
</ol>
<p>The display quality of the you tube posts are not great, so I will eventually upload the high res recordings and post links here.  But for now, here is the you tube posting for part 1 of 3:</p>
<p><object width="340" height="285">
<param name="movie" value="http://www.youtube.com/v/YS_id2hw7DQ&amp;hl=en&amp;fs=1&amp;border=1"></param>
<param name="allowFullScreen" value="true"></param>
<param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/YS_id2hw7DQ&amp;hl=en&amp;fs=1&amp;border=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="340" height="285"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://douglasayers.com/MyBlog/?feed=rss2&amp;p=94</wfw:commentRss>
		</item>
		<item>
		<title>Primary Keys For Resources</title>
		<link>http://douglasayers.com/MyBlog/?p=93</link>
		<comments>http://douglasayers.com/MyBlog/?p=93#comments</comments>
		<pubDate>Sun, 02 Aug 2009 21:40:30 +0000</pubDate>
		<dc:creator>Doog</dc:creator>
		
		<category><![CDATA[Zero Programming Experiment]]></category>

		<category><![CDATA[InfoSphere]]></category>

		<category><![CDATA[Master Data Management]]></category>

		<category><![CDATA[MDM]]></category>

		<category><![CDATA[MDM Server]]></category>

		<category><![CDATA[RESTful web service]]></category>

		<category><![CDATA[sMash]]></category>

		<category><![CDATA[WebSphere]]></category>

		<category><![CDATA[Zero Programming]]></category>

		<guid isPermaLink="false">http://douglasayers.com/MyBlog/?p=93</guid>
		<description><![CDATA[Apparently, you can&#8217;t designate any arbitrary attribute as the resource identifier.  (At least, the model editor GUI does not support it.)  Rather, sMash just assumes the identifier will be an attribute called, &#8220;id&#8221;.
This became as issue when I tried to implement the delete and update services.  The sMash runtime should pass the identifier value in [...]]]></description>
			<content:encoded><![CDATA[<p>Apparently, you can&#8217;t designate any arbitrary attribute as the resource identifier.  (At least, the model editor GUI does not support it.)  Rather, sMash just assumes the identifier will be an attribute called, &#8220;id&#8221;.</p>
<p>This became as issue when I tried to implement the delete and update services.  The sMash runtime should pass the identifier value in the calling URL for the web service.  e.g. http://localhost:8080/resources/personModel/12358983622.  That tells the web service which instance to act on. But before I added &#8220;id&#8221; to my resource model, the URL did not have any identifier value tacked on the end.</p>
<p>I took a number of steps to correct this problem so I don&#8217;t know which ones actually made the difference.  First, I added an attribute called &#8220;id&#8221; to the resource model.  Second, I ran the console command to generate the tables for this resource.  Third, I replaced the resource handler code with ZRM.delegate() and tested the application using the default relational persistence.  That worked.  And when I rewired the app to the custom handler that hooks to MDM Server, it still worked.  I don&#8217;t know whether generating the tables was actually necessary.</p>
]]></content:encoded>
			<wfw:commentRss>http://douglasayers.com/MyBlog/?feed=rss2&amp;p=93</wfw:commentRss>
		</item>
		<item>
		<title>Two Handy Tools: Firebug &#038; Poster</title>
		<link>http://douglasayers.com/MyBlog/?p=90</link>
		<comments>http://douglasayers.com/MyBlog/?p=90#comments</comments>
		<pubDate>Thu, 30 Jul 2009 20:06:21 +0000</pubDate>
		<dc:creator>Doog</dc:creator>
		
		<category><![CDATA[Zero Programming Experiment]]></category>

		<category><![CDATA[Firebug]]></category>

		<category><![CDATA[InfoSphere]]></category>

		<category><![CDATA[JSON]]></category>

		<category><![CDATA[Master Data Management]]></category>

		<category><![CDATA[MDM]]></category>

		<category><![CDATA[MDM Server]]></category>

		<category><![CDATA[Poster]]></category>

		<category><![CDATA[RESTful web service]]></category>

		<category><![CDATA[sMash]]></category>

		<category><![CDATA[WebSphere]]></category>

		<category><![CDATA[Zero Programming]]></category>

		<guid isPermaLink="false">http://douglasayers.com/MyBlog/?p=90</guid>
		<description><![CDATA[Firebug and Poster are two very useful tools for web development.  Both are Firefox plug-ins.  (Gotta love open source.)
Poster is a simple http client that enabled me to test the RESTful web services before building the UI.  This is a great programming model.  Encapsulated, reusable services&#8230;but so much easier to build and use than the [...]]]></description>
			<content:encoded><![CDATA[<p><em>Firebug</em> and <em>Poster</em> are two very useful tools for web development.  Both are Firefox plug-ins.  (Gotta love open source.)</p>
<p>Poster is a simple http client that enabled me to test the RESTful web services before building the UI.  This is a great programming model.  Encapsulated, reusable services&#8230;but so much easier to build and use than the full blown, bulky web services we usually think of.  No WSDL, no SOAP messages, etc.</p>
<p><a href="http://douglasayers.com/MyBlog/wp-content/uploads/2009/07/ff_poster.JPG" title="Poster"><img src="http://douglasayers.com/MyBlog/wp-content/uploads/2009/07/ff_poster.thumbnail.JPG" alt="Poster" /></a></p>
<p>Firebug monitors the browser.  With it, I can watch all of the individual http calls when the application page loads.  Very useful when debugging.  But, Firebug does so much more.  Want to watch the javascript code execute?  Want to step through the javascript execution and set break points?</p>
<p><a href="http://douglasayers.com/MyBlog/wp-content/uploads/2009/07/ff_firebug.JPG" title="Firebug"><img src="http://douglasayers.com/MyBlog/wp-content/uploads/2009/07/ff_firebug.thumbnail.JPG" alt="Firebug" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://douglasayers.com/MyBlog/?feed=rss2&amp;p=90</wfw:commentRss>
		</item>
		<item>
		<title>Configuration Examples (Cont.): MDMS Handler Model</title>
		<link>http://douglasayers.com/MyBlog/?p=89</link>
		<comments>http://douglasayers.com/MyBlog/?p=89#comments</comments>
		<pubDate>Thu, 30 Jul 2009 19:00:39 +0000</pubDate>
		<dc:creator>Doog</dc:creator>
		
		<category><![CDATA[Zero Programming Experiment]]></category>

		<category><![CDATA[InfoSphere]]></category>

		<category><![CDATA[JSON]]></category>

		<category><![CDATA[Master Data Management]]></category>

		<category><![CDATA[MDM]]></category>

		<category><![CDATA[MDM Server]]></category>

		<category><![CDATA[RESTful web service]]></category>

		<category><![CDATA[sMash]]></category>

		<category><![CDATA[WebSphere]]></category>

		<category><![CDATA[Zero Programming]]></category>

		<guid isPermaLink="false">http://douglasayers.com/MyBlog/?p=89</guid>
		<description><![CDATA[The MDMS Handler model maps the RESTful web services invoked by sMash to MDM Server services.  Here is an example of the handler for the &#8220;person&#8221; resource.
/public/handlers/personModel.json:
{
&#8220;model&#8221;: &#8220;personModel&#8221;,
&#8220;CREATE&#8221;: {
&#8220;request_type&#8221;: &#8220;addPerson&#8221;,
&#8220;is_new_style_doc&#8221;: false,
&#8220;service_type&#8221;: &#8220;Tx&#8221;,
&#8220;wrapper_input&#8221;: &#8220;mdmPerson&#8221;,
&#8220;wrapper_output&#8221;: &#8220;mdmPersonSearch&#8221;
},
&#8220;DELETE&#8221;: {
&#8220;request_type&#8221;: &#8220;deletePerson&#8221;,
&#8220;is_new_style_doc&#8221;: false,
&#8220;service_type&#8221;: &#8220;Tx&#8221;,
&#8220;wrapper_input&#8221;: &#8220;mdmPerson&#8221;,
&#8220;wrapper_output&#8221;: &#8220;mdmPersonSearch&#8221;
},
&#8220;LIST&#8221;: {
&#8220;request_type&#8221;: &#8220;searchPerson&#8221;,
&#8220;is_new_style_doc&#8221;: false,
&#8220;service_type&#8221;: &#8220;Tx&#8221;,
&#8220;wrapper_input&#8221;: &#8220;mdmPersonSearch&#8221;,
&#8220;wrapper_output&#8221;: &#8220;mdmPersonSearchResult&#8221;
},
&#8220;RETRIEVE&#8221;: {
&#8220;request_type&#8221;: &#8220;getPerson&#8221;,
&#8220;is_new_style_doc&#8221;: false,
&#8220;service_type&#8221;: &#8220;Tx&#8221;,
&#8220;wrapper_input&#8221;: &#8220;mdmPerson&#8221;,
&#8220;wrapper_output&#8221;: &#8220;mdmPersonSearch&#8221;
},
&#8220;UPDATE&#8221;: {
&#8220;request_type&#8221;: &#8220;updatePerson&#8221;,
&#8220;is_new_style_doc&#8221;: false,
&#8220;service_type&#8221;: &#8220;Tx&#8221;,
&#8220;wrapper_input&#8221;: &#8220;mdmPerson&#8221;,
&#8220;wrapper_output&#8221;: &#8220;mdmPersonSearch&#8221;
}
}
]]></description>
			<content:encoded><![CDATA[<p>The MDMS Handler model maps the RESTful web services invoked by sMash to MDM Server services.  Here is an example of the handler for the &#8220;person&#8221; resource.</p>
<p><strong>/public/handlers/personModel.json</strong>:</p>
<blockquote><p><span class="block">{<br />
<span class="string">&#8220;model&#8221;</span>: <span class="string">&#8220;personModel&#8221;</span>,<br />
<span class="string">&#8220;CREATE&#8221;</span>: <span class="block">{<br />
<span class="string">&#8220;request_type&#8221;</span>: <span class="string">&#8220;addPerson&#8221;</span>,<br />
<span class="string">&#8220;is_new_style_doc&#8221;</span>: <span class="literal">false</span>,<br />
<span class="string">&#8220;service_type&#8221;</span>: <span class="string">&#8220;Tx&#8221;</span>,<br />
<span class="string">&#8220;wrapper_input&#8221;</span>: <span class="string">&#8220;mdmPerson&#8221;</span>,<br />
<span class="string">&#8220;wrapper_output&#8221;</span>: <span class="string">&#8220;mdmPersonSearch&#8221;</span><br />
}</span>,<br />
<span class="string">&#8220;DELETE&#8221;</span>: <span class="block">{<br />
<span class="string">&#8220;request_type&#8221;</span>: <span class="string">&#8220;deletePerson&#8221;</span>,<br />
<span class="string">&#8220;is_new_style_doc&#8221;</span>: <span class="literal">false</span>,<br />
<span class="string">&#8220;service_type&#8221;</span>: <span class="string">&#8220;Tx&#8221;</span>,<br />
<span class="string">&#8220;wrapper_input&#8221;</span>: <span class="string">&#8220;mdmPerson&#8221;</span>,<br />
<span class="string">&#8220;wrapper_output&#8221;</span>: <span class="string">&#8220;mdmPersonSearch&#8221;</span><br />
}</span>,<br />
<span class="string">&#8220;LIST&#8221;</span>: <span class="block">{<br />
<span class="string">&#8220;request_type&#8221;</span>: <span class="string">&#8220;searchPerson&#8221;</span>,<br />
<span class="string">&#8220;is_new_style_doc&#8221;</span>: <span class="literal">false</span>,<br />
<span class="string">&#8220;service_type&#8221;</span>: <span class="string">&#8220;Tx&#8221;</span>,<br />
<span class="string">&#8220;wrapper_input&#8221;</span>: <span class="string">&#8220;mdmPersonSearch&#8221;</span>,<br />
<span class="string">&#8220;wrapper_output&#8221;</span>: <span class="string">&#8220;mdmPersonSearchResult&#8221;</span><br />
}</span>,<br />
<span class="string">&#8220;RETRIEVE&#8221;</span>: <span class="block">{<br />
<span class="string">&#8220;request_type&#8221;</span>: <span class="string">&#8220;getPerson&#8221;</span>,<br />
<span class="string">&#8220;is_new_style_doc&#8221;</span>: <span class="literal">false</span>,<br />
<span class="string">&#8220;service_type&#8221;</span>: <span class="string">&#8220;Tx&#8221;</span>,<br />
<span class="string">&#8220;wrapper_input&#8221;</span>: <span class="string">&#8220;mdmPerson&#8221;</span>,<br />
<span class="string">&#8220;wrapper_output&#8221;</span>: <span class="string">&#8220;mdmPersonSearch&#8221;</span><br />
}</span>,<br />
<span class="string">&#8220;UPDATE&#8221;</span>: <span class="block">{<br />
<span class="string">&#8220;request_type&#8221;</span>: <span class="string">&#8220;updatePerson&#8221;</span>,<br />
<span class="string">&#8220;is_new_style_doc&#8221;</span>: <span class="literal">false</span>,<br />
<span class="string">&#8220;service_type&#8221;</span>: <span class="string">&#8220;Tx&#8221;</span>,<br />
<span class="string">&#8220;wrapper_input&#8221;</span>: <span class="string">&#8220;mdmPerson&#8221;</span>,<br />
<span class="string">&#8220;wrapper_output&#8221;</span>: <span class="string">&#8220;mdmPersonSearch&#8221;</span><br />
}</span><br />
}</span></p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://douglasayers.com/MyBlog/?feed=rss2&amp;p=89</wfw:commentRss>
		</item>
		<item>
		<title>Configuration Examples (Cont.): MDMS Wrapper Model</title>
		<link>http://douglasayers.com/MyBlog/?p=88</link>
		<comments>http://douglasayers.com/MyBlog/?p=88#comments</comments>
		<pubDate>Thu, 30 Jul 2009 18:29:58 +0000</pubDate>
		<dc:creator>Doog</dc:creator>
		
		<category><![CDATA[Zero Programming Experiment]]></category>

		<category><![CDATA[InfoSphere]]></category>

		<category><![CDATA[JSON]]></category>

		<category><![CDATA[Master Data Management]]></category>

		<category><![CDATA[MDM]]></category>

		<category><![CDATA[MDM Server]]></category>

		<category><![CDATA[RESTful web service]]></category>

		<category><![CDATA[sMash]]></category>

		<category><![CDATA[WebSphere]]></category>

		<category><![CDATA[Zero Programming]]></category>

		<guid isPermaLink="false">http://douglasayers.com/MyBlog/?p=88</guid>
		<description><![CDATA[The &#8220;wrapper&#8221; binds the sMash resource model to the MDM Server BObj, matching model attribute names to BObj xpaths.  This is the wrapper (represented in json like the resource model) for the TCRMPersonObj.  The sMash file editor insures correct json syntax, but I created this by typing it in manually.  In addition to attribute mapping [...]]]></description>
			<content:encoded><![CDATA[<p>The &#8220;wrapper&#8221; binds the sMash resource model to the MDM Server BObj, matching model attribute names to BObj xpaths.  This is the wrapper (represented in json like the resource model) for the TCRMPersonObj.  The sMash file editor insures correct json syntax, but I created this by typing it in manually.  In addition to attribute mapping information included in &#8220;public names&#8221;, the wrapper identifies the child BObjs of interest and points to the XML prototype for the BObj.  I&#8217;m not fully explaining the full format here.</p>
<p><strong>/public/wrappers/mdmPerson.json</strong>:</p>
<blockquote><p><span class="block">{<br />
<span class="string">&#8220;public_names&#8221;</span>: <span class="block">{<br />
<span class="string">&#8220;Id&#8221;</span>: <span class="block">{ <span class="string">&#8220;path&#8221;</span>: <span class="string">&#8220;PartyId&#8221;</span> }</span>,<br />
<span class="string">&#8220;First Name&#8221;</span>: <span class="block">{ <span class="string">&#8220;path&#8221;</span>: <span class="string">&#8220;TCRMPersonNameBObj/GivenNameOne&#8221;</span> }</span>,<br />
<span class="string">&#8220;Last Name&#8221;</span>: <span class="block">{ <span class="string">&#8220;path&#8221;</span>: <span class="string">&#8220;TCRMPersonNameBObj/LastName&#8221;</span> }</span>,<br />
<span class="string">&#8220;Contact Method&#8221;</span>: <span class="block">{ <span class="string">&#8220;path&#8221;</span>: <span class="string">&#8220;TCRMPartyContactMethodBObj&#8221;</span>, <span class="string">&#8220;child&#8221;</span>: <span class="string">&#8220;party_contact_method&#8221;</span> }</span>,<br />
<span class="string">&#8220;Phone&#8221;</span>: <span class="block">{ <span class="string">&#8220;path&#8221;</span>: <span class="string">&#8220;TCRMPartyContactMethodBObj&#8221;</span>, <span class="string">&#8220;child&#8221;</span>: <span class="string">&#8220;party_contact_method&#8221;</span>, <span class="string">&#8220;type_filter&#8221;</span>: <span class="string">&#8220;1&#8243;</span> }</span>,<br />
<span class="string">&#8220;Email&#8221;</span>: <span class="block">{ <span class="string">&#8220;path&#8221;</span>: <span class="string">&#8220;TCRMPartyContactMethodBObj&#8221;</span>, <span class="string">&#8220;child&#8221;</span>: <span class="string">&#8220;party_contact_method&#8221;</span>, <span class="string">&#8220;type_filter&#8221;</span>: <span class="string">&#8220;9&#8243;</span> }</span>,<br />
<span class="string">&#8220;Birthdate&#8221;</span>: <span class="block">{ <span class="string">&#8220;path&#8221;</span>: <span class="string">&#8220;BirthDate&#8221;</span> }</span>,<br />
<span class="string">&#8220;Gender&#8221;</span>: <span class="block">{ <span class="string">&#8220;path&#8221;</span>: <span class="string">&#8220;GenderType&#8221;</span> }</span>,<br />
<span class="string">&#8220;Soc Sec No&#8221;</span>: <span class="block">{ <span class="string">&#8220;path&#8221;</span>: <span class="string">&#8220;TCRMPartyIdentificationBObj/IdentificationNumber&#8221;</span> }</span>,<br />
<span class="string">&#8220;Address Line 1&#8243;</span>: <span class="block">{ <span class="string">&#8220;path&#8221;</span>: <span class="string">&#8220;TCRMPartyAddressBObj/TCRMAddressBObj/AddressLineOne&#8221;</span> }</span>,<br />
<span class="string">&#8220;Address Line 2&#8243;</span>: <span class="block">{ <span class="string">&#8220;path&#8221;</span>: <span class="string">&#8220;TCRMPartyAddressBObj/TCRMAddressBObj/AddressLineTwo&#8221;</span> }</span>,<br />
<span class="string">&#8220;City&#8221;</span>: <span class="block">{ <span class="string">&#8220;path&#8221;</span>: <span class="string">&#8220;TCRMPartyAddressBObj/TCRMAddressBObj/City&#8221;</span> }</span>,<br />
<span class="string">&#8220;State ID&#8221;</span>: <span class="block">{ <span class="string">&#8220;path&#8221;</span>: <span class="string">&#8220;TCRMPartyAddressBObj/TCRMAddressBObj/ProvinceStateType&#8221;</span> }</span>,<br />
<span class="string">&#8220;State&#8221;</span>: <span class="block">{ <span class="string">&#8220;path&#8221;</span>: <span class="string">&#8220;TCRMPartyAddressBObj/TCRMAddressBObj/ProvinceStateValue&#8221;</span> }</span>,<br />
<span class="string">&#8220;Zip&#8221;</span>: <span class="block">{ <span class="string">&#8220;path&#8221;</span>: <span class="string">&#8220;TCRMPartyAddressBObj/TCRMAddressBObj/ZipPostalCode&#8221;</span> }</span>,<br />
<span class="string">&#8220;Country ID&#8221;</span>: <span class="block">{ <span class="string">&#8220;path&#8221;</span>: <span class="string">&#8220;TCRMPartyAddressBObj/TCRMAddressBObj/CountryType&#8221;</span> }</span>,<br />
<span class="string">&#8220;Country&#8221;</span>: <span class="block">{ <span class="string">&#8220;path&#8221;</span>: <span class="string">&#8220;TCRMPartyAddressBObj/TCRMAddressBObj/CountryValue&#8221;</span> }</span>,<br />
<span class="string">&#8220;Faves&#8221;</span>: <span class="block">{ <span class="string">&#8220;path&#8221;</span>: <span class="string">&#8220;TCRMPartyValueBObj&#8221;</span>, <span class="string">&#8220;child&#8221;</span>: <span class="string">&#8220;party_value&#8221;</span> }</span><br />
}</span>,<br />
<span class="string">&#8220;children&#8221;</span>: <span class="block">{<br />
<span class="string">&#8220;party_contact_method&#8221;</span>: <span class="string">&#8220;mdmPartyContactMethod&#8221;</span>,<br />
<span class="string">&#8220;party_value&#8221;</span>: <span class="string">&#8220;mdmPartyValue&#8221;</span><br />
}</span>,<br />
<span class="string">&#8220;xml&#8221;</span>: <span class="string">&#8220;TCRMPersonBObj&#8221;</span><br />
}</span></p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://douglasayers.com/MyBlog/?feed=rss2&amp;p=88</wfw:commentRss>
		</item>
		<item>
		<title>Configuration Examples: sMash Resource Model</title>
		<link>http://douglasayers.com/MyBlog/?p=87</link>
		<comments>http://douglasayers.com/MyBlog/?p=87#comments</comments>
		<pubDate>Thu, 30 Jul 2009 17:50:50 +0000</pubDate>
		<dc:creator>Doog</dc:creator>
		
		<category><![CDATA[Zero Programming Experiment]]></category>

		<category><![CDATA[InfoSphere]]></category>

		<category><![CDATA[JSON]]></category>

		<category><![CDATA[Master Data Management]]></category>

		<category><![CDATA[MDM]]></category>

		<category><![CDATA[MDM Server]]></category>

		<category><![CDATA[sMash]]></category>

		<category><![CDATA[WebSphere]]></category>

		<category><![CDATA[Zero Programming]]></category>

		<guid isPermaLink="false">http://douglasayers.com/MyBlog/?p=87</guid>
		<description><![CDATA[This is what a sMash resource model looks like.  Models describe resource attributes and optionally define collections and filter conditions.  This is a model for a &#8220;person&#8221; which would correspond to an MDM Server TCRMPersonBObj.  sMash provides GUI tools to create these models.  For my MDM Server application in this environment, I&#8217;m creating one resource [...]]]></description>
			<content:encoded><![CDATA[<p>This is what a sMash resource model looks like.  Models describe resource attributes and optionally define collections and filter conditions.  This is a model for a &#8220;person&#8221; which would correspond to an MDM Server TCRMPersonBObj.  sMash provides GUI tools to create these models.  For my MDM Server application in this environment, I&#8217;m creating one resource model for each enity of interest, e.g. person, contract,product, etc.</p>
<p>Models by intention present a simplified, flattened out view of the entity.  That is, they won&#8217;t include all of the attributes or all of the nested object relationshipships.  (MDM Server flattens out objects too, by the way.  Look at the difference between a TCRMPersonSearchResultBObj and a TCRMPersonBObj.)</p>
<p><strong>/app/resources/personModel.json</strong>:</p>
<blockquote><p>{<br />
&#8220;fields&#8221;: {<br />
&#8220;FirstName&#8221;: {<br />
&#8220;label&#8221;: &#8220;First Name&#8221;,<br />
&#8220;required&#8221;: false,<br />
&#8220;type&#8221;: &#8220;string&#8221;,<br />
&#8220;description&#8221;: &#8220;&#8221;,<br />
&#8220;default_value&#8221;: &#8220;&#8221;,<br />
&#8220;max_length&#8221;: 50<br />
},<br />
&#8220;LastName&#8221;: {<br />
&#8220;label&#8221;: &#8220;Last Name&#8221;,<br />
&#8220;required&#8221;: false,<br />
&#8220;type&#8221;: &#8220;string&#8221;,<br />
&#8220;description&#8221;: &#8220;&#8221;,<br />
&#8220;default_value&#8221;: &#8220;&#8221;,<br />
&#8220;max_length&#8221;: 50<br />
},<br />
&#8220;Phone&#8221;: {<br />
&#8220;label&#8221;: &#8220;Phone.Listing&#8221;,<br />
&#8220;required&#8221;: true,<br />
&#8220;type&#8221;: &#8220;string&#8221;,<br />
&#8220;description&#8221;: &#8220;&#8221;,<br />
&#8220;default_value&#8221;: &#8220;&#8221;,<br />
&#8220;max_length&#8221;: 50<br />
},<br />
&#8220;SocSecNo&#8221;: {<br />
&#8220;label&#8221;: &#8220;Soc Sec No&#8221;,<br />
&#8220;required&#8221;: false,<br />
&#8220;type&#8221;: &#8220;string&#8221;,<br />
&#8220;description&#8221;: &#8220;&#8221;,<br />
&#8220;default_value&#8221;: &#8220;&#8221;,<br />
&#8220;max_length&#8221;: 50<br />
},<br />
/* &#8230;Attributes Omitted&#8230;*/<br />
&#8220;id&#8221;: {<br />
&#8220;label&#8221;: &#8220;Id&#8221;,<br />
&#8220;required&#8221;: false,<br />
&#8220;type&#8221;: &#8220;string&#8221;,<br />
&#8220;description&#8221;: &#8220;&#8221;,<br />
&#8220;default_value&#8221;: &#8220;&#8221;,<br />
&#8220;max_length&#8221;: 50<br />
}<br />
},<br />
&#8220;collections&#8221;: {<br />
}<br />
}</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://douglasayers.com/MyBlog/?feed=rss2&amp;p=87</wfw:commentRss>
		</item>
		<item>
		<title>Move Over CICS, Think MDM Server</title>
		<link>http://douglasayers.com/MyBlog/?p=86</link>
		<comments>http://douglasayers.com/MyBlog/?p=86#comments</comments>
		<pubDate>Wed, 29 Jul 2009 17:52:32 +0000</pubDate>
		<dc:creator>Doog</dc:creator>
		
		<category><![CDATA[Zero Programming Experiment]]></category>

		<category><![CDATA[CICS]]></category>

		<category><![CDATA[CRUDL]]></category>

		<category><![CDATA[Dojo]]></category>

		<category><![CDATA[InfoSphere]]></category>

		<category><![CDATA[Master Data Management]]></category>

		<category><![CDATA[MDM]]></category>

		<category><![CDATA[MDM Server]]></category>

		<category><![CDATA[RESTful Web Services]]></category>

		<category><![CDATA[sMash]]></category>

		<category><![CDATA[WebSphere]]></category>

		<category><![CDATA[Zero Programming]]></category>

		<guid isPermaLink="false">http://douglasayers.com/MyBlog/?p=86</guid>
		<description><![CDATA[Here&#8217;s a video that really captures the kind of development methodology and application architecture that, I think, works extremely well for MDM Server.  Rob Nicholson of IBM uses WebSphere sMash as a web 2.0 development platform that can call back end like transactions, like CICS.




The video, starting at about the 2:55 mark, starts illustrating the [...]]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s a video that really captures the kind of development methodology and application architecture that, I think, works extremely well for MDM Server.  Rob Nicholson of IBM uses WebSphere sMash as a web 2.0 development platform that can call back end like transactions, like CICS.</p>
<p><object width="340" height="285">
<param name="movie" value="http://www.youtube.com/v/Wc39pSHHKIg&amp;hl=en&amp;fs=1&amp;rel=0&amp;border=1"></param>
<param name="allowFullScreen" value="true"></param>
<param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/Wc39pSHHKIg&amp;hl=en&amp;fs=1&amp;rel=0&amp;border=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="340" height="285"></embed></object></p>
<p>The video, starting at about the 2:55 mark, starts illustrating the kind of blueprint I&#8217;m following.  Resource handlers for RESTful web services, tooling for simple, quick UI generation, next-gen application mash ups, etc.</p>
]]></content:encoded>
			<wfw:commentRss>http://douglasayers.com/MyBlog/?feed=rss2&amp;p=86</wfw:commentRss>
		</item>
		<item>
		<title>Keeping Track Of Loose Ends</title>
		<link>http://douglasayers.com/MyBlog/?p=85</link>
		<comments>http://douglasayers.com/MyBlog/?p=85#comments</comments>
		<pubDate>Wed, 29 Jul 2009 03:23:40 +0000</pubDate>
		<dc:creator>Doog</dc:creator>
		
		<category><![CDATA[Zero Programming Experiment]]></category>

		<category><![CDATA[CRUDL]]></category>

		<category><![CDATA[Dojo]]></category>

		<category><![CDATA[InfoSphere]]></category>

		<category><![CDATA[Master Data Management]]></category>

		<category><![CDATA[MDM]]></category>

		<category><![CDATA[MDM Server]]></category>

		<category><![CDATA[RESTful Web Services]]></category>

		<category><![CDATA[sMash]]></category>

		<category><![CDATA[WebSphere]]></category>

		<category><![CDATA[Zero Programming]]></category>

		<guid isPermaLink="false">http://douglasayers.com/MyBlog/?p=85</guid>
		<description><![CDATA[Just keeping track of the things I need to come back to:

MDM Server doesn&#8217;t like the TCRMPartyContactMethodBObj&#8217;s in my addPerson XML.  I could add the phone number, but not the e-mail address.  It complained that I was using either an incorrect contact method category or contact method type.  My entries matched the code tables as [...]]]></description>
			<content:encoded><![CDATA[<p>Just keeping track of the things I need to come back to:</p>
<ul>
<li>MDM Server doesn&#8217;t like the <em>TCRMPartyContactMethodBObj</em>&#8217;s in my <em>addPerson</em> XML.  I could add the phone number, but not the e-mail address.  It complained that I was using either an incorrect contact method category or contact method type.  My entries matched the code tables as far as I could tell.  Just dropped the e-mail for now.</li>
<li>The data grid in the UI seems to break now when I retrieve an unfiltered list of persons (roughly about 110 of them).  But if I reduce the result set with search parameters, no problem.  Odd.  That was working yesterday even with a hundred names.</li>
<li>This config is really taxing my poor laptop. Running the VMWare image, RMI Gateway, and sMash runtime causes my memory to start swapping out pretty badly. Definitely gets worse the longer I work with it.</li>
<li>The UI doesn&#8217;t give very good visual indicators when requests are still being processed.</li>
<li>The data grid looks a little barren because I&#8217;m only populating a handful of attributes.  I might need to think a little more about which attributes display in what context.  For example, <em>TCRMPersonSearchBObj</em>&#8217;s returned by the inList() service don&#8217;t have all the wrapper attributes, unlike the <em>TCRMPersonBObj</em>&#8217;s.  Need to think about the right way to configure all of that.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://douglasayers.com/MyBlog/?feed=rss2&amp;p=85</wfw:commentRss>
		</item>
	</channel>
</rss>
