<?xml version="1.0" encoding="UTF-8"?>
<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/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>

<channel>
	<title>User InExperience</title>
	<atom:link href="http://www.userinexperience.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.userinexperience.com</link>
	<description>Architecture and User Experience... better together!</description>
	<pubDate>Tue, 05 Feb 2008 17:47:32 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
	<language>en</language>
			<item>
		<title>Yes. We. Can.</title>
		<link>http://www.userinexperience.com/2008/02/05/yes-we-can/</link>
		<comments>http://www.userinexperience.com/2008/02/05/yes-we-can/#comments</comments>
		<pubDate>Tue, 05 Feb 2008 17:47:32 +0000</pubDate>
		<dc:creator>Brandon Satrom</dc:creator>
		
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.userinexperience.com/2008/02/05/yes-we-can/</guid>
		<description><![CDATA[It&#8217;s Super Tuesday. Time to get down to the business of choosing our candidates.
If you&#8217;re in a state voting today, I hope you&#8217;ll be there.
For now, check this out. (Links to my &#8220;other&#8221; blog)
Happy Super Tuesday!
- Brandon
<script type="text/javascript">SHARETHIS.addEntry({ title: "Yes. We. Can.", url: "http://www.userinexperience.com/2008/02/05/yes-we-can/" });</script>]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s Super Tuesday. Time to get down to the business of choosing our candidates.</p>
<p>If you&#8217;re in a state voting today, I hope you&#8217;ll be there.</p>
<p>For now, <a href="http://brandonsatrom.com/2008/02/05/a-little-inspiration-on-super-tuesday/">check this out</a>. (Links to my &#8220;other&#8221; blog)</p>
<p>Happy Super Tuesday!</p>
<p>- Brandon</p>
<p><a href="http://sharethis.com/item?&wp=2.5.1&amp;publisher=&amp;title=Yes.+We.+Can.&amp;url=http%3A%2F%2Fwww.userinexperience.com%2F2008%2F02%2F05%2Fyes-we-can%2F">ShareThis</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.userinexperience.com/2008/02/05/yes-we-can/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Embracing the Long Tail</title>
		<link>http://www.userinexperience.com/2008/01/03/embracing-the-long-tail/</link>
		<comments>http://www.userinexperience.com/2008/01/03/embracing-the-long-tail/#comments</comments>
		<pubDate>Thu, 03 Jan 2008 22:56:23 +0000</pubDate>
		<dc:creator>Brandon Satrom</dc:creator>
		
		<category><![CDATA[Architecture]]></category>

		<category><![CDATA[Composite Applications]]></category>

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

		<category><![CDATA[Enterprise Architecture]]></category>

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

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

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

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

		<guid isPermaLink="false">http://www.userinexperience.com/2008/01/03/embracing-the-long-tail/</guid>
		<description><![CDATA[Note: This is the second post in my Freedom within a Framework series, which is about enabling the coexistence of enterprise and opportunistic applications. You can read the introductory post here.
&#160;
As I stated in my introductory post, I believe that it is possible to achieve a balance between the need for stability in enterprise applications, [...]<script type="text/javascript">SHARETHIS.addEntry({ title: "Embracing the Long Tail", url: "http://www.userinexperience.com/2008/01/03/embracing-the-long-tail/" });</script>]]></description>
			<content:encoded><![CDATA[<p>Note: This is the second post in my <a href="http://www.userinexperience.com/2008/01/02/freedom-within-a-framework-or-fred-introduction/">Freedom within a Framework</a> series, which is about enabling the coexistence of enterprise and opportunistic applications. You can read the introductory post <a href="http://www.userinexperience.com/2008/01/02/freedom-within-a-framework-or-fred-introduction/">here</a>.</p>
<p>&nbsp;</p>
<p>As I stated in my introductory post, I believe that it is possible to achieve a balance between the need for stability in enterprise applications, and the need for quick and agile innovation in opportunistic applications. They key to this balance lies is in determining where the domain of control for IT can safely transition into a environment of open access to information. This is a “line of demarcation” that allows for a clean separation of certain types of applications. The best way to picture this concept is to imagine a line on an X-axis, with control of technology at the left side, and anarchy at the right. “Command and Control IT” typically lives as close to the left as is possible, while the world of “consumer-driven IT” lives quite far to the right. There are opposed to be sure, but it is possible for IT to reconcile these differences and foster both sides by creating a shared understanding around which classes applications should be enterprise-class and which can and should be treated as opportunistic.  </p>
<p>&nbsp; </p>
<p>Another way to visualize this concept is with the “<a href="http://en.wikipedia.org/wiki/The_Long_Tail">Long Tail</a>,” which is depicted in Figure 1 below. The “Long Tail” was a term coined by <a href="http://web.archive.org/web/20041127085645/http://www.wired.com/wired/archive/12.10/tail.html">Chris Anderson in Wired Magazine</a> to describe how the business models of companies like <a href="http://www.amazon.com">Amazon</a> or <a href="http://www.netflix.com">Netflix</a> enables them to profitably offer a wider range of goods and services than traditional organizations. The concept (also referred to as a heavy-tail or <a href="http://en.wikipedia.org/wiki/Pareto_distribution">Pareto distribution</a>) is a well-known statistical occurrence where a high-frequency population (depicted by the region in green below) is followed by a very long low-frequency population that gradually diminishes in area (or &#8220;tails off&#8221;). In many cases, the long tail portion of the graph, colored in yellow below, can actually represent the majority of the area under the line in the graph, even though the frequency is lower along that portion of the line than it is in the green area.  </p>
<p>&nbsp; </p>
<p><a href="http://www.userinexperience.com/wp-images/post-images/EmbracingtheLongTail_E046/clip_image002.png"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="292" alt="The Long Tail" src="http://www.userinexperience.com/wp-images/post-images/EmbracingtheLongTail_E046/clip_image002_thumb.png" width="558" border="0"/></a>  </p>
<p>Figure 1 - The Long Tail  </p>
<p>&nbsp; </p>
<p>When applied to <a href="http://www.amazon.com">Amazon</a> and <a href="http://www.netflix.com">Netflix</a>, this concept is used to illustrate that organizations with powerful distribution channels can make just as much or more selling ten copies each of 10,000 obscure books as they could selling 100,000 copies of one best-selling book. The application to many organizations is just as powerful when information is the product. Assume for a moment that the green portion of the graph represents enterprise-class applications with a large internal user base and the “long tail” or yellow portion represents opportunistic applications with a much smaller number of users. This is depicted in figure 2 below.  </p>
<p><a href="http://www.userinexperience.com/wp-images/post-images/EmbracingtheLongTail_E046/clip_image003.png"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="304" alt="The Long Tail of Applications" src="http://www.userinexperience.com/wp-images/post-images/EmbracingtheLongTail_E046/clip_image003_thumb.png" width="566" border="0"/></a>  </p>
<p>Figure 2 - The Long Tail for Applications  </p>
<p>&nbsp; </p>
<p>In this scenario, the “long tail” theory argues that an organization could serve more users with several hundred opportunistic applications than it does with a small number of enterprise-class applications, but at a much lower cost. Thus, a “long tail” model can enable an information-driven organization to serve its customer base effectively without greatly increasing the cost of software delivery. Such a model does so by enabling the kinds of opportunistic development which most IT organizations would likely never have the bandwidth or justification to pursue because they are applications which are tactical in nature and which may only serve a small number of users.  </p>
<p>&nbsp; </p>
<p>While a “Long Tail” mindset enables us to create a clear line of demarcation, simply classifying one type of application or information set as enterprise and another as opportunistic isn’t enough. It is entirely possible for IT to pursue this demarcation with good intentions, and then stifle innovation by requiring that all applications, including opportunistic ones, be developed using only one type of platform or programming language. Thus, another key to creating “Freedom within a Framework” is that IT must give up as much control as is possible, while at the same time recognizing the assets and information over which the enterprise should retain control. In my next post, I&#8217;ll discuss the concept of an IFaP architecture which, I believe, provides a powerful architecture for enabling open innovation while, at the same time, providing IT with a framework to manage its information assets.  </p>
<p>&nbsp;</p>
<div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:2baad370-29e5-4006-b512-03b8b24f6ccb" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">Technorati Tags: <a href="http://technorati.com/tags/REST" rel="tag">REST</a>, <a href="http://technorati.com/tags/Web%202.0" rel="tag">Web 2.0</a>, <a href="http://technorati.com/tags/Enterprise%20Architecture" rel="tag">Enterprise Architecture</a>, <a href="http://technorati.com/tags/EA" rel="tag">EA</a>, <a href="http://technorati.com/tags/Long%20Tail" rel="tag">Long Tail</a></div>
<p><a href="http://sharethis.com/item?&wp=2.5.1&amp;publisher=&amp;title=Embracing+the+Long+Tail&amp;url=http%3A%2F%2Fwww.userinexperience.com%2F2008%2F01%2F03%2Fembracing-the-long-tail%2F">ShareThis</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.userinexperience.com/2008/01/03/embracing-the-long-tail/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Freedom within a Framework (or FRED) Introduction</title>
		<link>http://www.userinexperience.com/2008/01/02/freedom-within-a-framework-or-fred-introduction/</link>
		<comments>http://www.userinexperience.com/2008/01/02/freedom-within-a-framework-or-fred-introduction/#comments</comments>
		<pubDate>Wed, 02 Jan 2008 23:41:52 +0000</pubDate>
		<dc:creator>Brandon Satrom</dc:creator>
		
		<category><![CDATA[Architecture]]></category>

		<category><![CDATA[Composite Applications]]></category>

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

		<category><![CDATA[Enterprise Architecture]]></category>

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

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

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

		<guid isPermaLink="false">http://www.userinexperience.com/2008/01/02/freedom-within-a-framework-or-fred-introduction/</guid>
		<description><![CDATA[&#160;
For the past several weeks, we&#8217;ve been working on creating a viewpoint of our future-state architecture that enables a greater degree of low-hurdle innovation with technology than we currently enable. The goal is to enable anyone across the globe, inside of the organization or out, to make use of public information we provide to create [...]<script type="text/javascript">SHARETHIS.addEntry({ title: "Freedom within a Framework (or FRED) Introduction", url: "http://www.userinexperience.com/2008/01/02/freedom-within-a-framework-or-fred-introduction/" });</script>]]></description>
			<content:encoded><![CDATA[<p>&nbsp;</p>
<p>For the past several weeks, we&#8217;ve been working on creating a viewpoint of our future-state architecture that enables a greater degree of low-hurdle innovation with technology than we currently enable. The goal is to enable anyone across the globe, inside of the organization or out, to make use of public information we provide to create applications of value, even if that value is only seen by a single individual. Call it Web 2.0; Call it Enterprise 2.0. Call it what you will. We&#8217;re calling it either Freedom within a Framework or the Framework for Rapid and Empowering Development (FRED) depending on to whom we&#8217;re currently pitching the idea. The latter is our EA marketing savvy at work&#8230;</p>
<p>&nbsp;</p>
<p>The idea is simple: We want to create an environment when enterprise applications can be created and managed in an enterprise way, and opportunistic applications (i.e. ad-hoc process applications and mashups) can be created freely and with little to no involvement from the IT organization. IT does what it does best, but explicitly steps back from &#8220;owning&#8221; all information and technology in an organization. From concept to implementation, I believe that one way to foster such an environment is to allow the world of WS-* and the world of REST to co-exist within the enterprise. Rather than an either/or decision, we want enable and encourage both styles for certain types of situations.</p>
<p>&nbsp;</p>
<p>The culmination of our work around this idea was a paper published internally at the end of November, along with a demo that provides an example RESTful interface (which depends on our existing SOA) and a couple of applications which consume information presented by those interfaces.</p>
<p>&nbsp;</p>
<p>Over the next few weeks, I plan to post excerpts from this paper and some of the meat from the demos. My intent in doing so is twofold:</p>
<p>&nbsp;</p>
<p>1) To posit an alternative to the REST vs. WS-* debate. I am certainly not the first to argue for cohabitation of these styles. I only wish to add my voice and provide another perspective.</p>
<p>2) To obtain feedback from Enterprise and SOA Architects who have either already considered, are considering, or have implemented a similar design. I&#8217;d love to hear feedback in the coming weeks from anyone wanting to way in on any of the topics below.</p>
<p>&nbsp;</p>
<p>I&#8217;ll publish the first post tomorrow, and the subsequent ones every couple of days after that. Here are the topics I plan to post about, in order:</p>
<p>&nbsp;</p>
<ul>
<li><a href="http://www.userinexperience.com/2008/01/03/embracing-the-long-tail/">Embracing the Long Tail</a>  </li>
<li>IFaPs: Enabling the Long Tail and Protecting the Enterprise  </li>
<li>REST: The Entry Point for Innovation  </li>
<li>Benefits of a RESTful Interface  </li>
<li>REST and Security  </li>
<li>A Demo RESTful Interface  </li>
<li>Demo Opportunistic Applications</li>
</ul>
<p>&nbsp;</p>
<p>As I add posts, I&#8217;ll return to this post and add the hyperlinks.</p>
<p>&nbsp;</p>
<p>Looking forward to the discussion!</p>
<p>&nbsp;</p>
<div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:6c08e78c-800a-4412-8785-adc3d765e4c9" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">Technorati Tags: <a href="http://technorati.com/tags/REST" rel="tag">REST</a>, <a href="http://technorati.com/tags/WS-*" rel="tag">WS-*</a>, <a href="http://technorati.com/tags/SOA" rel="tag">SOA</a>, <a href="http://technorati.com/tags/Enterprise%20Architecture" rel="tag">Enterprise Architecture</a>, <a href="http://technorati.com/tags/EA" rel="tag">EA</a>, <a href="http://technorati.com/tags/Web%202.0" rel="tag">Web 2.0</a>, <a href="http://technorati.com/tags/Mashups" rel="tag">Mashups</a></div>
<p><a href="http://sharethis.com/item?&wp=2.5.1&amp;publisher=&amp;title=Freedom+within+a+Framework+%28or+FRED%29+Introduction&amp;url=http%3A%2F%2Fwww.userinexperience.com%2F2008%2F01%2F02%2Ffreedom-within-a-framework-or-fred-introduction%2F">ShareThis</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.userinexperience.com/2008/01/02/freedom-within-a-framework-or-fred-introduction/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Do Enterprise Architects Care (Enough) About Security?</title>
		<link>http://www.userinexperience.com/2007/12/06/do-enterprise-architects-care-enough-about-security/</link>
		<comments>http://www.userinexperience.com/2007/12/06/do-enterprise-architects-care-enough-about-security/#comments</comments>
		<pubDate>Thu, 06 Dec 2007 18:17:51 +0000</pubDate>
		<dc:creator>Brandon Satrom</dc:creator>
		
		<category><![CDATA[Architecture]]></category>

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

		<category><![CDATA[Enterprise Architecture]]></category>

		<guid isPermaLink="false">http://www.userinexperience.com/2007/12/06/do-enterprise-architects-care-enough-about-security/</guid>
		<description><![CDATA[&#160;
I&#8217;m sitting in a session at the Gartner EA Summit entitled &#8220;Security Architecture Best Practices.&#8221; I&#8217;ll be the first to admit that I don&#8217;t pay enough attention to the Security side of Enterprise Architecture, which is why I am in this session and plan on attending another complementary session tomorrow. I am surprised to see [...]<script type="text/javascript">SHARETHIS.addEntry({ title: "Do Enterprise Architects Care (Enough) About Security?", url: "http://www.userinexperience.com/2007/12/06/do-enterprise-architects-care-enough-about-security/" });</script>]]></description>
			<content:encoded><![CDATA[<p>&nbsp;</p>
<p>I&#8217;m sitting in a session at the <a href="http://www.gartner.com">Gartner</a> <a href="https://agendabuilder.gartner.com/ea7/">EA Summit</a> entitled &#8220;Security Architecture Best Practices.&#8221; I&#8217;ll be the first to admit that I don&#8217;t pay enough attention to the Security side of Enterprise Architecture, which is why I am in this session and plan on attending another complementary session tomorrow. I am surprised to see that, though there are 600 people at this portion of the Summit, there are only about 50 people in this room. So is EA really that far behind the curve in getting on board with Security? What are we all doing beyond adding a vertical &#8220;Security&#8221; bar to our models? Not much, in my case, but I am feeling that that ought to change, especially in light of some things I am starting to work on which I will blog more about in the coming weeks. </p>
<p>&nbsp;</p>
<p>I know that <a href="http://duckdown.blogspot.com">James McGovern</a> cares about security. In fact, he has stated before that he sees it as a form of competitive advantage, which, if true, explains why there are only 50 people in this room. I would expect that to grow year by year.</p>
<p>&nbsp;</p>
<p>As for the session itself, so far so good. One salient point that I&#8217;ve heard Gartner preach before, but am now seeing tied to the Security space is that the &#8220;Consumerization of IT&#8221; should lead us to drive our Security Architecture and Design to enable choice and distributable trust. Personally, I feel that lock down security, the knee-jerk of most Enterprises, is an over-engineering step that will leave us inflexible and closed off from a younger generation of employees and consumers. Thus, I&#8217;m glad to see that backed up with some analysis from Gartner.</p>
<p>&nbsp;</p>
<p>I&#8217;m glad to see Gartner offering sessions such as this in to an EA audience. My advice to them is to continue to offer sessions like this, even if the attendance from this year&#8217;s summit doesn&#8217;t suggest that there is an interest. Those numbers will grow.</p>
<p>&nbsp;</p>
<div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:00c3ddd7-b940-405c-b87f-92089fd460c7" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">Technorati Tags: <a href="http://technorati.com/tags/EA" rel="tag">EA</a>, <a href="http://technorati.com/tags/Enterprise%20Architecture" rel="tag">Enterprise Architecture</a>, <a href="http://technorati.com/tags/Security" rel="tag">Security</a>, <a href="http://technorati.com/tags/Gartner" rel="tag">Gartner</a></div>
<p><a href="http://sharethis.com/item?&wp=2.5.1&amp;publisher=&amp;title=Do+Enterprise+Architects+Care+%28Enough%29+About+Security%3F&amp;url=http%3A%2F%2Fwww.userinexperience.com%2F2007%2F12%2F06%2Fdo-enterprise-architects-care-enough-about-security%2F">ShareThis</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.userinexperience.com/2007/12/06/do-enterprise-architects-care-enough-about-security/feed/</wfw:commentRss>
		</item>
		<item>
		<title>MS Architecture Journal Reader</title>
		<link>http://www.userinexperience.com/2007/11/29/ms-architecture-journal-reader/</link>
		<comments>http://www.userinexperience.com/2007/11/29/ms-architecture-journal-reader/#comments</comments>
		<pubDate>Thu, 29 Nov 2007 15:55:45 +0000</pubDate>
		<dc:creator>Brandon Satrom</dc:creator>
		
		<category><![CDATA[Architecture]]></category>

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

		<category><![CDATA[Enterprise Architecture]]></category>

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

		<guid isPermaLink="false">http://www.userinexperience.com/2007/11/29/ms-architecture-journal-reader/</guid>
		<description><![CDATA[&#160;
The Microsoft Architecture Journal has been one of my favorite print periodicals lately. The articles are top-notch, relevant and very well-written. If you don&#8217;t have a subscription, I would highly recommend it, even if you&#8217;re not in an MS shop. Yes, there is a Microsoft bent, but there are also some gems that, I feel, [...]<script type="text/javascript">SHARETHIS.addEntry({ title: "MS Architecture Journal Reader", url: "http://www.userinexperience.com/2007/11/29/ms-architecture-journal-reader/" });</script>]]></description>
			<content:encoded><![CDATA[<p>&nbsp;</p>
<p>The <a href="http://www.architecturejournal.net/">Microsoft Architecture Journal</a> has been one of my favorite print periodicals lately. The articles are top-notch, relevant and very well-written. If you don&#8217;t have a subscription, I would highly recommend it, even if you&#8217;re not in an MS shop. Yes, there is a Microsoft bent, but there are also some gems that, I feel, have been universally relevant.</p>
<p>&nbsp;</p>
<p>I noticed in <a href="http://simonguest.com/blogs/smguest/default.aspx">Simon Guest&#8217;s blog</a> this morning, that Microsoft has released an Architecture Journal Reader that provides digital access to all thirteen issues of the journal, with search, favorites, annotation, etc. I&#8217;ve already downloaded it and It will be nice to have all of that information closer at hand. You can download a beta of the reader <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=dd466bbb-1b7d-438e-9f9a-954ce2058f15&amp;displaylang=en">here</a>, and go check out Simon&#8217;s post <a href="http://simonguest.com/blogs/smguest/archive/2007/11/27/Introducing-the-Architecture-Journal-Reader.aspx">here</a>.</p>
<p>&nbsp;</p>
<div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:a6566e95-4ba0-4d2a-9db9-9f121e9670d2" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">Technorati Tags: <a href="http://technorati.com/tags/Microsoft" rel="tag">Microsoft</a>, <a href="http://technorati.com/tags/Architecture%20Journal" rel="tag">Architecture Journal</a>, <a href="http://technorati.com/tags/Architecture%20Journal%20Reader" rel="tag">Architecture Journal Reader</a>, <a href="http://technorati.com/tags/WPF" rel="tag">WPF</a></div>
<p><a href="http://sharethis.com/item?&wp=2.5.1&amp;publisher=&amp;title=MS+Architecture+Journal+Reader&amp;url=http%3A%2F%2Fwww.userinexperience.com%2F2007%2F11%2F29%2Fms-architecture-journal-reader%2F">ShareThis</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.userinexperience.com/2007/11/29/ms-architecture-journal-reader/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Tell me where your SOA Hurts&#8230;</title>
		<link>http://www.userinexperience.com/2007/11/15/tell-me-where-your-soa-hurts/</link>
		<comments>http://www.userinexperience.com/2007/11/15/tell-me-where-your-soa-hurts/#comments</comments>
		<pubDate>Thu, 15 Nov 2007 16:21:54 +0000</pubDate>
		<dc:creator>Brandon Satrom</dc:creator>
		
		<category><![CDATA[Architecture]]></category>

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

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

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

		<guid isPermaLink="false">http://www.userinexperience.com/2007/11/15/tell-me-where-your-soa-hurts/</guid>
		<description><![CDATA[&#160;
&#8230;and I&#8217;ll charge you an arm and a leg to make it better. Looks like IBM is starting up a dysfunctional SOA practice. Not surprising really. Consider this quote: &#8220;Some organizations may not be happy with their service oriented architectures (SOAs). They may have &#8220;unhealthy&#8221; SOAs as a consequence of partnering with inexperienced system integrators. [...]<script type="text/javascript">SHARETHIS.addEntry({ title: "Tell me where your SOA Hurts&#8230;", url: "http://www.userinexperience.com/2007/11/15/tell-me-where-your-soa-hurts/" });</script>]]></description>
			<content:encoded><![CDATA[<p>&nbsp;</p>
<p>&#8230;and I&#8217;ll charge you an arm and a leg to make it better. Looks like <a href="http://adtmag.com/article.aspx?id=21498">IBM is starting up a dysfunctional SOA practice</a>. Not surprising really. Consider this quote: &#8220;Some organizations may not be happy with their service oriented architectures (SOAs). They may have &#8220;unhealthy&#8221; SOAs as a consequence of partnering with inexperienced system integrators. They may have proprietary <a href="http://adtmag.com/article.aspx?id=21498#">SOA</a> technology in the mix, and it may be difficult to scale operations.&#8221;</p>
<p>&nbsp;</p>
<p>They will probably make a killing since no one&nbsp;agrees on what SOA really means and all IBM has to do is figure out what you think it is, then convince a few key executives that that&#8217;s the wrong idea, thus rendering them instantly unhappy. It was bad enough when selling the buzzword ruled the day, but selling the band-aid will be worse, I fear. This, my friends, is why we never should have let our executives hear &#8220;SOA&#8221; in the first place.&nbsp;</p>
<p>&nbsp;</p>
<p>Here&#8217;s a question:&nbsp;what happens&nbsp;if&nbsp;an organization worked with&nbsp;IBM as their Systems integrator in the first place and is now unhappy with what they got? Would IBM ride in to rescue that organization too? &lt;unrealistic&gt;Maybe for the sake of good-will and a case-study, they&#8217;d do it for free.&lt;/unrealistic&gt;&nbsp;I wonder how IBM would sell that engagement? Probably by blaming your internal management.</p>
<p>&nbsp;</p>
<p>I can&#8217;t help but think that this is a case of selling me poison, then following that up by telling me I have a deadly poison in my system and that you just so happen to have the antidote. Not that I am calling SOA poison in any way. Conceptually, it&#8217;s just the opposite.</p>
<p>&nbsp;</p>
<p>Maybe I&#8217;m overreacting or being too negative here. Any one care to chime in with excitement about this announcement?</p>
<p>&nbsp;</p>
<div class="wlWriterSmartContent" id="0767317B-992E-4b12-91E0-4F059A8CECA8:f1008d62-770c-4378-9870-9433fbe7fba9" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">Technorati Tags: <a href="http://technorati.com/tags/SOA" rel="tag">SOA</a>, <a href="http://technorati.com/tags/IBM" rel="tag">IBM</a>, <a href="http://technorati.com/tags/EA" rel="tag">EA</a>, <a href="http://technorati.com/tags/Enterprise%20Architecture" rel="tag">Enterprise Architecture</a></div>
<p><a href="http://sharethis.com/item?&wp=2.5.1&amp;publisher=&amp;title=Tell+me+where+your+SOA+Hurts%26%238230%3B&amp;url=http%3A%2F%2Fwww.userinexperience.com%2F2007%2F11%2F15%2Ftell-me-where-your-soa-hurts%2F">ShareThis</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.userinexperience.com/2007/11/15/tell-me-where-your-soa-hurts/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Gartner Architecture Summits</title>
		<link>http://www.userinexperience.com/2007/11/13/gartner-architecture-summits/</link>
		<comments>http://www.userinexperience.com/2007/11/13/gartner-architecture-summits/#comments</comments>
		<pubDate>Tue, 13 Nov 2007 21:33:01 +0000</pubDate>
		<dc:creator>Brandon Satrom</dc:creator>
		
		<category><![CDATA[Architecture]]></category>

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

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

		<category><![CDATA[Enterprise Architecture]]></category>

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

		<guid isPermaLink="false">http://www.userinexperience.com/2007/11/13/gartner-architecture-summits/</guid>
		<description><![CDATA[&#160;
From December 3-7, Gartner will be holding two back-to-back summits on Application Architecture, Development and Integration and Enterprise Architecture at the Rio in Last Vegas. It looks to be a informative week with some valuable sessions and insight. Todd Biske will be there in two panel discussions and I am looking forward to both of [...]<script type="text/javascript">SHARETHIS.addEntry({ title: "Gartner Architecture Summits", url: "http://www.userinexperience.com/2007/11/13/gartner-architecture-summits/" });</script>]]></description>
			<content:encoded><![CDATA[<p>&nbsp;</p>
<p>From December 3-7, <a href="http://www.gartner.com">Gartner</a> will be holding two back-to-back summits on <a href="http://www.gartner.com/it/page.jsp?id=506878&amp;tab=overview">Application Architecture, Development and Integration</a> and <a href="http://www.gartner.com/it/page.jsp?id=506997&amp;tab=overview">Enterprise Architecture</a> at the Rio in Last Vegas. It looks to be a informative week with some valuable sessions and insight. <a href="http://www.biske.com/blog/?p=289">Todd Biske</a> will be there in two panel discussions and I am looking forward to both of those, along with a number of others currently on the agenda.</p>
<p>&nbsp;</p>
<p>Aside from the sessions, I&#8217;ve found that I gain the most value from these events when I have a chance to interact with other attendees. Are any other folks reading this planning to attend? If so, drop me a line in the comment section or via email at bsatrom at gmail dot com and we can try to connect during the week. I am always looking to gain the perspective of others in the opportunities and challenges that my EA group faces, as well as hear about the exciting and innovative things that other enterprises are doing. Hope to see you there!</p>
<p>&nbsp;</p>
<div class="wlWriterSmartContent" id="0767317B-992E-4b12-91E0-4F059A8CECA8:7eb47069-16af-4a20-9be3-24c14f4f0839" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">Technorati Tags: <a href="http://technorati.com/tags/Gartner" rel="tag">Gartner</a>, <a href="http://technorati.com/tags/Enterprise%20Architecture" rel="tag">Enterprise Architecture</a>, <a href="http://technorati.com/tags/EA" rel="tag">EA</a>, <a href="http://technorati.com/tags/SOA" rel="tag">SOA</a>, <a href="http://technorati.com/tags/Application%20Architecture" rel="tag">Application Architecture</a>, <a href="http://technorati.com/tags/Architecture" rel="tag">Architecture</a></div>
<p><a href="http://sharethis.com/item?&wp=2.5.1&amp;publisher=&amp;title=Gartner+Architecture+Summits&amp;url=http%3A%2F%2Fwww.userinexperience.com%2F2007%2F11%2F13%2Fgartner-architecture-summits%2F">ShareThis</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.userinexperience.com/2007/11/13/gartner-architecture-summits/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Using Technology to Fight Poverty: OLPC and Give 1 Get 1</title>
		<link>http://www.userinexperience.com/2007/11/11/using-technology-to-fight-poverty-olpc-and-give-1-get-1/</link>
		<comments>http://www.userinexperience.com/2007/11/11/using-technology-to-fight-poverty-olpc-and-give-1-get-1/#comments</comments>
		<pubDate>Sun, 11 Nov 2007 21:57:02 +0000</pubDate>
		<dc:creator>Brandon Satrom</dc:creator>
		
		<category><![CDATA[Business]]></category>

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

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

		<guid isPermaLink="false">http://www.userinexperience.com/2007/11/11/using-technology-to-fight-poverty-olpc-and-give-1-get-1/</guid>
		<description><![CDATA[&#160;
In my last post, I spoke briefly about posting from time to time on the topic of technology&#160;that plays a role in&#160;fighting poverty. I figured that a good place to start with would be the One Laptop Per Child (OLPC) program, probably the most notable example of such. There&#8217;s not much I can say about [...]<script type="text/javascript">SHARETHIS.addEntry({ title: "Using Technology to Fight Poverty: OLPC and Give 1 Get 1", url: "http://www.userinexperience.com/2007/11/11/using-technology-to-fight-poverty-olpc-and-give-1-get-1/" });</script>]]></description>
			<content:encoded><![CDATA[<p>&nbsp;</p>
<p>In my <a href="http://www.userinexperience.com/2007/11/07/using-technology-to-fight-poverty/">last post</a>, I spoke briefly about posting from time to time on the topic of technology&nbsp;that plays a role in&nbsp;fighting poverty. I figured that a good place to start with would be the One Laptop Per Child (OLPC) program, probably the most notable example of such. There&#8217;s not much I can say about this highly-publicized program that hasn&#8217;t already been said or written elsewhere, so I&#8217;ll just share a couple of resources I have come across recently.</p>
<p>&nbsp;</p>
<p>For starters, Ivan Krstic, the Director of Security Architecture for OLPC gave a great talk on the technical ins and outs of the XO Laptop at Google back in April. You can check it out <a href="http://www.youtube.com/watch?v=_bvSWtujxSE">here</a>. It&#8217;s an hour long, but worth a watch. (Thanks for <a href="http://www.pdatasolutions.com/blog">Phil</a> for pointing this out to me).</p>
<p>&nbsp;</p>
<p>Of course, the biggest news in the XO Laptop department is the <a href="http://www.xogiving.org/">Give 1 Get 1 Program</a>, which officially begins at <a href="http://www.olpcnews.com/sales_talk/g1g1/olpc_xo-1_give_one_get_one.html">6 AM Eastern tomorrow</a>. (BTW, the OLPC news site is a great resource for exactly that)&nbsp;The gist of the program is this: You pay $399 for two XO Laptops. You get one and the other is sent to a child in a developing country. T-Mobile has jumped into this promotion by throwing in a year of free T-Mobile Hot Spot access for the donor and EA is graciously donating the original Sim City to be included on all of the laptops.</p>
<p>&nbsp;</p>
<p>Professionally, I am interested in Give 1 Get 1 because it seems to have potential to&nbsp;enhance the 1-to-1 model of child sponsorship that Compassion has held to for over 50 years. Imagine the impact of a sponsor purchasing one of these laptops, then designating that the other be delivered as a gift to his or her child. I don&#8217;t know if this is possible, probable or neither at this point, but I have contacted Ivan Krstic to&nbsp;ask and I&nbsp;am at least looking forward to hearing a bit more on OLPCs future plans for partnering with&nbsp;international&nbsp;non-profits&nbsp;that have similar goals to OLPC.</p>
<p>&nbsp;</p>
<p>If you haven&#8217;t seen or read much about the program yet, I would encourage you to&nbsp;go check it out. The work that OLPC is doing is pretty amazing on several fronts: they are pushing the hardware and software envelope, all while providing affordable technology with the goal of improving education and peer learning. I, for one, am excited to continue to watch the program and its impact evolve.</p>
<p>&nbsp;</p>
<div class="wlWriterSmartContent" id="0767317B-992E-4b12-91E0-4F059A8CECA8:75c32dbd-8fbf-4085-8830-85516eb5f545" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">Technorati Tags: <a href="http://technorati.com/tags/OLPC" rel="tag">OLPC</a>, <a href="http://technorati.com/tags/XO%20Laptop" rel="tag">XO Laptop</a>, <a href="http://technorati.com/tags/Compassion" rel="tag">Compassion</a>, <a href="http://technorati.com/tags/Technology" rel="tag">Technology</a>, <a href="http://technorati.com/tags/Poverty" rel="tag">Poverty</a></div>
<p><a href="http://sharethis.com/item?&wp=2.5.1&amp;publisher=&amp;title=Using+Technology+to+Fight+Poverty%3A+OLPC+and+Give+1+Get+1&amp;url=http%3A%2F%2Fwww.userinexperience.com%2F2007%2F11%2F11%2Fusing-technology-to-fight-poverty-olpc-and-give-1-get-1%2F">ShareThis</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.userinexperience.com/2007/11/11/using-technology-to-fight-poverty-olpc-and-give-1-get-1/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Using Technology to Fight Poverty</title>
		<link>http://www.userinexperience.com/2007/11/07/using-technology-to-fight-poverty/</link>
		<comments>http://www.userinexperience.com/2007/11/07/using-technology-to-fight-poverty/#comments</comments>
		<pubDate>Thu, 08 Nov 2007 04:00:00 +0000</pubDate>
		<dc:creator>Brandon Satrom</dc:creator>
		
		<category><![CDATA[Business]]></category>

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

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

		<guid isPermaLink="false">http://www.userinexperience.com/2007/11/07/using-technology-to-fight-poverty/</guid>
		<description><![CDATA[&#160;
I haven&#8217;t blogged much about technology as it relates to eliminating global&#160;poverty, mainly because it&#8217;s hard for me to do so without talking about the organization for which I work.&#160;As has been discussed in the past by Todd Biske, James McGovern and others, corporate bloggers have to be careful to separate our own opinions and [...]<script type="text/javascript">SHARETHIS.addEntry({ title: "Using Technology to Fight Poverty", url: "http://www.userinexperience.com/2007/11/07/using-technology-to-fight-poverty/" });</script>]]></description>
			<content:encoded><![CDATA[<p>&nbsp;</p>
<p>I haven&#8217;t blogged much about technology as it relates to eliminating global&nbsp;poverty, mainly because it&#8217;s hard for me to do so without talking about the organization for which I work.&nbsp;As has been discussed in the past by <a href="http://www.biske.com/blog/?p=259">Todd Biske</a>, <a href="http://duckdown.blogspot.com">James McGovern</a> and others, corporate bloggers have to be careful to separate our own opinions and stances from those of our organization. Thus, it makes it tricky to talk much about our&nbsp;employers in much detail.</p>
<p>&nbsp;</p>
<p>However, I think that putting a gag on myself regarding all issues related to global poverty is a bit extreme. Furthermore, I think that I&#8217;m in a reasonable position as an Enterprise Architect working for a non-profit that&nbsp;serves nearly one million children in poverty around the world to try to bring to bear a technology and EA perspective that is shaped by using those tools in that fight against poverty.</p>
<p>&nbsp;</p>
<p>I think it&#8217;s a perspective that is needed, mainly because some people that I encounter in&nbsp;the EA space&nbsp;are surprised to hear that my organization has any kind of IT organization, much less one with an Enterprise Architecture group. I believe a common assumption is that when the main concern is the bottom line and profit, innovative and mature IT is acceptable, if not vital. The unspoken subtext, of course, is that non-profits have no business dealing with (too much) technology strategy and innovation because we do not deal in profit or competitive advantage (I actually think we do deal in competitive advantage, just not in the way you might think&#8230; more on that another day). However,&nbsp;a robust and healthy IT organization that is fully aligned to its business is even more important in the non-profit world, simply because the <strong>stakes are higher</strong>. Not in terms of profits and jobs, but in terms of lives and quality of life. And I honestly don&#8217;t think that I am dramatizing the issue here, though please chime in if you think I am. I am quite passionate about the subject and might need a cooler head from time to time.</p>
<p>&nbsp;</p>
<p>I&nbsp;enjoy the fact that <a href="http://duckdown.blogspot.com">James McGovern</a> increasingly&nbsp;uses his blog to raise our awareness about poverty and to influence others to give to worthy causes. My desire is to add a dimension to my own blog that takes a step beyond &#8220;knowing<em>&#8220;</em> and &#8220;giving&#8221; to what we are &#8220;doing&#8221; with technology in the name of wiping out poverty around the globe. And not just in my organization, either. I think that there are many organizations and individuals out there doing amazing things with technology where the benefit is not a&nbsp; personal bonus or a shareholder dividend; it is a&nbsp;child&nbsp;who can read and write, a mother who can start a business to feed her family, or&nbsp;a saved life.</p>
<p>&nbsp;</p>
<p>Thus, I plan to, from time to time, post articles, links and thoughts under the banner of <strong>&#8220;Using Technology to Fight Poverty.&#8221;</strong> I might even, on occasion, discuss the work my organization is doing because I am sure that there are those out there interested in where we are going with technology. Furthermore, we know that there are thousands of brilliant people involved in technology that already support our cause and would be interested in knowing what more they can do to help us.&nbsp;However, please keep in mind that&nbsp;anything I discuss around these topics is and always will be solely my opinion and may or may not reflect the opinion of my employer. That actually goes for anything on my blog, but it bears repeating.</p>
<p>&nbsp;</p>
<p>So, keep and eye out for some more posts with this heading. This should be fun&#8230;</p>
<p>&nbsp;</p>
<div class="wlWriterSmartContent" id="0767317B-992E-4b12-91E0-4F059A8CECA8:3f63f22b-fb71-461e-a02a-9f2bfe45b556" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">Technorati Tags: <a href="http://technorati.com/tags/Business%20Architecture" rel="tag">Business Architecture</a>, <a href="http://technorati.com/tags/Technology" rel="tag">Technology</a>, <a href="http://technorati.com/tags/Poverty" rel="tag">Poverty</a>, <a href="http://technorati.com/tags/IT" rel="tag">IT</a></div>
<p><a href="http://sharethis.com/item?&wp=2.5.1&amp;publisher=&amp;title=Using+Technology+to+Fight+Poverty&amp;url=http%3A%2F%2Fwww.userinexperience.com%2F2007%2F11%2F07%2Fusing-technology-to-fight-poverty%2F">ShareThis</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.userinexperience.com/2007/11/07/using-technology-to-fight-poverty/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Oslo - Microsoft&#8217;s Strategy for Composite Applications</title>
		<link>http://www.userinexperience.com/2007/11/05/oslo-microsofts-strategy-for-composite-applications/</link>
		<comments>http://www.userinexperience.com/2007/11/05/oslo-microsofts-strategy-for-composite-applications/#comments</comments>
		<pubDate>Tue, 06 Nov 2007 02:23:18 +0000</pubDate>
		<dc:creator>Brandon Satrom</dc:creator>
		
		<category><![CDATA[Architecture]]></category>

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

		<category><![CDATA[Composite Applications]]></category>

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

		<category><![CDATA[Enterprise Architecture]]></category>

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

		<category><![CDATA[User Experience]]></category>

		<guid isPermaLink="false">http://www.userinexperience.com/2007/11/05/oslo-microsofts-strategy-for-composite-applications/</guid>
		<description><![CDATA[&#160;
Last week, Jean-Jacques Dubray&#160;published an article on InfoQ&#160;regarding&#160;Microsoft&#8217;s recent&#160;announcement&#160;of Oslo, a strategy designed to &#8220;&#8230;take composite applications to the mainstream.&#8221; Rather than revolving around a single product, Oslo sets strategic direction for Visual Studio, BizTalk, the .Net Framework, Microsoft System Center and a new product called BizTalk Services. On a side note: Arnon Rotem-Gal-Oz hopes&#160;that [...]<script type="text/javascript">SHARETHIS.addEntry({ title: "Oslo - Microsoft&#8217;s Strategy for Composite Applications", url: "http://www.userinexperience.com/2007/11/05/oslo-microsofts-strategy-for-composite-applications/" });</script>]]></description>
			<content:encoded><![CDATA[<p>&nbsp;</p>
<p>Last week, <a href="http://www.ebpml.org/ebpml_radio.htm">Jean-Jacques Dubray</a>&nbsp;published an <a href="http://www.infoq.com/news/2007/10/Olso-announcement">article</a> on <a href="http://www.infoq.com">InfoQ</a>&nbsp;regarding&nbsp;Microsoft&#8217;s recent&nbsp;<a href="http://www.microsoft.com/soa/products/oslo.aspx">announcement</a>&nbsp;of Oslo, a strategy designed to &#8220;&#8230;take composite applications to the mainstream.&#8221; Rather than revolving around a single product, Oslo sets strategic direction for Visual Studio, BizTalk, the .Net Framework, Microsoft System Center and a new product called BizTalk Services. On a side note: <a href="http://www.ddj.com/blog/architectblog/archives/2007/10/microsoft_oslo.html">Arnon Rotem-Gal-Oz hopes</a>&nbsp;that this final project&#8217;s association with BizTalk is more about branding than actual product similarity, a sentiment I share.</p>
<p>&nbsp;</p>
<p>After posting this article, Jean-Jacques sent me an email and asked me to share some of my thoughts on Olso for a follow-up article to be published at <a href="http://www.infoq.com">InfoQ</a>. I sent my thoughts along on Friday, but thought that I would post them here as well.</p>
<p>&nbsp;</p>
<p>When we developed a long-term strategy for Composite Applications at my organization, it was obvious that while Microsoft technologies would have a major role to play in many areas of our future-state architecture, there were several vital pieces missing in the Microsoft stack that we would likely need to find elsewhere. I&#8217;ve always felt that we weren&#8217;t alone in that sentiment, and the Oslo announcement suggests that Microsoft is also well aware of the gaps in their current offerings. While products like Dynamics CRM and MOSS 2007 offer composition scenarios which I regularly point to as examples of end-user and/ or business analyst composition, Microsoft has long been missing the technologies to unify these experiences under a common framework. Though missing in the products themselves, the Composite Applications vision is one that I have seen preached by Microsoft Architects and blogger&#8217;s like <a href="http://blogs.msdn.com/MikeWalker/">Mike Walker</a> and others who seem to have a good grasp on the long-term potential of composite applications. The good news about the Oslo announcement is that those individuals are no&nbsp; longer in the minority. With Oslo, I believe Microsoft has unveiled merely the beginning of a unification strategy that enables composite applications. I believe that this bodes well for clients and non-clients of Microsoft alike. </p>
<p>&nbsp;</p>
<p>That being said, There are two reasons why I&#8217;m a bit skeptical about the Oslo announcement: For starters, I believe that Microsoft&#8217;s stated vision for Composite Applications is too narrow. While the Software + Services and SOA visions are needed, I believe that the end goal of any Composite Applications strategy should be to gradually enable composition up the stack toward the end-user. This is done first by providing a SOA which enables true service and process composition, then by extending those principles to developers of customer applications, business analysts and, ultimately, end users. Oslo speaks well to the former, but the latter is auspiciously missing. I actually don&#8217;t believe that such a goal is absent in the halls of Microsoft, but I do believe that it hasn&#8217;t permeated across the organization and thus, isn&#8217;t given a place in the conversation yet. </p>
<p>&nbsp;</p>
<p>The second reason I am hesitant to praise Microsoft for the Oslo vision is because their announcement is related to technologies which are anywhere from 1 year to 3 years or more away from release. Most of the tool updates are two releases away. Microsoft is correct when they say in their press releases that 21st century business is moving faster than IT can deliver, but that statement is true today. Organizations need solutions today, not announcements of solutions coming tomorrow. My organization, for example, cannot wait for a repository to manage models, metadata and services (one of the gaps we knew about in our strategy) when our ability to manage all three is already beyond our control. I honestly believe that Microsoft&#8217;s vision for Oslo is a good one, but they are just now announcing plans to provide functionality that most organizations already know they need, which puts them at a disadvantage with those organizations. I can see a day in my company where many of the pieces in the Oslo stack make their way into our architecture, but today we need to keep moving. Of course, the good news is that when SOA and composite applications are done right, vendor lock-in is reduced and organizations can focus on delivering for the business today instead of waiting for the remaining puzzle pieces to fall in place tomorrow. </p>
<p>&nbsp;</p>
<div class="wlWriterSmartContent" id="0767317B-992E-4b12-91E0-4F059A8CECA8:7281eef0-185b-428e-bcdd-5c95a6bfe8a1" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">Technorati Tags: <a href="http://technorati.com/tags/Oslo" rel="tag">Oslo</a>, <a href="http://technorati.com/tags/BizTalk" rel="tag">BizTalk</a>, <a href="http://technorati.com/tags/BizTalk%20Services" rel="tag">BizTalk Services</a>, <a href="http://technorati.com/tags/Visual%20Studio" rel="tag">Visual Studio</a>, <a href="http://technorati.com/tags/Microsoft%20SystemCenter" rel="tag">Microsoft SystemCenter</a>, <a href="http://technorati.com/tags/SOA" rel="tag">SOA</a>, <a href="http://technorati.com/tags/Composite%20Applications" rel="tag">Composite Applications</a>, <a href="http://technorati.com/tags/Software%20+%20Services" rel="tag">Software + Services</a></div>
<p><a href="http://sharethis.com/item?&wp=2.5.1&amp;publisher=&amp;title=Oslo+-+Microsoft%26%238217%3Bs+Strategy+for+Composite+Applications&amp;url=http%3A%2F%2Fwww.userinexperience.com%2F2007%2F11%2F05%2Foslo-microsofts-strategy-for-composite-applications%2F">ShareThis</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.userinexperience.com/2007/11/05/oslo-microsofts-strategy-for-composite-applications/feed/</wfw:commentRss>
		</item>
		<item>
		<title>The Fifth Beatle of Composite Application Developers</title>
		<link>http://www.userinexperience.com/2007/11/05/the-fifth-beatle-of-composite-application-developers/</link>
		<comments>http://www.userinexperience.com/2007/11/05/the-fifth-beatle-of-composite-application-developers/#comments</comments>
		<pubDate>Mon, 05 Nov 2007 23:24:45 +0000</pubDate>
		<dc:creator>Brandon Satrom</dc:creator>
		
		<category><![CDATA[Composite Applications]]></category>

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

		<category><![CDATA[Enterprise Architecture]]></category>

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

		<category><![CDATA[User Experience]]></category>

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

		<guid isPermaLink="false">http://www.userinexperience.com/2007/11/05/the-fifth-beatle-of-composite-application-developers/</guid>
		<description><![CDATA[&#160;
Back in September, I published a couple of excerpts from an internal paper I wrote on Composite Applications (you can read them here, here&#160;and here). At the end of my second post, (which I probably should have broken up into 2-3 posts at least) I discussed the four types of Application Composers. If you missed&#160;that [...]<script type="text/javascript">SHARETHIS.addEntry({ title: "The Fifth Beatle of Composite Application Developers", url: "http://www.userinexperience.com/2007/11/05/the-fifth-beatle-of-composite-application-developers/" });</script>]]></description>
			<content:encoded><![CDATA[<p>&nbsp;</p>
<p>Back in September, I published a couple of excerpts from an internal paper I wrote on Composite Applications (you can read them <a href="http://www.userinexperience.com/2007/08/26/the-need-for-application-composition/">here</a>, <a href="http://www.userinexperience.com/2007/08/29/composition-assembling-assets-into-applications/">here</a>&nbsp;and <a href="http://www.userinexperience.com/2007/09/06/composite-applications-visualized/">here</a>). At the end of my <a href="http://www.userinexperience.com/2007/08/29/composition-assembling-assets-into-applications/">second post</a>, (which I probably should have broken up into 2-3 posts at least) I discussed the four types of Application Composers. If you missed&nbsp;that section,&nbsp;(which would be proof that I should have broken them up) here&#8217;s a recap:</p>
<p>&nbsp;</p>
<p>1) <a><strong>Business Service Developers</strong></a>&nbsp;- These are IT developers focused on providing value-added common business services to all customer solutions teams. Their technical depth is high and a <acronym title="Composite Application Framework">CAF</acronym> targeted at these users would be similar to what is provided by SOA today.</p>
<p>&nbsp;</p>
<p>2) <a><strong>Customer Solution Developers</strong></a>&nbsp;- These are IT developers focused on creating customer-centric solutions by leveraging software infrastructure. Their technical depth is moderate to high and a <acronym title="Composite Application Framework">CAF</acronym> targeted at these users would need to abstract away service creation and assembly.</p>
<p>&nbsp;</p>
<p>3) <a><strong>Business Analysts</strong></a>&nbsp;<strong>- </strong>These are customer consultants focused on helping customers determine which business needs are best met with technology. Their technical depth is moderate and a <acronym title="Composite Application Framework">CAF</acronym> targeted at these users would draw many features from current BPM platforms.</p>
<p>&nbsp;</p>
<p>4) <a><strong>End Users</strong></a>&nbsp;<strong>- </strong>These are the users of the solutions created by customer solutions teams. Their technical depth is low and a <acronym title="Composite Application Framework">CAF</acronym> targeted at these users would need to abstract away nearly all of the technical aspects of application creation and should provide very intuitive context- and metadata-driven methods for application assembly and customization.</p>
<p>&nbsp;</p>
<p>While these still make sense to me, I think I completely missed number&nbsp;five on this list. It&#8217;s a bit of a wildcard, and it may not apply to every organization, but I think it will apply to more and more organization in the coming years. Here it is:</p>
<p>&nbsp;</p>
<p>5) <a><strong>External Developers</strong></a> - These are developers who reside outside of one&#8217;s own IT organization, but who have development expertise that they wish to leverage to create value-added services that benefit your organization. Their primary interest is in consuming available organizational data and recombining this data with external data or services to create new composites not offered or envisioned&nbsp;by the organization itself.</p>
<p>&nbsp;</p>
<p>Now I think that the reason I missed this was because I was thinking internal only when laying out a strategy for Composite Applications in my organization. However, my fearless leader and I have been talking at length about creating a framework by which certain subsets of our information (the right information, of course) could be made available to anyone with the wherewithal&nbsp;to create useful services that we never thought of. Thus, our framework for Composite Applications now has another persona to enable.</p>
<p>&nbsp;</p>
<p>So what do you think? Is this a valid addition, or did I have it encompassed in another one of the four? Furthermore, is just one more enough? That fifth category encompasses a ton of people, so do I need another for the technically savvy end user who doesn&#8217;t write code, but who screams at creating inventive <a href="http://pipes.yahoo.com">Yahoo! Pipes</a> applications. I suspect that #4 could represent this individual with a slight modification, but what do you think?</p>
<p>&nbsp;</p>
<div class="wlWriterSmartContent" id="0767317B-992E-4b12-91E0-4F059A8CECA8:c50f3368-8835-470e-b31c-d119efa545ce" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">Technorati Tags: <a href="http://technorati.com/tags/Composite%20Applications" rel="tag">Composite Applications</a>, <a href="http://technorati.com/tags/SOA" rel="tag">SOA</a>, <a href="http://technorati.com/tags/Web%202.0" rel="tag">Web 2.0</a></div>
<p><a href="http://sharethis.com/item?&wp=2.5.1&amp;publisher=&amp;title=The+Fifth+Beatle+of+Composite+Application+Developers&amp;url=http%3A%2F%2Fwww.userinexperience.com%2F2007%2F11%2F05%2Fthe-fifth-beatle-of-composite-application-developers%2F">ShareThis</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.userinexperience.com/2007/11/05/the-fifth-beatle-of-composite-application-developers/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Using Windows Workflow Foundation to SMS-Enable MOSS</title>
		<link>http://www.userinexperience.com/2007/10/31/using-windows-workflow-foundation-to-sms-enable-moss/</link>
		<comments>http://www.userinexperience.com/2007/10/31/using-windows-workflow-foundation-to-sms-enable-moss/#comments</comments>
		<pubDate>Wed, 31 Oct 2007 23:39:09 +0000</pubDate>
		<dc:creator>Brandon Satrom</dc:creator>
		
		<category><![CDATA[Architecture]]></category>

		<category><![CDATA[Composite Applications]]></category>

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

		<guid isPermaLink="false">http://www.userinexperience.com/2007/10/31/using-windows-workflow-foundation-to-sms-enable-moss/</guid>
		<description><![CDATA[&#160;
For the past couple of weeks, I have been doing an in-depth look at various mobile communication technologies (SMS, EMS, MMS, etc.) for the purposes of incorporating these technologies into our existing strategies. While the scenarios vary, most of the use-cases driving us to SMS et al. revolve around information delivery in areas where Internet [...]<script type="text/javascript">SHARETHIS.addEntry({ title: "Using Windows Workflow Foundation to SMS-Enable MOSS", url: "http://www.userinexperience.com/2007/10/31/using-windows-workflow-foundation-to-sms-enable-moss/" });</script>]]></description>
			<content:encoded><![CDATA[<p>&nbsp;</p>
<p>For the past couple of weeks, I have been doing an in-depth look at various mobile communication technologies (SMS, EMS, MMS, etc.) for the purposes of incorporating these technologies into our existing strategies. While the scenarios vary, most of the use-cases driving us to SMS et al. revolve around information delivery in areas where Internet connectivity is problematic, yet cell phones abound. It sounds counter-intuitive maybe, but in many regions (like Africa for example), it&#8217;s far easier to put up a cell tower than it is to lay cable of any kind. Thus, mobile technology can be found in many places where land lines and Internet access cannot.</p>
<p>&nbsp;</p>
<p>Being the agenda-pusher that&nbsp;I am, I can&#8217;t pass up an opportunity to integrate this technology study with work I have already done and am doing. Since my biggest interest right now is in the <a href="http://www.userinexperience.com/2007/08/29/composition-assembling-assets-into-applications/">Composite Applications</a> space, I wanted to use one of the demos in this study to prove out (to some degree) the composition argument I have been making both <a href="http://www.userinexperience.com/2007/08/26/the-need-for-application-composition/">in this blog</a> and internally. Thus, I created a demo scenario for this study that sends a 1-way, application-originated SMS Text Message through an SMS Gateway (<a href="http://www.clickatell.com/">Clickatell</a> in this case) to a mobile subscriber when a particular field on a list in MOSS is changed. Now, this scenario isn&#8217;t rocket science, nor is it earth-shattering. What it is, however, is me taking my own medicine. If I&#8217;m going to preach the <a href="http://en.wikipedia.org/wiki/Composite_applications">Composite Applications</a> gospel, I&#8217;d better try it on for size myself. Here&#8217;s how I implemented the scenario: </p>
<p>&nbsp;</p>
<p>I started by creating a stand-alone custom activity&nbsp;in Windows Workflow Foundation. The code, with some key details removed, is included below. Note: In order use this yourself, you&#8217;ll need access to an SMS Gateway (like <a href="http://www.clickatell.com/">Clickatell</a>, which is used here) and access to their HTTP API, if they have one. Not the only way to send a text message, I know, but <a href="http://en.wikipedia.org/wiki/SS7">SS7</a> Gateways can provide guaranteed message delivery to the subscriber.</p>
<pre class="code"><span style="color: rgb(0,0,255)">using System;
</span><span style="color: rgb(0,0,255)">using</span> System.ComponentModel;
<span style="color: rgb(0,0,255)">using</span> System.IO;
<span style="color: rgb(0,0,255)">using</span> System.Net;
<span style="color: rgb(0,0,255)">using</span> System.Text;
<span style="color: rgb(0,0,255)">using</span> System.Workflow.ComponentModel;
<span style="color: rgb(0,0,255)">using</span> System.Workflow.ComponentModel.Design;

<span style="color: rgb(0,0,255)">namespace</span> MyCompany.Workflow.Messaging.Activities
{
    <span style="color: rgb(0,0,255)">public</span> <span style="color: rgb(0,0,255)">class</span> <span style="color: rgb(43,145,175)">SendSMSActivity</span> : <span style="color: rgb(43,145,175)">Activity
</span>    {
        <span style="color: rgb(0,0,255)">public</span> <span style="color: rgb(0,0,255)">static</span> <span style="color: rgb(43,145,175)">DependencyProperty</span> NumberProperty =
            <span style="color: rgb(43,145,175)">DependencyProperty</span>.Register(<span style="color: rgb(163,21,21)">&#8220;Number&#8221;</span>, <span style="color: rgb(0,0,255)">typeof</span>(System.<span style="color: rgb(43,145,175)">String</span>),
            <span style="color: rgb(0,0,255)">typeof</span>(<span style="color: rgb(43,145,175)">SendSMSActivity</span>));
        <span style="color: rgb(0,0,255)">public</span> <span style="color: rgb(0,0,255)">static</span> <span style="color: rgb(43,145,175)">DependencyProperty</span> MessageProperty =
            <span style="color: rgb(43,145,175)">DependencyProperty</span>.Register(<span style="color: rgb(163,21,21)">&#8220;Message&#8221;</span>, <span style="color: rgb(0,0,255)">typeof</span>(System.<span style="color: rgb(43,145,175)">String</span>),
            <span style="color: rgb(0,0,255)">typeof</span>(<span style="color: rgb(43,145,175)">SendSMSActivity</span>));

        [<span style="color: rgb(43,145,175)">DesignerSerializationVisibilityAttribute
</span>            (<span style="color: rgb(43,145,175)">DesignerSerializationVisibility</span>.Visible)]
        [<span style="color: rgb(43,145,175)">BrowsableAttribute</span>(<span style="color: rgb(0,0,255)">true</span>)]
        [<span style="color: rgb(43,145,175)">DescriptionAttribute</span>(<span style="color: rgb(163,21,21)">"Destination number of SMS message"</span>)]
        [<span style="color: rgb(43,145,175)">CategoryAttribute</span>(<span style="color: rgb(163,21,21)">"SendSMSActivity Number Property"</span>)]
        <span style="color: rgb(0,0,255)">public</span> <span style="color: rgb(0,0,255)">string</span> Number
        {
            <span style="color: rgb(0,0,255)">get
</span>            {
                <span style="color: rgb(0,0,255)">return</span> ((<span style="color: rgb(0,0,255)">string</span>)(<span style="color: rgb(0,0,255)">base</span>.GetValue(<span style="color: rgb(43,145,175)">SendSMSActivity</span>.NumberProperty)));
            }
            <span style="color: rgb(0,0,255)">set
</span>            {
                <span style="color: rgb(0,0,255)">base</span>.SetValue(<span style="color: rgb(43,145,175)">SendSMSActivity</span>.NumberProperty, <span style="color: rgb(0,0,255)">value</span>);
            }
        }

        [<span style="color: rgb(43,145,175)">DesignerSerializationVisibilityAttribute
</span>            (<span style="color: rgb(43,145,175)">DesignerSerializationVisibility</span>.Visible)]
        [<span style="color: rgb(43,145,175)">BrowsableAttribute</span>(<span style="color: rgb(0,0,255)">true</span>)]
        [<span style="color: rgb(43,145,175)">DescriptionAttribute</span>(<span style="color: rgb(163,21,21)">"Text of SMS message"</span>)]
        [<span style="color: rgb(43,145,175)">CategoryAttribute</span>(<span style="color: rgb(163,21,21)">"SendSMSActivity Message Property"</span>)]
        <span style="color: rgb(0,0,255)">public</span> <span style="color: rgb(0,0,255)">string</span> Message
        {
            <span style="color: rgb(0,0,255)">get
</span>            {
                <span style="color: rgb(0,0,255)">return</span> ((<span style="color: rgb(0,0,255)">string</span>)(<span style="color: rgb(0,0,255)">base</span>.GetValue(<span style="color: rgb(43,145,175)">SendSMSActivity</span>.MessageProperty)));
            }
            <span style="color: rgb(0,0,255)">set
</span>            {
                <span style="color: rgb(0,0,255)">base</span>.SetValue(<span style="color: rgb(43,145,175)">SendSMSActivity</span>.MessageProperty, <span style="color: rgb(0,0,255)">value</span>);
            }
        }

        <span style="color: rgb(0,0,255)">protected</span> <span style="color: rgb(0,0,255)">override</span> <span style="color: rgb(43,145,175)">ActivityExecutionStatus</span>
            Execute(<span style="color: rgb(43,145,175)">ActivityExecutionContext</span> context)
        {
            <span style="color: rgb(0,0,255)">string</span> response;

            <span style="color: rgb(0,0,255)">try
</span>            {
                <span style="color: rgb(0,128,0)">// Send the SMS Message
</span>                response = SendSMS(Number, Message);
            }
            <span style="color: rgb(0,0,255)">catch</span> (<span style="color: rgb(43,145,175)">Exception</span> e)
            {
                response = e.Message;
            }

            <span style="color: rgb(0,128,0)">// Raise the PageFinished event back to the host
</span>            messageSentEvent(<span style="color: rgb(0,0,255)">null</span>, <span style="color: rgb(0,0,255)">new</span> <span style="color: rgb(43,145,175)">MessageSentEventArgs</span>(response));

            <span style="color: rgb(0,128,0)">// Notify the runtime that the activity has finished
</span>            <span style="color: rgb(0,0,255)">return</span> <span style="color: rgb(43,145,175)">ActivityExecutionStatus</span>.Closed;
        }

        <span style="color: rgb(0,0,255)">public</span> <span style="color: rgb(0,0,255)">delegate</span> <span style="color: rgb(0,0,255)">void</span> <span style="color: rgb(43,145,175)">MessageSentEventHandler</span>(<span style="color: rgb(0,0,255)">object</span> sender,
            <span style="color: rgb(43,145,175)">MessageSentEventArgs</span> e);

        <span style="color: rgb(0,0,255)">private</span> <span style="color: rgb(0,0,255)">event</span> <span style="color: rgb(43,145,175)">MessageSentEventHandler</span> messageSentEvent;
        <span style="color: rgb(0,0,255)">public</span> <span style="color: rgb(0,0,255)">event</span> <span style="color: rgb(43,145,175)">MessageSentEventHandler</span> MessageSent
        {
            <span style="color: rgb(0,0,255)">add
</span>            {
                messageSentEvent += <span style="color: rgb(0,0,255)">value</span>;
            }
            <span style="color: rgb(0,0,255)">remove
</span>            {
                messageSentEvent -= <span style="color: rgb(0,0,255)">value</span>;
            }
        }

        <span style="color: rgb(0,0,255)">public</span> <span style="color: rgb(0,0,255)">string</span> SendSMS(<span style="color: rgb(0,0,255)">string</span> number, <span style="color: rgb(0,0,255)">string</span> text)
        {
            <span style="color: rgb(43,145,175)">WebClient</span> apiRequest = <span style="color: rgb(0,0,255)">new</span> <span style="color: rgb(43,145,175)">WebClient</span>();
            apiRequest.Credentials = <span style="color: rgb(43,145,175)">CredentialCache</span>.DefaultCredentials;

            <span style="color: rgb(0,128,0)">//Add a user agent header in case the requested URI contains a query
</span>            apiRequest.Headers.Add(<span style="color: rgb(163,21,21)">&#8220;user-agent&#8221;</span>,
            <span style="color: rgb(163,21,21)">&#8220;Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 2.0.50727;)&#8221;</span>);

            <span style="color: rgb(0,128,0)">//Add the SMS details to the apiRequest object
</span>            apiRequest.QueryString.Add(<span style="color: rgb(163,21,21)">&#8220;user&#8221;</span>, <span style="color: rgb(163,21,21)">&#8220;xxxxx&#8221;</span>);
            apiRequest.QueryString.Add(<span style="color: rgb(163,21,21)">&#8220;password&#8221;</span>, <span style="color: rgb(163,21,21)">&#8220;xxxxx&#8221;</span>);
            apiRequest.QueryString.Add(<span style="color: rgb(163,21,21)">&#8220;api_id&#8221;</span>, <span style="color: rgb(163,21,21)">&#8220;xxxxx&#8221;</span>);
            apiRequest.QueryString.Add(<span style="color: rgb(163,21,21)">&#8220;to&#8221;</span>, number);
            apiRequest.QueryString.Add(<span style="color: rgb(163,21,21)">&#8220;text&#8221;</span>, text);

            <span style="color: rgb(0,0,255)">string</span> baseURI = <span style="color: rgb(163,21,21)">&#8220;http://api.clickatell.com/http/sendmsg&#8221;</span>;

            <span style="color: rgb(43,145,175)">Stream</span> responseStream = apiRequest.OpenRead(baseURI);
            <span style="color: rgb(43,145,175)">StreamReader</span> reader = <span style="color: rgb(0,0,255)">new</span> <span style="color: rgb(43,145,175)">StreamReader</span>(responseStream);
            <span style="color: rgb(0,0,255)">string</span> responseCode = reader.ReadToEnd();

            <span style="color: rgb(0,128,0)">//Clean up in-memory objects
</span>            reader.Close();
            responseStream.Close();

            <span style="color: rgb(0,0,255)">return</span> (responseCode);
        }
    }

    <span style="color: rgb(0,0,255)">public</span> <span style="color: rgb(0,0,255)">class</span> <span style="color: rgb(43,145,175)">MessageSentEventArgs
</span>    {
        <span style="color: rgb(0,0,255)">private</span> <span style="color: rgb(0,0,255)">string</span> response;
        <span style="color: rgb(0,0,255)">public</span> <span style="color: rgb(0,0,255)">string</span> Response
        {
            <span style="color: rgb(0,0,255)">get</span> { <span style="color: rgb(0,0,255)">return</span> response; }
        }

        <span style="color: rgb(0,0,255)">public</span> MessageSentEventArgs(<span style="color: rgb(0,0,255)">string</span> response)
        {
            <span style="color: rgb(0,0,255)">this</span>.response = response;
        }
    }
}</pre>
<p><a href="http://11011.net/software/vspaste"></a>Like I said, nothing earth-shattering. However (and I won&#8217;t go into the details of WF here as there are plenty of good resources that do that) the end-result is a stand-alone Workflow Foundation Activity which encapsulates the business logic for distributing an SMS Text Message via&nbsp;our Gateway provider and which can be hosted in any application that provides the WF runtime. This Activity can easily be dropped into a container Sequential or State-Machine Workflow project (as I did when testing this activity on my machine), or it can be deployed to MOSS as a stand-alone activity which can be included in a Workflow built&nbsp;using SharePoint Designer. Two scenarios with different composers, both using&nbsp;the same asset. That&#8217;s the vision of <a href="http://en.wikipedia.org/wiki/Composite_applications">Composite Applications</a>. (As an aside, with the recent <a href="http://www.infoq.com/news/2007/10/Olso-announcement">Oslo announcement</a>, I imagine that we&#8217;re not far from a day where that same activity could be also be reused in BizTalk and Microsoft CRM, among others).</p>
<p>&nbsp;</p>
<p>So what do those scenarios look like?&nbsp;For the developer adding a custom activity to a WF Workflow, it&#8217;s a simple matter of dragging the activity from the Toolbox to the designer, then binding to the DependencyProperties (Number and Message in this case) and creating an event-handler to receive the event raised by the activity (in this case, sendSMSActivity_MessageSent). See the image below for an example:</p>
<p>&nbsp;</p>
<p><a href="http://www.userinexperience.com/wp-images/post-images/UsingWindowsWorkflowFoundationtoSMSEnabl_D915/CustomWFActivityInVS.png" atomicselection="true"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="309" alt="CustomWFActivityInVS" src="http://www.userinexperience.com/wp-images/post-images/UsingWindowsWorkflowFoundationtoSMSEnabl_D915/CustomWFActivityInVS_thumb.png" width="600" border="0"/></a></p>
<p>For an individual slinging&nbsp;SharePoint Designer, the experience is different, but also quite powerful. However, The first step I must take as an activity developer is to deploy said activity to the MOSS server. This requires deploying the Activity assembly to the GAC on the MOSS server, adding said assembly as a safe control in the web.config file, and adding the Activity to the WSS.actions file (or a new .actions file in the same directory, which is probably a better idea), which SharePoint designer uses to load up the list of available workflow actions. All of this can be done via a feature in SharePoint (I know that the first two can and I <em>think </em>that the last can, so feel free to comment if I am incorrect). Here is the code for the WSS.ACTIONS file (Added in the &lt;Actions&gt; section):</p>
<pre class="code"><span style="color: rgb(0,0,255)"></span><span style="color: rgb(163,21,21)">&lt;Action</span><span style="color: rgb(0,0,255)"> </span><span style="color: rgb(255,0,0)">Name</span><span style="color: rgb(0,0,255)">=</span>&#8220;<span style="color: rgb(0,0,255)">Send an SMS Text Message</span>&#8221;
<span style="color: rgb(255,0,0)">  ClassName</span><span style="color: rgb(0,0,255)">=</span>&#8220;<span style="color: rgb(0,0,255)">MyCompany.Workflow.Messaging.Activities.SendSMSActivity</span>&#8221;
<span style="color: rgb(255,0,0)">  Assembly</span><span style="color: rgb(0,0,255)">=</span>&#8220;<span style="color: rgb(0,0,255)">MyCompany.Workflow.Messaging.Activities, Version=1.0.0.0,
    Culture=neutral, PublicKeyToken=fe2315b70tbc147c</span>&#8221;
<span style="color: rgb(255,0,0)">  AppliesTo</span><span style="color: rgb(0,0,255)">=</span>&#8220;<span style="color: rgb(0,0,255)">all</span>&#8221;
<span style="color: rgb(255,0,0)">  Category</span><span style="color: rgb(0,0,255)">=</span>&#8220;<span style="color: rgb(0,0,255)">Messaging Actions</span>&#8220;<span style="color: rgb(0,0,255)">&gt;
  &lt;</span><span style="color: rgb(163,21,21)">RuleDesigner</span><span style="color: rgb(0,0,255)"> </span><span style="color: rgb(255,0,0)">Sentence</span><span style="color: rgb(0,0,255)">=</span>&#8220;<span style="color: rgb(0,0,255)">Send %1 to number %2</span>&#8220;<span style="color: rgb(0,0,255)">&gt;
    &lt;</span><span style="color: rgb(163,21,21)">FieldBind</span><span style="color: rgb(0,0,255)"> </span><span style="color: rgb(255,0,0)">Field</span><span style="color: rgb(0,0,255)">=</span>&#8220;<span style="color: rgb(0,0,255)">Message</span>&#8220;<span style="color: rgb(0,0,255)"> </span><span style="color: rgb(255,0,0)">Text</span><span style="color: rgb(0,0,255)">=</span>&#8220;<span style="color: rgb(0,0,255)">this message</span>&#8220;<span style="color: rgb(0,0,255)"> </span><span style="color: rgb(255,0,0)">DesignerType</span><span style="color: rgb(0,0,255)">=</span>&#8220;<span style="color: rgb(0,0,255)">TextBox</span>&#8220;<span style="color: rgb(0,0,255)"> </span><span style="color: rgb(255,0,0)">Id</span><span style="color: rgb(0,0,255)">=</span>&#8220;<span style="color: rgb(0,0,255)">1</span>&#8220;<span style="color: rgb(0,0,255)">/&gt;
    &lt;</span><span style="color: rgb(163,21,21)">FieldBind</span><span style="color: rgb(0,0,255)"> </span><span style="color: rgb(255,0,0)">Field</span><span style="color: rgb(0,0,255)">=</span>&#8220;<span style="color: rgb(0,0,255)">Number</span>&#8220;<span style="color: rgb(0,0,255)"> </span><span style="color: rgb(255,0,0)">Text</span><span style="color: rgb(0,0,255)">=</span>&#8220;<span style="color: rgb(0,0,255)">this number</span>&#8220;<span style="color: rgb(0,0,255)"> </span><span style="color: rgb(255,0,0)">DesignerType</span><span style="color: rgb(0,0,255)">=</span>&#8220;<span style="color: rgb(0,0,255)">TextBox</span>&#8220;<span style="color: rgb(0,0,255)"> </span><span style="color: rgb(255,0,0)">Id</span><span style="color: rgb(0,0,255)">=</span>&#8220;<span style="color: rgb(0,0,255)">2</span>&#8220;<span style="color: rgb(0,0,255)">/&gt;
  &lt;/</span><span style="color: rgb(163,21,21)">RuleDesigner</span><span style="color: rgb(0,0,255)">&gt;
  &lt;</span><span style="color: rgb(163,21,21)">Parameters</span><span style="color: rgb(0,0,255)">&gt;
    &lt;</span><span style="color: rgb(163,21,21)">Parameter</span><span style="color: rgb(0,0,255)"> </span><span style="color: rgb(255,0,0)">Name</span><span style="color: rgb(0,0,255)">=</span>&#8220;<span style="color: rgb(0,0,255)">Number</span>&#8220;<span style="color: rgb(0,0,255)"> </span><span style="color: rgb(255,0,0)">Type</span><span style="color: rgb(0,0,255)">=</span>&#8220;<span style="color: rgb(0,0,255)">System.String, mscorlib</span>&#8220;<span style="color: rgb(0,0,255)"> </span><span style="color: rgb(255,0,0)">Direction</span><span style="color: rgb(0,0,255)">=</span>&#8220;<span style="color: rgb(0,0,255)">In</span>&#8220;<span style="color: rgb(0,0,255)"> /&gt;
    &lt;</span><span style="color: rgb(163,21,21)">Parameter</span><span style="color: rgb(0,0,255)"> </span><span style="color: rgb(255,0,0)">Name</span><span style="color: rgb(0,0,255)">=</span>&#8220;<span style="color: rgb(0,0,255)">Message</span>&#8220;<span style="color: rgb(0,0,255)"> </span><span style="color: rgb(255,0,0)">Type</span><span style="color: rgb(0,0,255)">=</span>&#8220;<span style="color: rgb(0,0,255)">System.String, mscorlib</span>&#8220;<span style="color: rgb(0,0,255)"> </span><span style="color: rgb(255,0,0)">Direction</span><span style="color: rgb(0,0,255)">=</span>&#8220;<span style="color: rgb(0,0,255)">In</span>&#8220;<span style="color: rgb(0,0,255)"> /&gt;
  &lt;/</span><span style="color: rgb(163,21,21)">Parameters</span><span style="color: rgb(0,0,255)">&gt;
&lt;/</span><span style="color: rgb(163,21,21)">Action</span><span style="color: rgb(0,0,255)">&gt;</span></pre>
<p><a href="http://11011.net/software/vspaste"></a><a href="http://11011.net/software/vspaste"></a></p>
<p>Once that entry has been added, the activity is ready to be included in an SP Designer workflow. In this example, I bound the workflow to a custom list created in a demo site, set a condition to check the value of a key field, then added the &#8220;Send SMS Message&#8221; activity and configured its inputs. In this case, the message is constructed from existing information in the list and the destination number is determined by looking up the mobile phone of a user in another list. An image of the Workflow Designer Wizard in SP Designer can be seen below:</p>
<p>&nbsp;</p>
<p><a href="http://www.userinexperience.com/wp-images/post-images/UsingWindowsWorkflowFoundationtoSMSEnabl_D915/WFActivityInSharePointDesigner.png" atomicselection="true"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="392" alt="WFActivityInSharePointDesigner" src="http://www.userinexperience.com/wp-images/post-images/UsingWindowsWorkflowFoundationtoSMSEnabl_D915/WFActivityInSharePointDesigner_thumb.png" width="600" border="0"/></a></p>
<p>If the workflow validates, we&#8217;re in business and the activity will run each time a list item is added or updated and the field in question isn&#8217;t blank. Here is the Workflows application page, as seen from MOSS itself:</p>
<p>&nbsp;</p>
<p><a href="http://www.userinexperience.com/wp-images/post-images/UsingWindowsWorkflowFoundationtoSMSEnabl_D915/WFPageInMOSS.png" atomicselection="true"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="292" alt="WFPageInMOSS" src="http://www.userinexperience.com/wp-images/post-images/UsingWindowsWorkflowFoundationtoSMSEnabl_D915/WFPageInMOSS_thumb.png" width="600" border="0"/></a></p>
<p>In addition, that activity is now available to include in any workflow where sending an SMS notification is a requirement. You be the judge if this is a blessing or a curse&#8230; In either case my hope is that this post illustrates the power of composition. And MOSS is just an example in this case, not the end-all for composition by any means. What important in any composition scenario is a platform and technologies that provide the ability to create reusable assets and then&nbsp;reuse those&nbsp;assets across tiers and containers.</p>
<p>&nbsp;</p>
<div class="wlWriterSmartContent" id="0767317B-992E-4b12-91E0-4F059A8CECA8:db873261-dd7f-4c25-9760-763335899d9d" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">Technorati Tags: <a href="http://technorati.com/tags/Windows%20Workflow%20Foundation" rel="tag">Windows Workflow Foundation</a>, <a href="http://technorati.com/tags/MOSS%202007" rel="tag">MOSS 2007</a>, <a href="http://technorati.com/tags/MOSS" rel="tag">MOSS</a>, <a href="http://technorati.com/tags/SharePoint" rel="tag">SharePoint</a>, <a href="http://technorati.com/tags/SharePoint%20Designer" rel="tag">SharePoint Designer</a>, <a href="http://technorati.com/tags/Composite%20Applications" rel="tag">Composite Applications</a>, <a href="http://technorati.com/tags/Architecture" rel="tag">Architecture</a></div>
<p><a href="http://sharethis.com/item?&wp=2.5.1&amp;publisher=&amp;title=Using+Windows+Workflow+Foundation+to+SMS-Enable+MOSS&amp;url=http%3A%2F%2Fwww.userinexperience.com%2F2007%2F10%2F31%2Fusing-windows-workflow-foundation-to-sms-enable-moss%2F">ShareThis</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.userinexperience.com/2007/10/31/using-windows-workflow-foundation-to-sms-enable-moss/feed/</wfw:commentRss>
		</item>
		<item>
		<title>How does IT Move?</title>
		<link>http://www.userinexperience.com/2007/10/29/how-does-it-move/</link>
		<comments>http://www.userinexperience.com/2007/10/29/how-does-it-move/#comments</comments>
		<pubDate>Mon, 29 Oct 2007 20:25:39 +0000</pubDate>
		<dc:creator>Brandon Satrom</dc:creator>
		
		<category><![CDATA[Business]]></category>

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

		<category><![CDATA[Enterprise Architecture]]></category>

		<guid isPermaLink="false">http://www.userinexperience.com/2007/10/29/how-does-it-move/</guid>
		<description><![CDATA[&#160;
I&#8217;ve worked for organizations where IT moves too fast (and thus wastes money and alienates customers) and others where IT moves too slow (and thus the customers go around IT as much as possible). I&#8217;ve also worked in places where IT does both, often in the same day.
&#160;
This week, I have the pleasure of sitting [...]<script type="text/javascript">SHARETHIS.addEntry({ title: "How does IT Move?", url: "http://www.userinexperience.com/2007/10/29/how-does-it-move/" });</script>]]></description>
			<content:encoded><![CDATA[<p>&nbsp;</p>
<p>I&#8217;ve worked for organizations where IT moves too fast (and thus wastes money and alienates customers) and others where IT moves too slow (and thus the customers go around IT as much as possible). I&#8217;ve also worked in places where IT does both, often in the same day.</p>
<p>&nbsp;</p>
<p>This week, I have the pleasure of sitting in all-day meetings related to a series of IT infrastructure projects we are pursuing. The folks in charge of coordinating this effort brought in a vendor to lead&nbsp;a brief engagement designed to help IT project teams&nbsp;and key business stakeholders better understand how to proceed with these key projects. This is a noble goal, and it&#8217;s one I support. However,&nbsp;I fear that&nbsp;the engagement was put together too quickly and with almost no deliberation. It&#8217;s just my opinion, of course, and I&#8217;m sure that this engagement will&nbsp;have some value.&nbsp;I, for one, want to make sure that we obtain that value even though the process has been a bit hasty. But will it have equal value to the dollar amount on the contract? That I don&#8217;t know.</p>
<p>&nbsp;</p>
<p>To be fair, I&#8217;m certain that we&#8217;re moving quickly in this effort because we&#8217;ve been far too slow with similar efforts in the past. But, it seems as though the pendulum has swung the other direction. So here is the underlying question: How does IT get things done, without moving too fast or too slow? Here are a couple of my thoughts off the top of my head:</p>
<p>&nbsp;</p>
<p>1) Empower people in the right places - IT doesn&#8217;t need to poke it&#8217;s nose into all areas of the business just because something smells like technology. The question is, what information technologies do we need to be involved in?</p>
<p>&nbsp;</p>
<p>2) Respect the Business and Keep them Informed - IT managers like to talk about getting users in the room, then they go and demand they be present without respect for the ever-crushing workload which they have to deal with. If you need to move fast, and you need your customer, it&#8217;s your responsibility to move mountains for them, not ask that they do so for you.&nbsp;</p>
<p>&nbsp;</p>
<p>3) Remember who you are working for - An extension to number 2. Sometimes is looks like IT is the tail wagging the organizational dog, as if our&nbsp;business units&nbsp;exist to use our technologies. If IT feels the need to get things done fast, then I would imagine that there is a good business reason for doing so (there had better be). If that&#8217;s the case, its our responsibility to help the business understand how moving fast is our best bet for meeting that need. When we help the business understand that, they get in our corner and help us move as a partner, not someone we feel the need to drag along.</p>
<p>&nbsp;</p>
<p>What else am I missing here? Quite a bit, I&#8217;m sure, so additional thoughts would be appreciated.</p>
<p>&nbsp;</p>
<div class="wlWriterSmartContent" id="0767317B-992E-4b12-91E0-4F059A8CECA8:2247160d-a44a-42d1-9aad-3fc1b49c7bf1" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">Technorati Tags: <a href="http://technorati.com/tags/Business%20Architecture" rel="tag">Business Architecture</a>, <a href="http://technorati.com/tags/EA" rel="tag">EA</a>, <a href="http://technorati.com/tags/Enterprise%20Architecture" rel="tag">Enterprise Architecture</a></div>
<p><a href="http://sharethis.com/item?&wp=2.5.1&amp;publisher=&amp;title=How+does+IT+Move%3F&amp;url=http%3A%2F%2Fwww.userinexperience.com%2F2007%2F10%2F29%2Fhow-does-it-move%2F">ShareThis</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.userinexperience.com/2007/10/29/how-does-it-move/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Amazon S3: Now with SLA!</title>
		<link>http://www.userinexperience.com/2007/10/11/amazon-s3-now-with-sla/</link>
		<comments>http://www.userinexperience.com/2007/10/11/amazon-s3-now-with-sla/#comments</comments>
		<pubDate>Thu, 11 Oct 2007 20:29:17 +0000</pubDate>
		<dc:creator>Brandon Satrom</dc:creator>
		
		<category><![CDATA[Architecture]]></category>

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

		<category><![CDATA[Enterprise Architecture]]></category>

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

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

		<category><![CDATA[User Experience]]></category>

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

		<guid isPermaLink="false">http://www.userinexperience.com/2007/10/11/amazon-s3-now-with-sla/</guid>
		<description><![CDATA[Saw this post from Brady Forest on O&#8217;Reilly Radar, which points to the official announcement on the AWS blog. This may not mean as much to many of you who have been using S3 for a while now, but it&#8217;s big news for a guy like me because I know better than to bring technologies [...]<script type="text/javascript">SHARETHIS.addEntry({ title: "Amazon S3: Now with SLA!", url: "http://www.userinexperience.com/2007/10/11/amazon-s3-now-with-sla/" });</script>]]></description>
			<content:encoded><![CDATA[<p>Saw <a href="http://radar.oreilly.com/archives/2007/10/amazon_s3_gets.html">this post</a> from <a href="http://radar.oreilly.com/brady/">Brady Forest</a> on <a href="http://radar.oreilly.com/">O&#8217;Reilly Radar</a>, which points to the official announcement on the <a href="http://aws.typepad.com/aws/2007/10/amazon-s3-at-yo.html">AWS blog</a>. This may not mean as much to many of you who have been using <a href="http://www.amazon.com/S3-AWS-home-page-Money/b/ref=sc_fe_l_2/002-4364785-8624862?ie=UTF8&amp;node=16427261&amp;no=342430011&amp;me=A36L942TSJ2AJA">S3</a> for a while now, but it&#8217;s big news for a guy like me because I know better than to bring technologies like <a href="http://www.amazon.com/S3-AWS-home-page-Money/b/ref=sc_fe_l_2/002-4364785-8624862?ie=UTF8&amp;node=16427261&amp;no=342430011&amp;me=A36L942TSJ2AJA">S3</a>, <a href="http://www.amazon.com/b/ref=sc_fe_l_2/002-4364785-8624862?ie=UTF8&amp;node=201590011&amp;no=342430011&amp;me=A36L942TSJ2AJA">EC2</a> and <a href="http://www.amazon.com/Mechanical-Turk-AWS-home-page/b/ref=sc_fe_l_2/002-4364785-8624862?ie=UTF8&amp;node=15879911&amp;no=342430011&amp;me=A36L942TSJ2AJA">Mechanical Turk</a>&nbsp;into any serious internal conversation unless I can say &#8220;yes&#8221; to that SLA question. Looks like AWS is getting ready for prime time. And why not? Most of us have been expecting this for a while now.</p>
<p>&nbsp;</p>
<p>I will echo <a href="http://radar.oreilly.com/archives/2007/06/amzon_ec2_and_s.html">Arthur&#8217;s</a> request for more to the SLA, specifically for&nbsp;stats on uptime and availability. I think that <em>all services</em> should provide information like this to be as clear as possible in letting you know what you are getting by consuming said service (and our internal guidelines say as much), but this kind of information&nbsp;is especially vital with services in the cloud. I&#8217;m confident that they&#8217;ll get there, but in the meantime, I&#8217;ll echo that feature request.</p>
<p>&nbsp;</p>
<p>On another note, why the heck is O&#8217;Reilly charging $149 for a glorified whitepaper on <a href="http://radar.oreilly.com/research/reports/facebook.html">developing applications for Facebook</a>? I use Facebook. I like Facebook. I think there is something to be said about developing applications for it&#8230; in certain situations. But could we just take a moment to breathe here before they hype train carries us all away?</p>
<p>&nbsp;</p>
<div class="wlWriterSmartContent" id="0767317B-992E-4b12-91E0-4F059A8CECA8:9983a4fe-5a87-4612-91d8-e0177b71b230" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">Technorati Tags: <a href="http://technorati.com/tags/Amazon" rel="tag">Amazon</a>, <a href="http://technorati.com/tags/S3" rel="tag">S3</a>, <a href="http://technorati.com/tags/EC2" rel="tag">EC2</a>, <a href="http://technorati.com/tags/Mechanical%20Turk" rel="tag">Mechanical Turk</a>, <a href="http://technorati.com/tags/O'Reilly" rel="tag">O&#8217;Reilly</a>, <a href="http://technorati.com/tags/Facebook" rel="tag">Facebook</a></div>
<p><a href="http://sharethis.com/item?&wp=2.5.1&amp;publisher=&amp;title=Amazon+S3%3A+Now+with+SLA%21&amp;url=http%3A%2F%2Fwww.userinexperience.com%2F2007%2F10%2F11%2Famazon-s3-now-with-sla%2F">ShareThis</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.userinexperience.com/2007/10/11/amazon-s3-now-with-sla/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Links for 2007-10-06</title>
		<link>http://www.userinexperience.com/2007/10/06/links-for-2007-10-06/</link>
		<comments>http://www.userinexperience.com/2007/10/06/links-for-2007-10-06/#comments</comments>
		<pubDate>Sat, 06 Oct 2007 17:54:25 +0000</pubDate>
		<dc:creator>Brandon Satrom</dc:creator>
		
		<category><![CDATA[Architecture]]></category>

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

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

		<category><![CDATA[Enterprise Architecture]]></category>

		<category><![CDATA[Green IT]]></category>

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

		<guid isPermaLink="false">http://www.userinexperience.com/2007/10/06/links-for-2007-10-06/</guid>
		<description><![CDATA[&#160;


SOA: Sometimes it IS about the technology - Both Nick&#8217;s post and Andrew McAfee&#8217;s original&#160;are worth a read and right on. I think the pearl of wisdom is for all of us to stop advocating one extreme or the other (&#8221;x is about technology&#8221; vs &#8220;x is not&#8221;) all the time and start using wisdom, [...]<script type="text/javascript">SHARETHIS.addEntry({ title: "Links for 2007-10-06", url: "http://www.userinexperience.com/2007/10/06/links-for-2007-10-06/" });</script>]]></description>
			<content:encoded><![CDATA[<p>&nbsp;</p>
<ul>
<li>
<div><a href="http://ironick.typepad.com/ironick/2007/09/soa-sometimes-i.html">SOA: Sometimes it IS about the technology</a> - Both Nick&#8217;s post and Andrew McAfee&#8217;s <a href="http://blog.hbs.edu/faculty/amcafee/index.php/faculty_amcafee_v3/its_not_not_about_the_technology/">original</a>&nbsp;are worth a read and right on. I think the pearl of wisdom is for all of us to stop advocating one extreme or the other (&#8221;x is about technology&#8221; vs &#8220;x is not&#8221;) <em>all the time</em> and start using wisdom, common sense and a willingness to either talk about technology (when the situation calls for it, as Nick describes when one must know which &#8220;&#8230; goals are realistically achievable given current technology trends&#8221;) or leave technology out of the discussion (when the situation calls for us to convey to the business that we truly get their business need and aren&#8217;t simply looking for a way to implement the cool new technology).</div>
</li>
<li>
<div><a href="http://www.davidchappell.com/blog/2007/09/why-microsoft-should-not-support-sca.html">Why Microsoft Should Not Support SCA</a>&nbsp;- Bottom line as I read this: Microsoft doesn&#8217;t benefit and neither does anyone&nbsp;else. It makes sense, but David certainly makes SCA seem like&nbsp;less of a &#8220;big deal&#8221; standard than others want us to believe.&nbsp;Not sure what I think yet, but&nbsp; I would highly recommend David&#8217;s <a href="http://www.davidchappell.com/articles/Introducing_SCA.pdf">Introducing SCA</a> article. It&#8217;s a good read and provides a good overview of some big technology movements outside of the Microsoft world.</div>
</li>
<li>
<p><a href="http://simonguest.com/blogs/smguest/archive/2007/09/11/Green-Datacenter-Initiative.aspx">Green Datacenter Initiative</a>&nbsp;- The idea of &#8220;Green IT&#8221; is becoming a bigger and bigger deal as more organizations realize that Global Warming is not a joke (it never was) and that the measure corporate ethics and responsibility will increasingly include the impact of their <em>IT organization </em>on the environment. As Simon says, the measurement technology isn&#8217;t there yet, but why not start grassroots with your own PC. Downloaded the <a href="http://www.localcooling.com/">LocalCooling</a> app Simon links to and get an idea of how little things we all do as individuals <em>does</em> have an impact.</p>
</li>
</ul>
<p>&nbsp;</p>
<div class="wlWriterSmartContent" id="0767317B-992E-4b12-91E0-4F059A8CECA8:99299a48-66bc-4d5b-a59e-ed33579b3f36" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">Technorati Tags: <a href="http://technorati.com/tags/SOA" rel="tag">SOA</a>, <a href="http://technorati.com/tags/SCA" rel="tag">SCA</a>, <a href="http://technorati.com/tags/Microsoft" rel="tag">Microsoft</a>, <a href="http://technorati.com/tags/Green%20IT" rel="tag">Green IT</a>, <a href="http://technorati.com/tags/LocalCooling" rel="tag">LocalCooling</a></div>
<p><a href="http://sharethis.com/item?&wp=2.5.1&amp;publisher=&amp;title=Links+for+2007-10-06&amp;url=http%3A%2F%2Fwww.userinexperience.com%2F2007%2F10%2F06%2Flinks-for-2007-10-06%2F">ShareThis</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.userinexperience.com/2007/10/06/links-for-2007-10-06/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Links for 2007-10-04</title>
		<link>http://www.userinexperience.com/2007/10/04/links-for-2007-10-04/</link>
		<comments>http://www.userinexperience.com/2007/10/04/links-for-2007-10-04/#comments</comments>
		<pubDate>Thu, 04 Oct 2007 16:34:05 +0000</pubDate>
		<dc:creator>Brandon Satrom</dc:creator>
		
		<category><![CDATA[Architecture]]></category>

		<category><![CDATA[Information Architecture]]></category>

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

		<guid isPermaLink="false">http://www.userinexperience.com/2007/10/04/links-for-2007-10-04/</guid>
		<description><![CDATA[&#160;


Releasing the Source Code for the .NET Framework Libraries - Kudos Microsoft. No question that this is a good move.


TED 2007 - The seemingly impossible is possible&#160;(Video) - Hans Roslings uses some of the best information visualization I have ever seen (Google must agree, because they bought his Gapminder tool) to deliver a great 20 [...]<script type="text/javascript">SHARETHIS.addEntry({ title: "Links for 2007-10-04", url: "http://www.userinexperience.com/2007/10/04/links-for-2007-10-04/" });</script>]]></description>
			<content:encoded><![CDATA[<p>&nbsp;</p>
<ul>
<li>
<div><a href="http://weblogs.asp.net/scottgu/archive/2007/10/03/releasing-the-source-code-for-the-net-framework-libraries.aspx">Releasing the Source Code for the .NET Framework Libraries</a> - Kudos Microsoft. No question that this is a good move.</div>
</li>
<li>
<div><a href="http://www.gapminder.org/video/talks/ted-2007---the-seemingly-impossible-is-possible.html">TED 2007 - The seemingly impossible is possible</a>&nbsp;(Video) - Hans Roslings uses some of the best information visualization I have ever seen (Google must agree, because they bought his <a href="http://tools.google.com/gapminder/">Gapminder</a> tool) to deliver a great 20 minute presentation about how our cut and dry segmentation of the world into developed and developing countries is wrong and that we have the means and ability to eliminate poverty in our lifetimes. It&#8217;s well worth 20 minutes.</div>
</li>
<li>
<p><a href="http://darmano.typepad.com/logic_emotion/2007/09/is-twitter-usel.html">Is Twitter Useless, Asinine, or The Crocs of The Web?</a>&nbsp;I love the comparison of Twitter to Crocs and think it&#8217;s true: There are those that find Twitter pointless (my wife) and those that can&#8217;t understand why people can&#8217;t see the simple elegance of power of it (myself). But more than the ability for me to know where my friends are going for dinner, Twitter is a paradigm for&nbsp;multi-channel information sharing and that&nbsp;can be quite powerful&nbsp;for organizations&nbsp;as well as individuals.</p>
</li>
<li>
<p><a href="http://www.presentationzen.com/presentationzen/2007/09/steve-bill-redu.html">Learning from Bill Gates &amp; Steve Jobs</a>&nbsp;- Steve Jobs&#8217; amazing presentation skills isn&#8217;t news to anyone, but I like this post largely because of the side-by-side depiction of a Bill Gates slide deck and a Steve Jobs slide deck. It makes a strong point&#8230;</p>
</li>
</ul>
<p>&nbsp;</p>
<div class="wlWriterSmartContent" id="0767317B-992E-4b12-91E0-4F059A8CECA8:1f30a5a5-9cc2-4ba5-9371-1d351527a776" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">Technorati Tags: <a href="http://technorati.com/tags/.NET" rel="tag">.NET</a>, <a href="http://technorati.com/tags/ScottGu" rel="tag">ScottGu</a>, <a href="http://technorati.com/tags/TED" rel="tag">TED</a>, <a href="http://technorati.com/tags/Gapminder" rel="tag">Gapminder</a>, <a href="http://technorati.com/tags/Google%20Gears" rel="tag">Google Gears</a>, <a href="http://technorati.com/tags/Twitter" rel="tag">Twitter</a>, <a href="http://technorati.com/tags/Presentation%20Zen" rel="tag">Presentation Zen</a>, <a href="http://technorati.com/tags/Bill%20Gates" rel="tag">Bill Gates</a>, <a href="http://technorati.com/tags/Steve%20Jobs" rel="tag">Steve Jobs</a></div>
<p><a href="http://sharethis.com/item?&wp=2.5.1&amp;publisher=&amp;title=Links+for+2007-10-04&amp;url=http%3A%2F%2Fwww.userinexperience.com%2F2007%2F10%2F04%2Flinks-for-2007-10-04%2F">ShareThis</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.userinexperience.com/2007/10/04/links-for-2007-10-04/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Links for 2007-10-03</title>
		<link>http://www.userinexperience.com/2007/10/03/links-for-2007-10-03/</link>
		<comments>http://www.userinexperience.com/2007/10/03/links-for-2007-10-03/#comments</comments>
		<pubDate>Wed, 03 Oct 2007 18:59:38 +0000</pubDate>
		<dc:creator>Brandon Satrom</dc:creator>
		
		<category><![CDATA[Architecture]]></category>

		<category><![CDATA[Content Mangement]]></category>

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

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

		<guid isPermaLink="false">http://www.userinexperience.com/2007/10/03/links-for-2007-10-03/</guid>
		<description><![CDATA[&#160;


Office Live Workspace revealed: a free 250MB &#8220;SharePoint Lite&#8221; for everyone&#160;- This isn&#8217;t the Google killer since it&#8217;s not an &#8220;online&#8221; version of the classic office applications. What it is is the slow-moving-and-customer-ignorant-IT-organization killer, which is a great thing as far as I&#8217;m concerned. 


Sharepoint is not a good development platform&#160;/ SharePoint is a good [...]<script type="text/javascript">SHARETHIS.addEntry({ title: "Links for 2007-10-03", url: "http://www.userinexperience.com/2007/10/03/links-for-2007-10-03/" });</script>]]></description>
			<content:encoded><![CDATA[<p>&nbsp;</p>
<ul>
<li>
<div><a href="http://arstechnica.com/news.ars/post/20071001-office-live-workspace-a-free-250mb-sharepoint-lite-for-everyone.html">Office Live Workspace revealed: a free 250MB &#8220;SharePoint Lite&#8221; for everyone</a>&nbsp;- This isn&#8217;t the Google killer since it&#8217;s not an &#8220;online&#8221; version of the classic office applications. What it is is the slow-moving-and-customer-ignorant-IT-organization killer, which is a great thing as far as I&#8217;m concerned. </div>
</li>
<li>
<p><a href="http://codebetter.com/blogs/jeffrey.palermo/archive/2007/09/13/sharepoint-is-not-a-good-development-platform.aspx">Sharepoint is not a good development platform</a>&nbsp;/ <a href="http://andrewconnell.com/blog/archive/2007/09/24/6116.aspx">SharePoint is a good development platform for applications</a> / <a href="http://blogs.msdn.com/joelo/archive/2007/09/24/sharepoint-is-an-awesome-dev-app-platform.aspx">SharePoint is an Awesome Dev App Platform</a>&nbsp;- One of our SA&#8217;s said early on in his experience with MOSS 2007 application development that &#8220;MOSS takes the rapid out of Rapid Application Development,&#8221; which I think is true in the OOB development experience. Since then, however,&nbsp;we have been able to experiment with varying ways to develop apps in MOSS and have started to see areas where we can create value and assist in speed by abstracting out some of the complexity. That being said, Visual Studio needs to catch up and help make that development experience richer. As <a href="http://andrewconnell.com/blog">Andrew Connell</a>&nbsp;<a href="http://andrewconnell.com/blog/archive/2007/09/24/6116.aspx">said</a>, that&#8217;s a knock on tooling and the development environment, not the platform itself.</p>
</li>
<li>
<p><a href="http://www.codeplex.com/FacetedSearch">MOSS Faceted Search</a>&nbsp;(CodePlex)&nbsp;- If you&#8217;re using or plan to use MOSS and you want your users to get the most value out of Search, I would recommend taking a serious look at faceted search.</p>
</li>
</ul>
<p>&nbsp;</p>
<p>All MOSS Links today&#8230; some days are just like that I suppose. <img src='http://www.userinexperience.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>&nbsp;</p>
<div class="wlWriterSmartContent" id="0767317B-992E-4b12-91E0-4F059A8CECA8:7629e631-c3e1-4ee1-90b7-65846b53c462" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">Technorati Tags: <a href="http://technorati.com/tags/MOSS%202007" rel="tag">MOSS 2007</a>, <a href="http://technorati.com/tags/Search" rel="tag">Search</a>, <a href="http://technorati.com/tags/Architecture" rel="tag">Architecture</a>, <a href="http://technorati.com/tags/ECM" rel="tag">ECM</a>, <a href="http://technorati.com/tags/Portal" rel="tag">Portal</a>, <a href="http://technorati.com/tags/.NET" rel="tag">.NET</a>, <a href="http://technorati.com/tags/SharePoint" rel="tag">SharePoint</a></div>
<p><a href="http://sharethis.com/item?&wp=2.5.1&amp;publisher=&amp;title=Links+for+2007-10-03&amp;url=http%3A%2F%2Fwww.userinexperience.com%2F2007%2F10%2F03%2Flinks-for-2007-10-03%2F">ShareThis</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.userinexperience.com/2007/10/03/links-for-2007-10-03/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Composite Applications Visualized</title>
		<link>http://www.userinexperience.com/2007/09/06/composite-applications-visualized/</link>
		<comments>http://www.userinexperience.com/2007/09/06/composite-applications-visualized/#comments</comments>
		<pubDate>Thu, 06 Sep 2007 15:11:30 +0000</pubDate>
		<dc:creator>Brandon Satrom</dc:creator>
		
		<category><![CDATA[Architecture]]></category>

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

		<category><![CDATA[Enterprise Architecture]]></category>

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

		<category><![CDATA[User Experience]]></category>

		<guid isPermaLink="false">http://www.userinexperience.com/2007/09/06/composite-applications-visualized/</guid>
		<description><![CDATA[I published v1 of my Composite Applications Framework document last Thursday and am pretty pleased with the result. As with all things, it will evolve and improve over time, but I think it was a decent first salvo. I am indebted to Mike Walker and Todd Biske for their input. My favorite part about blogging [...]<script type="text/javascript">SHARETHIS.addEntry({ title: "Composite Applications Visualized", url: "http://www.userinexperience.com/2007/09/06/composite-applications-visualized/" });</script>]]></description>
			<content:encoded><![CDATA[<p>I published v1 of my Composite Applications Framework document last Thursday and am pretty pleased with the result. As with all things, it will evolve and improve over time, but I think it was a decent first salvo. I am indebted to <a href="http://blogs.msdn.com/mikewalker/archive/2007/08/26/justifying-the-need-for-composite-applications.aspx">Mike Walker</a> and <a href="http://www.biske.com/blog/?p=259">Todd Biske</a> for their input. My favorite part about blogging is being able to have access to and input from such brilliant people.</p>
<p>&nbsp;</p>
<p>As I worked back through the draft of the document, I realized that some key visuals were missing in relation to the various composition terms I wrote about in <a href="http://www.userinexperience.com/2007/08/29/composition-assembling-assets-into-applications/">my last post</a>, as well as a&nbsp;view of the CAF architecture. I don&#8217;t have time to go into these in detail, but I&#8217;ll post them here. Feel free to refer back to my previous <a href="http://www.userinexperience.com/2007/08/29/composition-assembling-assets-into-applications/">two</a> <a href="http://www.userinexperience.com/2007/08/26/the-need-for-application-composition/">posts</a> for more context. As always, I&#8217;d love any feedback that anyone is willing to throw my way.</p>
<p>&nbsp;</p>
<p>This first image was designed to depict the relationship between some of the composition terms I used in <a href="http://www.userinexperience.com/2007/08/29/composition-assembling-assets-into-applications/">my last post</a>.</p>
<p><a href="http://www.userinexperience.com/wp-images/post-images/CompositeApplicationsVisualized_7069/image.png" atomicselection="true"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="269" alt="image" src="http://www.userinexperience.com/wp-images/post-images/CompositeApplicationsVisualized_7069/image_thumb.png" width="524" border="0"/></a> </p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>The second image expands on the first, but includes example tiers, containers and assets. Many of these examples are specific to the Microsoft universe, specifically MOSS 2007, while others are generic.</p>
<p><a href="http://www.userinexperience.com/wp-images/post-images/CompositeApplicationsVisualized_7069/image_6.png" atomicselection="true"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="693" alt="image" src="http://www.userinexperience.com/wp-images/post-images/CompositeApplicationsVisualized_7069/image_thumb_6.png" width="513" border="0"/></a> </p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>The final image depicts many of the technologies&nbsp;that I believe play a key role in a CAF. This is not meant to be an end-all-be-all list, or even the best depiction available. Just food for thought.</p>
<p>&nbsp;</p>
<p><a href="http://www.userinexperience.com/wp-images/post-images/CompositeApplicationsVisualized_7069/image_3.png" atomicselection="true"></a><a href="http://www.userinexperience.com/wp-images/post-images/CompositeApplicationsVisualized_7069/image_5.png" atomicselection="true"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="478" alt="image" src="http://www.userinexperience.com/wp-images/post-images/CompositeApplicationsVisualized_7069/image_thumb_5.png" width="590" border="0"/></a> </p>
<p><a href="http://www.userinexperience.com/wp-images/post-images/CompositeApplicationsVisualized_7069/image_3.png" atomicselection="true"></a>&nbsp;</p>
<p>So there you have it.</p>
<p>&nbsp;</p>
<p>On a personal note, I&#8217;m off for a two week computer-less vacation this afternoon, so&nbsp;the blog will&nbsp;be silent during that time. I&#8217;ll be back in the swing of things on September 22nd and hopefully I won&#8217;t be so buried in the blogs I read that I&#8217;ll have a moment to write a thing or two that weekend.</p>
<p><a href="http://sharethis.com/item?&wp=2.5.1&amp;publisher=&amp;title=Composite+Applications+Visualized&amp;url=http%3A%2F%2Fwww.userinexperience.com%2F2007%2F09%2F06%2Fcomposite-applications-visualized%2F">ShareThis</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.userinexperience.com/2007/09/06/composite-applications-visualized/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Links for 2007-09-06</title>
		<link>http://www.userinexperience.com/2007/09/06/links-for-2007-09-06/</link>
		<comments>http://www.userinexperience.com/2007/09/06/links-for-2007-09-06/#comments</comments>
		<pubDate>Thu, 06 Sep 2007 13:04:34 +0000</pubDate>
		<dc:creator>Brandon Satrom</dc:creator>
		
		<category><![CDATA[EA]]></category>

		<category><![CDATA[Enterprise Architecture]]></category>

		<category><![CDATA[Knowledge Management]]></category>

		<category><![CDATA[User Experience]]></category>

		<category><![CDATA[Web Usability]]></category>

		<guid isPermaLink="false">http://www.userinexperience.com/2007/09/06/links-for-2007-09-06/</guid>
		<description><![CDATA[&#160;


The Importance of Mentor&#160;- Joe Says: &#8220;I say if you want to do something with your life and are willing to make a life-changing and risky change in your life to pursue that goal, then stop being such a chicken and go for it.&#8221; Agreed. Great post Joe.


SOA and the ROI - If you sell [...]<script type="text/javascript">SHARETHIS.addEntry({ title: "Links for 2007-09-06", url: "http://www.userinexperience.com/2007/09/06/links-for-2007-09-06/" });</script>]]></description>
			<content:encoded><![CDATA[<p>&nbsp;</p>
<ul>
<li>
<p><a href="http://www.sanbeiji.com/archives/806">The Importance of Mentor</a>&nbsp;- Joe Says: &#8220;I say if you want to do something with your life and are willing to make a life-changing and risky change in your life to pursue that goal, then stop being such a chicken and go for it.&#8221; Agreed. Great post Joe.</p>
</li>
<li>
<p><a href="http://blogs.ittoolbox.com/eai/madgreek/archives/soa-and-the-roi-18497">SOA and the ROI</a> - If you sell SOA without ties to MDM, Portals or Process Improvement initiatives, you&#8217;re just selling a technology with the ability for reuse, but no framework to foster reuse.</p>
</li>
<li>
<p><a href="http://www.visual-literacy.org/periodic_table/periodic_table.html">Periodic Table of Visualization Methods</a> - Just about every conceivable way to visualize information is on this table, with examples. A great resource to keep around for a visual learner such as I.</p>
</li>
</ul>
<p>&nbsp;</p>
<div class="wlWriterSmartContent" id="0767317B-992E-4b12-91E0-4F059A8CECA8:592e526f-13c1-4c16-9ec4-21ab5d22f52d" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">Technorati Tags: <a href="http://technorati.com/tags/Mentor" rel="tag">Mentor</a>, <a href="http://technorati.com/tags/SOA" rel="tag">SOA</a>, <a href="http://technorati.com/tags/Information%20Visualization" rel="tag">Information Visualization</a></div>
<p><a href="http://sharethis.com/item?&wp=2.5.1&amp;publisher=&amp;title=Links+for+2007-09-06&amp;url=http%3A%2F%2Fwww.userinexperience.com%2F2007%2F09%2F06%2Flinks-for-2007-09-06%2F">ShareThis</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.userinexperience.com/2007/09/06/links-for-2007-09-06/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Composition: Assembling Assets into Applications</title>
		<link>http://www.userinexperience.com/2007/08/29/composition-assembling-assets-into-applications/</link>
		<comments>http://www.userinexperience.com/2007/08/29/composition-assembling-assets-into-applications/#comments</comments>
		<pubDate>Wed, 29 Aug 2007 22:35:44 +0000</pubDate>
		<dc:creator>Brandon Satrom</dc:creator>
		
		<category><![CDATA[Architecture]]></category>

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

		<category><![CDATA[Enterprise Architecture]]></category>

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

		<guid isPermaLink="false">http://www.userinexperience.com/2007/08/29/composition-assembling-assets-into-applications/</guid>
		<description><![CDATA[&#160;
In my last post, I posted an except from a strategy document I am working on around the creation of a Composite Application Framework (CAF). The section I posted dealt specifically with the need for application composition within IT. Soon after I posted, Mike Walker, an Architect with Microsoft&#8217;s Architecture Strategy team, posted a response [...]<script type="text/javascript">SHARETHIS.addEntry({ title: "Composition: Assembling Assets into Applications", url: "http://www.userinexperience.com/2007/08/29/composition-assembling-assets-into-applications/" });</script>]]></description>
			<content:encoded><![CDATA[<p>&nbsp;</p>
<p>In my <a href="http://www.userinexperience.com/2007/08/26/the-need-for-application-composition/">last post</a>, I posted an except from a strategy document I am working on around the creation of a Composite Application Framework (CAF). The section I posted dealt specifically with the need for application composition within IT. Soon after I posted, <a href="http://blogs.msdn.com/MikeWalker/">Mike Walker</a>, an Architect with Microsoft&#8217;s Architecture Strategy team, posted a response with <a href="http://blogs.msdn.com/mikewalker/archive/2007/08/26/justifying-the-need-for-composite-applications.aspx">some thoughts of his own</a>. As I said in the comment section of that post, I think Mike&#8217;s additions&nbsp;were right on and plan to incorporate&nbsp;some of his thoughts and comments as I revise that section in the final publication.&nbsp;</p>
<p>&nbsp;</p>
<p>In the first section of his post, Mike took a moment to define the term &#8220;composite applications&#8221; using definitions from Gartner, BEA, IBM and pointed to Chris Keyser&#8217;s <a href="http://www.architecturejournal.net">Architecture Journal</a>&nbsp;paper from January, &#8220;<a href="http://msdn2.microsoft.com/en-us/library/bb266335.aspx">Composite Applications: The New Paradigm</a>.&#8221; The last was a key piece of my research and&nbsp;I highly recommend reading it as it discusses composition from a broader view than just SOA, which is contrary to&nbsp;the focus of most first generation thinking on composite applications.</p>
<p>&nbsp;</p>
<p>Mike&#8217;s definition aligns with what I included in the second section of my research paper, which I am posting here. This section shifts the focus&nbsp;from justifying the need to understanding all of the terms in the CA universe as we&#8217;ve defined it. Thus, it includes a bit more than just defining Composite Applications. Mike, I&#8217;d be interested in further thoughts or feedback you might have on this section. Same goes for anyone who wants to jump in. Here&#8217;s section two:</p>
<h3><a>Composition: Assembling Assets into Applications</a></h3>
<p>In order to create a Composite Applications Framework (CAF), one must first understand the vocabulary of composition and composite applications. This section introduces several terms and concepts important to the creation of a CAF. They are:  </p>
<p>&nbsp;  </p>
<p>1. Composition  </p>
<p>2. Composite Assets  </p>
<p>3. Composite Applications  </p>
<p>4. Composition Tiers, Composite Types and Containers  </p>
<p>5. Composers<br />
<h4><a>Composition</a></h4>
</p>
<p>According to Wiktionary, composition is the combining of different parts to make a whole. In the context of technology, composition is the combining of technology assets to create an application or solution which provides value to the business. According to Keyser, the term itself is a &#8220;&#8230; shift in computing from brittle, monolithic, developer-centric applications solving one particular problem, to agile, contextual, user-driven applications to support a particular business process.&#8221; (2006, p. 5) In addition to agile and user-driven applications, composition also &#8220;&#8230; includes personalization and customization abilities, so that users can easily and quickly modify specific functionality in the solution.&#8221; (Banerjee, What are Composite Applications?, 2006) In essence, <b><i>composition is the assembly of assets into applications which can be created and/ or modified quickly and are user-driven in nature</i></b>. Thus, enabling composition of assets into applications is the key and ultimate goal of a CAF.<br />
<h4><a>Composite Assets</a></h4>
</p>
<p>Within the realm of Composite Applications, a <b><i>composite asset is a discrete object with standalone value and functionality which can be combined with other objects to create an application of greater value than the sum of the individual objects</i></b>. Typically, this combination is in support of a business process or set of user goals. Within a CAF, the following objects&nbsp;can be&nbsp;considered assets for composition (Adapted from Banerjee, Building Office Business Applications, 2006 and What are Composite Applications?, 2006):  </p>
<p>&nbsp;
<ul>
<table cellspacing="0" cellpadding="2" width="400" border="0" unselectable="on">
<tbody>
<tr>
<td valign="top" width="200">
<ul>
<li>Documents</li>
</ul>
</td>
<td valign="top" width="200">
<ul>
<li>Dashboards</li>
</ul>
</td>
</tr>
<tr>
<td valign="top" width="200">
<ul>
<li>Business Activities</li>
</ul>
</td>
<td valign="top" width="200">
<ul>
<li>Portal Sites</li>
</ul>
</td>
</tr>
<tr>
<td valign="top" width="200">
<ul>
<li>Business Rules</li>
</ul>
</td>
<td valign="top" width="200">
<ul>
<li>Portal/ Web Pages</li>
</ul>
</td>
</tr>
<tr>
<td valign="top" width="200">
<ul>
<li>Schemas</li>
</ul>
</td>
<td valign="top" width="200">
<ul>
<li>Data Connections</li>
</ul>
</td>
</tr>
<tr>
<td valign="top" width="200">
<ul>
<li>Metrics</li>
</ul>
</td>
<td valign="top" width="200">
<ul>
<li>Authorizations</li>
</ul>
</td>
</tr>
<tr>
<td valign="top" width="200">
<ul>
<li>Web Parts</li>
</ul>
</td>
<td valign="top" width="200">
<ul>
<li>Reports</li>
</ul>
</td>
</tr>
<tr>
<td valign="top" width="200">
<ul>
<li>Web Services</li>
</ul>
</td>
<td valign="top" width="200">
<ul>
<li>UI Screens</li>
</ul>
</td>
</tr>
<tr>
<td valign="top" width="200">&nbsp;</td>
<td valign="top" width="200">&nbsp;</td>
</tr>
</tbody>
</table>
</ul>
<p>It should be obvious from this list that the creation of composite applications goes far beyond the assembly of WebParts on a screen to create a single interface. In fact, composite applications span all of these types and all of the traditional application tiers. To create a successful CAF, IT should create a CAF that allows most, if not all, of the assets listed above to be used in the creation of Composite applications.<br />
<h4><a>Composite Applications</a></h4>
</p>
<p>The term &#8220;composite applications&#8221; evokes many different meanings in the current landscape of information technology. A few examples are:
<ul>
<li>Applications created via the assembly of SOA services;  </li>
<li>The Business user&#8217;s equivalent of Web 2.0 &#8220;mashups;&#8221; (Keyser, 2006)  </li>
<li>Another form of integration and application development; (Frye, 2005)</li>
</ul>
<p>&nbsp;</p>
<p>While these are all valid interpretations, they are also nearly all tied to first generation ideas around the meaning and intent of composite applications. Core to that idea was that the only useful assets for composition were either Web Services or entire User Interfaces. Thus, much of the current writing and thinking around composite applications centers on either the composition of fine-grained SOA services into &#8220;right-sized&#8221; business services, which are then wrapped in a UI and delivered to the user, or the creation of Web Parts which are dragged onto a portal screen, skinned&nbsp;and placed wherever the user desires.  </p>
<p>&nbsp;  </p>
<p>While we still hold the first generation thinking around composite applications to be true, we believe that composition is more than simple service composition or the creation of WebParts. Furthermore, composition is a reality for all of the assets listed above and also at every tier of an application and for each major type of composite application. Thus,&nbsp;a candidate&nbsp;definition of a composite application is &#8220;&#8230; <b><i>a collection of software assets that have been assembled to provide a business capability. These assets are artifacts that can be deployed independently, enable composition, and leverage specific platform capabilities</i></b>.&#8221; (Banerjee, What are Composite Applications?, 2006, p. 12)<br />
<h4><a>Composition Tiers, Composite Types and Containers</a></h4>
</p>
<p>Because a CAF should support more than service and WebPart composition, it is important to understand the tiers of composite applications, types of composite applications and the containers available at each tier. An understanding of each enables solution teams to determine the appropriate placement for a composite application.  </p>
<p>&nbsp;  </p>
<p><b><i>Composition Tiers are application layers that provide services to composite applications.</i></b>  </p>
<p><strong><em></em></strong>&nbsp;  </p>
<p><b><i>Composite Types are categories of composite applications which map to each composition tier.</i></b>  </p>
<p><strong><em></em></strong>&nbsp;  </p>
<p><b><i>Containers are shells which can host any or all of the assets that make up a composite application. </i></b> </p>
<p><strong><em></em></strong>&nbsp;  </p>
<p><a><strong>Presentation Tier&nbsp;- UI Composites</strong></a></p>
<p>The primary function of the presentation tier is to present business information to knowledge workers and actions to perform on said information. Composition at this tier is called composition &#8220;at the glass.&#8221; (Sholler, 2006) UI Composition is one of the most common forms of composition and is often assumed to be the only tier at which composition takes place because of its broad use and visibility. However, this misconception often causes organizations to attempt to create a CAF simply by creating a &#8220;whole cloth&#8221; UI through which all applications must be surfaced. The result is a single interface (instead of a unified User Experience) which ends up constraining business users and diminishes the value of a CAF.  </p>
<p>&nbsp;  </p>
<p>Instead of a one-size fits all CAF with exclusive UI composition, organizations maximize the value of a CAF by leveraging composition at the level where it is the most appropriate option for a given composite application. In the case of UI composites, these are most appropriate when the resulting composite application should describe the sequence of interactions the end user will need to follow in order to use the application. (Sholler, 2006) In addition to sequenced composites, UI composites are also appropriate for &#8220;informal and unintended compositions.&#8221; (Keyser, 2006, p. 3) In both cases, an Enterprise Portal environment is the ideal host for these types of composite applications.  </p>
<p>&nbsp;  </p>
<p><a><strong>Application Tier&nbsp;- Service/ Integration Composites</strong></a></p>
<p>Composition at the application tier typically involves the creation of new services from existing services to enable a business process or set of user goals. Composites created from existing services are new services themselves which may also be candidates for composition. These services are usually managed by an integration/ orchestration engine such as Microsoft BizTalk Server. Similar to Presentation Tier composites, these composites can have UI elements and trigger user interactions, but the key difference is that the actual composition takes place at the service level. These types of composites are most appropriate when the composition describes automated business activities or a subset of an automated business process. (Sholler, 2006)  </p>
<p>&nbsp;</p>
<p><a><strong>Data Tier&nbsp;- Data/ Information Composites</strong></a></p>
<p>Composition at the Data Tier consists of creating services for managing the content and relationships of a business entity. These services are designed to be the building blocks for the creation of other services and are typically not surfaced to a UI. Data Tier composites are most appropriate for consolidating views of shared reference information and are usually the foundation for SOA. Key to the success of Data Tier composition is the establishment of Enterprise Information Management (EIM) processes and practices in an organization. EIM practices, especially those targeted at Master Data Management (MDM) go a long way toward addressing many of the entity aggregation and information integration issues which typically plague SOA and CAF implementations.  </p>
<p><b></b>&nbsp;  </p>
<p><b><a><strong>Productivity</strong></a> Tier - Ad-hoc Composites</b>  </p>
<p>Productivity Tier composites are composites used to manage the &#8220;rhythm of the business:&#8221; those ad-hoc interactions, collaborations and processes which all knowledge workers rely on to accomplish their goals. While discussions around SOA, Enterprise Service Buses (ESBs) and open standards like WS-* and Service Component Architecture (SCA) are valuable, they are all