<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" version="2.0">

<channel>
	<title>ZapThink</title>
	
	<link>http://www.zapthink.com</link>
	<description>Sharpening Your Vision of the Future of IT</description>
	<lastBuildDate>Fri, 24 May 2013 21:01:00 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4.2</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/Zapthink" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="zapthink" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>The Problem with PaaS: Appropriate Abstraction</title>
		<link>http://www.zapthink.com/2013/05/24/the-problem-with-paas-appropriate-abstraction/</link>
		<comments>http://www.zapthink.com/2013/05/24/the-problem-with-paas-appropriate-abstraction/#comments</comments>
		<pubDate>Fri, 24 May 2013 21:01:00 +0000</pubDate>
		<dc:creator>Jason Bloomberg</dc:creator>
				<category><![CDATA[In the News]]></category>
		<category><![CDATA[Abstraction]]></category>
		<category><![CDATA[PaaS]]></category>
		<category><![CDATA[Platform-as-a-Service]]></category>

		<guid isPermaLink="false">http://www.zapthink.com/?p=15768</guid>
		<description><![CDATA[The PaaS CSP faces a double bind.]]></description>
			<content:encoded><![CDATA[<p><img src='http://www.zapthink.com/wp-content/plugins/simple-post-thumbnails/timthumb.php?src=/wp-content/thumbnails/15768.jpg&amp;w=64&amp;h=64&amp;zc=1&amp;ft=jpg' alt='post thumbnail' /></p>
<p>From the customer&#8217;s perspective, today&#8217;s PaaS is all about buyer beware. If you want your code to run the way you expect every time, then PaaS may not be appropriate for your needs. Bite the bullet, use IaaS, and install all your tools yourself. On the other hand, if you want to leverage the convenience and rapid development potential of PaaS, then get ready for the roller coaster. It&#8217;s going to be a bumpy ride.</p>
<p>Read the entire post at <a href="http://www.devx.com/blog/the-problem-with-paas.html">http://www.devx.com/blog/the-problem-with-paas.html</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zapthink.com/2013/05/24/the-problem-with-paas-appropriate-abstraction/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What’s on Your Summer Reading List? – Paul Leslie</title>
		<link>http://www.zapthink.com/2013/05/24/whats-on-your-summer-reading-list-paul-leslie/</link>
		<comments>http://www.zapthink.com/2013/05/24/whats-on-your-summer-reading-list-paul-leslie/#comments</comments>
		<pubDate>Fri, 24 May 2013 15:46:47 +0000</pubDate>
		<dc:creator>Jason Bloomberg</dc:creator>
				<category><![CDATA[In the News]]></category>
		<category><![CDATA[Agile Architecture Revolution]]></category>

		<guid isPermaLink="false">http://www.zapthink.com/?p=15766</guid>
		<description><![CDATA[The Agile Architecture Revolution by Jason Bloomberg.]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.amazon.com/Agile-Architecture-Revolution-REST-Based-Enterprise/dp/1118409779/ref=sr_1_1?s=books&amp;ie=UTF8&amp;qid=1369350971&amp;sr=1-1&amp;keywords=The+Agile+Architecture+Revolution" target="_blank">The Agile Architecture Revolution</a> by Jason Bloomberg.</p>
<p>Read the entire article at <a href="http://www.washingtonexec.com/2013/05/whats-on-your-summer-reading-list-paul-leslie-2/">http://www.washingtonexec.com/2013/05/whats-on-your-summer-reading-list-paul-leslie-2/</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zapthink.com/2013/05/24/whats-on-your-summer-reading-list-paul-leslie/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Perché è meglio evitare il private cloud?</title>
		<link>http://www.zapthink.com/2013/05/23/perche-e-meglio-evitare-il-private-cloud/</link>
		<comments>http://www.zapthink.com/2013/05/23/perche-e-meglio-evitare-il-private-cloud/#comments</comments>
		<pubDate>Thu, 23 May 2013 18:26:49 +0000</pubDate>
		<dc:creator>Jason Bloomberg</dc:creator>
				<category><![CDATA[In the News]]></category>
		<category><![CDATA[Cloud Security]]></category>
		<category><![CDATA[Private Cloud]]></category>
		<category><![CDATA[Public Cloud]]></category>

		<guid isPermaLink="false">http://www.zapthink.com/?p=15752</guid>
		<description><![CDATA[In una dimensione privata, l’idea di poter disporre di una capacità infinita è un’illusione. ]]></description>
			<content:encoded><![CDATA[<p>Modelli di cloud pubblico e privato a confronto. Ridisegnare le architetture IT a partire dall’analisi delle esigenze di business e dell’impatto dei costi.</p>
<p>Read the entire article at <a href="http://www.datamanager.it/rivista/perch-meglio-evitare-il-private-cloud-44957.html">http://www.datamanager.it/rivista/perch-meglio-evitare-il-private-cloud-44957.html</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zapthink.com/2013/05/23/perche-e-meglio-evitare-il-private-cloud/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>LZA SOA Training &amp; Certification: Estonia — September 24 – 27, 2013</title>
		<link>http://www.zapthink.com/2013/05/22/lza-soa-training-certification-estonia-september-24-27-2013/</link>
		<comments>http://www.zapthink.com/2013/05/22/lza-soa-training-certification-estonia-september-24-27-2013/#comments</comments>
		<pubDate>Wed, 22 May 2013 19:16:10 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[LZA Course]]></category>

		<guid isPermaLink="false">http://www.zapthink.com/2013/05/22/lza-soa-training-certification-estonia-september-24-27-2013/</guid>
		<description><![CDATA[LZA SOA Training &#38; Certification: Estonia &#8212; September 24 &#8211; 27, 2013 Tuesday September 24, 2013-Friday September 27, 2013 devtraining Toompuiestee 30 10149 Tallinn Estonia Price: &#8364;2,245.00 (including $250 early discount) [converted to 2893.36 USD] We offer additional discounts for groups of three or more people, government or non-profit employees, people who&#8217;ve taken a ZapThink [...]]]></description>
			<content:encoded><![CDATA[<p><div class='newtabsmenucontent'>
<div id='newTabs_li_0_15737' class='tabcontent'>
<br />
<strong>LZA SOA Training &amp; Certification: Estonia &#8212; September 24 &#8211; 27, 2013</strong><br />
<em>Tuesday September 24, 2013-Friday September 27, 2013</em><br />
devtraining<br />
Toompuiestee 30<br />
10149 Tallinn<br />
Estonia</p>
<p class="p_event_prices"><span class="span_event_price_label">Price: </span> <span class="span_event_price_value">&euro;2,245.00 (including $250 early discount) [converted to 2893.36 USD]</span><input type="hidden" name="event_cost" id="event_cost-105" value="2893.36"></p>
<p/>
<p><em>We offer additional discounts for groups of three or more people, government or non-profit employees, people who&#8217;ve taken a ZapThink class before, or individuals who are paying out of their own pocket. Please email us at <a href="mailto:info@zapthink.com">info@zapthink.com</a> for a discount code you can use when registering.</em></p>
<h2 style="padding: 5px; color: #0024ac; font-weight: bold;">ZapThink SOA Training &amp; Certification: The Leading Vendor Independent, Architect-Focused SOA Training</h2>
<p>ZapThink&#8217;s Licensed ZapThink Architect (LZA) SOA Training &amp; Certification Boot Camp is recognized around the world as the best single Service-Oriented Architecture training course available anywhere.
</p>
<p>
The LZA SOA Boot Camp is an intensive, four day &#8220;fire hose&#8221; of information that prepares you to succeed with your SOA efforts, whether you&#8217;re just beginning them or are well down the road with SOA. ZapThink&#8217;s LZA SOA Training reflects the best thinking and research that ZapThink produces.
</p>
<h2 style="padding: 5px; color: #ac2400; font-weight: bold;">Announcing Version 10.1 of the Licensed ZapThink Architect SOA course!</h2>
<p>
<strong><u>With new content on &#8220;next generation&#8221; SOA: more lightweight, decentralized, RESTful, and Cloud-friendly. We cover &#8220;first generation&#8221; SOA as well, of course: ESB-centric, Web Services-based. But many of today&#8217;s organizations are interested in moving past this heavyweight approach.</u>
</p>
<p>
Take the LZA course to learn how to leverage next generation SOA in your organization!</strong>
</p>
<p><center></p>
<div style="border: 2px solid #000000; width: 465px; margin: 20px; padding: 10px;"><em>ZapThink&#8217;s LZA SOA training &amp; certification has <strong>no prerequisites</strong>, and</em> <em>is <strong>designed for architects</strong>, but <strong>appropriate for people with different roles and levels of expertise</strong></em><em>. </em><em>This course is valuable for anyone who wants <strong>in-depth knowledge about how to succeed with SOA</strong>.</em></div>
<p></center>&nbsp;</p>
<h2>What makes the LZA SOA Boot Camp so special?</h2>
<ul>
	<a href="http://www.agilearchitecturerevolution.com"><img class="alignleft" style="margin: 20px;" src="http://jasonbloomberg.com/wp-content/uploads/2012/11/AAR-200-x-302.jpg" alt="" width="200" height="302" /></a></p>
<li><strong>Vendor independent</strong> &#8211; We discuss vendors in context, both good and bad. You get a balanced perspective on each vendor we discuss.</li>
<li><strong>Architect focused</strong> &#8211; The course concentrates on what architects have to do to be successful with SOA in their own organizations. We balance technology details with organizational approaches. If you&#8217;re not an architect you&#8217;ll learn how to think like one in this class!</li>
<li><strong>Practical</strong> &#8211; we connect theory to practice with what really works in organizations like yours.</li>
<li><strong>Current</strong> &#8211; we refresh the course on a regular basis to reflect the latest SOA best practices, as well as how SOA relates to other architectural challenges in the enterprise.</li>
<li><strong>Enterprise context</strong> &#8211; SOA is an approach to organizing enterprise IT resources to meet changing business needs. We place SOA into the context of large organizations, with complex, heterogeneous IT environments and all the politics and bureaucracy that every large organization faces.</li>
<li><strong>Globally recognized certification</strong> &#8211; Everybody who completes the LZA SOA Boot Camp obtains a certificate representing their LZA credential, giving you the right to call yourself a Licensed ZapThink Architect with all the privileges that come along with this exclusive credential.<img class="alignright" style="margin: 20px;" src="http://jasonbloomberg.com/wp-content/uploads/2012/11/Jason-Bloomberg-tight.jpg" alt="" width="200" height="273" align="right" hspace="20" vspace="20" /></li>
<li><strong>Led by globally recognized SOA thought leader</strong> &#8211; All ZapThink&#8217;s courses are developed and led by Jason Bloomberg, President of ZapThink. Jason has been an analyst with ZapThink since 2001 and is the co-author of <em>Service Orient or Be Doomed!</em> as well as his new book, <a href="http://www.agilearchitecturerevolution.com"><em>The Agile Architecture Revolution</em></a>.</li>
<li><strong>Not too technical, not too high-level</strong> &#8211; Unlike courses offered by others, we cover the technology without getting lost in the details. We discuss the big picture but connect it to the day-to-day reality of the IT shop.</li>
<li><strong>Available around the world</strong> &#8211; <a href="http://www.zapthink.com/soa-training-certification/"><u>See the event schedule</u></a> for all the locations we&#8217;re offering the LZA SOA Boot Camp!</li>
</ul>
<p>
<strong>One person in every class wins a copy of <a href="http://www.agilearchitecturerevolution.com"><em>The Agile Architecture Revolution</em></a>!
</p>
<p><center><a class="download" href="http://www.zapthink.com/?page_id=12085&#038;regevent_action=register&#038;event_id=105&#038;name_of_event=LZA+SOA+Training+%26amp%3B+Certification%3A+Estonia+--+September+24+-+27%2C+2013">REGISTER</a></center><br />
</div><div id='newTabs_li_1_15737' class='tabcontent'>
</p>
<table width="100%" border="0" cellspacing="1" cellpadding="2" bgcolor="#000000">
<tbody>
<tr bgcolor="#c0c0c0">
<td colspan="3" align="center">
<h1 style="text-align:center;"><font color=red>New!</font> Licensed ZapThink Architect<br/>SOA Boot Camp Version 10.1</h1>
</td>
</tr>
<tr bgcolor="#ffffaa">
<td colspan="3" align="center">
<h2>Day 1</h2>
</td>
</tr>
<tr bgcolor="#aaaaff">
<td colspan="3" align="center">Registration: 8:00 to 8:30 AM</td>
</tr>
<tr bgcolor="#aaffff">
<td colspan="3" align="center"><strong>LZA Introduction</strong></td>
</tr>
<tr bgcolor="#ffaaff">
<td colspan="3" align="center">
<h2>Module 1: SOA as Agile Architecture</h2>
</td>
</tr>
<tr bgcolor="#c0c0c0">
<td colspan="2">
<p>What is an Enterprise?</p>
<p>What all Enterprises Have in Common</p>
<p>What About Enterprise IT?</p>
<p>We need Architecture!</p>
<p>In Particular, Enterprise Architecture</p>
<p>SOA is EA Architectural Style</p>
<p>The Myth of the &#8220;Final State&#8221;</p>
<p>Missing Link: Business Agility!</p>
<p>So, what about the technology?</p>
<p>The Paradox of Legacy IT</p>
<p>The Promise of SOA</p>
<p>Business Services: The Core Abstraction of SOA</p>
<p>Composability &#038; Business Services</p>
<p>ZapThink&#8217;s Definition of SOA</p>
<p>Why SOA?</p>
<p>Is SOA All About Agility?</p>
<p>Cost Savings?</p>
<p>Increase Reuse?</p>
<p>Greater Visibility?</p>
<p>Business Empowerment?</p>
<p>Achieving Business Agility</p>
<p>How Does SOA Provide Business Agility?</p>
<p>Difference Between Traditional Integration &#038; SOA</p>
<p>Technical Architecture vs. Enterprise Architecture?</p>
</td>
<td>
<p>SOA Heralds New Approach to Architecture</p>
<p>Starting Point: (Traditional) Systems Engineering</p>
<p>AKA Waterfall Software Project</p>
<p>Enter Agile</p>
<p>Iterative/Agile Software Project</p>
<p>But We Still Have Problems</p>
<p>Not-So-Agile Updates to Existing Software</p>
<p>What Agile Software Should Really Look Like</p>
<p>Designing Beyond Use Cases</p>
<p>Where&#8217;s My Agility?</p>
<p>Agility as Emergent Property</p>
<p>What is an Emergent Property?</p>
<p>Examples of Emergent Properties</p>
<p>Introducing Complex Systems</p>
<p>The Problem with Traditional Systems</p>
<p>Changing the Focus of Engineering</p>
<p>Complex Systems Engineering?</p>
<p>Architecting only the Technology is Insufficient</p>
<p>The Missing Link: Governance</p>
<p>Governance: Architecting People</p>
<p>Not your Parents&#8217; Governance!</p>
<p>Next Generation Governance</p>
<p>Agile Architecture &#8211; Finally!</p>
<p><strong>Case Study: The Hartford<br />
</strong></td>
</tr>
<tr bgcolor="#ffaaff">
<td colspan="3" align="center">
<h2>Module 2: APIs to Services: Past &#038; Future</h2>
</td>
</tr>
<tr bgcolor="#c0c0c0">
<td colspan="2">
<p>In the Beginning, The Application was the Program</p>
<p>Imperative Programming</p>
<p>Enter Distributed Computing</p>
<p>Client/Server Architectures</p>
<p>Enter Functional Programming</p>
<p>Next up: Add OO to the Mix</p>
<p>Problem: Tight Coupling</p>
<p>Enter Declarative Programming</p>
<p>Contracted Interfaces</p>
<p>What are Services?(Technically, Service interfaces)</p>
<p>Consumers &#038; Providers</p>
<p>Web Services</p>
<p>Pros &#038; Cons of Web Services</p>
<p>WSDL Basics</p>
<p>Service Contract vs. Service Description</p>
<p>Registry-Based Discoverability</p>
<p>Location Independence</p>
<p>Web Services Initially followed RPC Style</p>
<p>SOAP: Verbose Message Transport</p>
<p>RPC Style Example</p>
<p>Problems with RPC Style</p>
<p>Should Web Services be Declarative?</p>
<p>Document Style Web Services</p>
<p>Document Style Example</p>
<p>Benefits of Document Style</p>
<p>Loose Coupling</p>
<p>Should All Interfaces Be Services?</p>
</td>
<td>
<p>Problems with Document Style Web Services</p>
<p>Contract Metadata Beyond WSDL</p>
<p>REST to the Rescue!</p>
<p>What is REST Anyway?</p>
<p>Is REST about APIs?</p>
<p>REST Myths</p>
<p>Essential REST Terminology</p>
<p>What is a Resource?</p>
<p>Uniform Interface</p>
<p>PUT vs. POST: Initializing a Resource</p>
<p>What is a Uniform Resource Identifier (URI)?</p>
<p>RESTful vs. RPC-based URIs</p>
<p>What is a Representation?</p>
<p>What are Hypermedia?</p>
<p>Four Architectural Constraints</p>
<p>Separation of Resource from Representation</p>
<p>Manipulation of Resources by Representations</p>
<p>Self-Descriptive Messages</p>
<p>Hypermedia as the Engine of Application State</p>
<p>Discoverability with REST</p>
<p>Discoverability &#038; Hypermedia</p>
<p>Custom Media Types</p>
<p>Contracted Services</p>
<p>Contract Metadata for REST</p>
<p>The REST Shell Game</p>
<p>The End of the Road</p>
<p><strong>Case Study: ABN Amro<br />
</strong></td>
</tr>
<tr bgcolor="#aaffff">
<td colspan="3" align="center"><strong>Exercise: SOA Return on Investment</strong></td>
</tr>
<tr bgcolor="#aaffff">
<td colspan="3" align="center"><strong>Homework: Service Model</strong></td>
</tr>
<tr bgcolor="#aaaaff">
<td colspan="3" align="center">Class Ends at 5:00 PM</td>
</tr>
<tr bgcolor="#ffffaa">
<td colspan="3" align="center">
<h2>Day Two</h2>
</td>
</tr>
<tr bgcolor="#aaaaff">
<td colspan="3" align="center">Class Begins at 8:30 AM</td>
</tr>
<tr bgcolor="#ffaaff">
<td colspan="3" align="center">
<h2>Module 3: SOA Intermediaries</h2>
</td>
</tr>
<tr bgcolor="#c0c0c0">
<td colspan="2">
<p>What&#8217;s a Service?</p>
<p>Levels of Service Abstraction</p>
<p>Statelessness</p>
<p>Service Interfaces Aren&#8217;t Good Enough</p>
<p>Abstractions: Simple on the Outside</p>
<p>Abstraction = Working Illusion</p>
<p>Building a Working Illusion</p>
<p>The Fundamental Technical Challenge of SOA</p>
<p>SOA &#8220;Magicians&#8217; Tricks&#8221;</p>
<p>Multiple Interfaces per Implementation</p>
<p>Multiple Implementations per Interface</p>
<p>Multiple Interfaces per Business Service</p>
<p>Actualizing the Business Service Abstraction</p>
<p>SOA Infrastructure Starting Point: The Intermediary</p>
<p>Some Intermediary Roles</p>
<p>Intermediaries and Service Fa&ccedil;ades</p>
<p>Buying an Intermediary?</p>
<p>No Clear ESB Definition</p>
<p>The ESB Pattern</p>
<p>The Great ESB/SOA Middleware Boondoggle</p>
<p>Buy More Middleware for SOA?</p>
<p>Heavyweight vs. Lightweight SOA</p>
<p>Thread-Based Execution</p>
<p>Service Mediation with Oracle Service Bus</p>
<p>ESB Federation?</p>
<p>Do You need an ESB for Service Mediation?</p>
<p>Intermediary-Based Service Abstraction</p>
<p>Another Approach: XML Appliances</p>
</td>
<td>
<p>IBM: Covering their Bets</p>
<p>Three Approaches to State</p>
<p>Web Services&#8217; Achilles Heel</p>
<p>Threads &#038; Queues</p>
<p>SOA Tenet: Asynchrony</p>
<p>Queue-Based Execution</p>
<p>SOA 2.0?</p>
<p>SOA &#038; Message Exchange Patterns</p>
<p>Messages vs. Events</p>
<p>EDA Visualized</p>
<p>Strong Decoupling?</p>
<p>EDA without vs. with SOA</p>
<p>So, Where&#8217;s the State?</p>
<p>Physical Service Architecture</p>
<p>Fiorano Brokered Peer-to-Peer Architecture</p>
<p>Process Coordinator</p>
<p>HATEOAS in Action</p>
<p>Explicit State Transitions in REST</p>
<p>REST Starting Point</p>
<p>Caching Options</p>
<p>Proxy Pattern</p>
<p>Gateway (Reverse Proxy) Pattern</p>
<p>Asynchronous REST</p>
<p>RESTful State Management Essential for the Cloud</p>
<p>Scalability &#038; State,The Old Way</p>
<p>Here&#8217;s Your App in the Cloud</p>
<p>Building Intermediary-Based SOA Infrastructure</p>
<p><strong>Case Study: US Coast Guard SPEAR (Semper Paratus: Enterprise Architecture Realization)<br />
</strong></td>
</tr>
<tr bgcolor="#ffaaff">
<td colspan="3" align="center">
<h2>Module 4: Service Composition &#038; Business Process</h2>
</td>
</tr>
<tr bgcolor="#c0c0c0">
<td colspan="2">
<p>What is a Business Process?</p>
<p>Problems with Traditional BPM Tooling</p>
<p>Business Process the Enterprise Application Way</p>
<p>Business Process the Service-Oriented Way</p>
<p>Service-Oriented Process</p>
<p>Metadata-Driven Applications</p>
<p>Process Definitions</p>
<p>Example: Orchestration vs. Choreography</p>
<p>What is the Sweet Spot for Service Composition?</p>
<p>SOA Composite Application Example</p>
<p>Enterprise Applications and Process</p>
<p>Example: SAP NetWeaver</p>
<p>Transactions and SOA</p>
<p>Compensating Transactions</p>
<p>Compensating Transaction Example</p>
<p>The Heavyweight ESB/Web Services Story</p>
<p>Web Services Orchestration</p>
</td>
<td>
<p>BPEL Example</p>
<p>Limitations of BPEL</p>
<p>Challenges with Declarative Approach</p>
<p>BPMN to the Rescue?</p>
<p>BPMN Example</p>
<p>Limitations of BPMN</p>
<p>How Architecture Has to Fill the Gap</p>
<p>Workflow &#038; Web Services</p>
<p>RESTful BPM</p>
<p>Composite Representation</p>
<p>Composite RESTful Service</p>
<p>Everything is a Resource</p>
<p>Examples of Process Representations</p>
<p>Example of REST Choreography</p>
<p>Follow Links to Learn About Processes</p>
<p>Some Benefits of REST-Based BPM</p>
<p><strong>Case Study: SOA Journey at BP<br />
</strong></td>
</tr>
<tr bgcolor="#aaffff">
<td colspan="3" align="center"><strong>Exercise: Service Composition</strong></td>
</tr>
<tr bgcolor="#aaffff">
<td colspan="3" align="center"><strong>Homework: Business Case</strong></td>
</tr>
<tr bgcolor="#aaaaff">
<td colspan="3" align="center">Class Ends at 5:00 PM</td>
</tr>
<tr bgcolor="#ffffaa">
<td colspan="3" align="center">
<h2>Day Three</h2>
</td>
</tr>
<tr bgcolor="#aaaaff">
<td colspan="3" align="center">Class Begins at 8:30 AM</td>
</tr>
<tr bgcolor="#ffaaff">
<td colspan="3" align="center">
<h2>Module 5: The Role of Data &amp; Semantics</h2>
</td>
</tr>
<tr bgcolor="#c0c0c0">
<td colspan="2">
<p>Data: Foundation for SOA</p>
<p>The Data Services Layer</p>
<p>Application Services vs. Data Services</p>
<p>Key Service Abstraction Enabler: Proper Granularity</p>
<p>Granularity Example</p>
<p>Achieving Proper Granularity</p>
<p>Zeroing in on Proper Granularity</p>
<p>Entity Services</p>
<p>Task Services</p>
<p>Utility (IS) Services</p>
<p>Should Services Be Nouns or Verbs?</p>
<p>Service Relationships Example</p>
<p>Task Service Benefit: Process Isomorphism</p>
<p>Service Layers</p>
<p>Alternate Service Layer Model</p>
<p>RESTful Service Layers</p>
<p>Designing Data Services</p>
</td>
<td>
<p>Performance vs. Flexibility</p>
<p>Supporting Data Services with Data Integration</p>
<p>Leveraging Data Services Layer</p>
<p>Semantic Level Understanding</p>
<p>Role of Application Semantics</p>
<p>Semantics: The Greatest Integration Challenge of SOA</p>
<p>Still a Manual Process</p>
<p>Resolving Semantic Issues</p>
<p>Industry-Specific Semantic Standards</p>
<p>RDF &#038; Web Services</p>
<p>Semantic Model Example: Maritime Information Exchange Model</p>
<p>What About Custom Media Types?</p>
<p>Custom Media Types &#038; HATEOAS</p>
<p>Custom Media Types &#038; RDF</p>
<p>In Progress: HAL (Hypertext App Language)</p>
<p><strong>Case Study: MyFoodAlerts.com<br />
</strong></td>
</tr>
<tr bgcolor="#ffaaff">
<td colspan="3" align="center">
<h2>Module 6: SOA Governance</h2>
</td>
</tr>
<tr bgcolor="#c0c0c0">
<td colspan="2">
<p>The Context for Governance</p>
<p>What is Organizational Governance?</p>
<p>Architecture-Driven Governance Maturity</p>
<p>How to Tackle Governance?</p>
<p>The Cornerstone of IT Governance is Architecture</p>
<p>Elements of IT Governance Strategy</p>
<p>Architecture Board</p>
<p>What is SOA Governance?</p>
<p>Step 1: Human-Centric SOA Governance</p>
<p>Central Tool: The Repository</p>
<p>Design Time Policy Examples</p>
<p>Additional SOA Governance Activities</p>
<p>Essential REST-Based SOA Policies</p>
<p>The Power of the SOA Center of Excellence</p>
<p>SOA Governance Board Activities</p>
<p>Creating the Governance Framework</p>
<p>Step 2: Technology-Centric SOA Governance</p>
<p>The Challenge of Policy Automation</p>
<p>Steps for Automating Policies</p>
<p>Supporting Policy Changes</p>
<p>&#8220;Meta&#8221; Thinking</p>
<p>Dealing with Change</p>
<p>Avoiding Hall of Mirrors Problem</p>
<p>What is a Policy?</p>
<p>Policy &#8220;Math&#8221;</p>
<p>Computing Effective Policy</p>
<p>WS-Policy Example</p>
<p>WS-PolicyAttachment</p>
<p>Policy Attachment to WSDL 1.1</p>
<p>Some Policy Standards</p>
<p>WS-SecurityPolicy Example (Policy &#038; Conforming Message)</p>
<p>Run Time Policy Examples</p>
<p>Management &#038; Loose Coupling</p>
<p>SOA Management: Many Facets</p>
<p>The Problem with SOA Management</p>
<p>The Vendor Name Game</p>
<p>The SOA Management Conundrum</p>
<p>SOA Monitoring &#038; Management</p>
<p>The First Rule of SOA Management</p>
<p>Change Time Policy Examples</p>
<p>What is a Registry?</p>
<p>What&#8217;s the Deal with UDDI?</p>
<p>The Registry/Repository</p>
<p>Registry/Repository as Heavyweight SOA Tool</p>
</td>
<td>
<p>Heavyweight SOA Governance Pitfall: Versioning</p>
<p>Handling Service Versioning</p>
<p>Versioning Concepts</p>
<p>Versioning Strategies</p>
<p>Strict, Flexible, and Loose Versioning</p>
<p>Versioning Policy Issues</p>
<p>Difference Between Web Services-Based SOA &#038; REST-Based SOA</p>
<p>Step 3: Technology-Centric Architecture-Driven Governance</p>
<p>Decoupling Policies from Services</p>
<p>Critical SOA Challenge: Security</p>
<p>Security Fundamentals</p>
<p>The Context of IT Security</p>
<p>XML Threat Prevention</p>
<p>Mitigating XML Threats</p>
<p>Web Services Security</p>
<p>WS-Security Tokens</p>
<p>Security Assertion Markup Language (SAML)</p>
<p>SAML Assertions</p>
<p>Federated Security</p>
<p>Securing RESTful Interactions</p>
<p>OAuth as FederatedAuthentication Mechanism</p>
<p>Is OAuth Doomed?</p>
<p>Cloud Security: Policy</p>
<p>Message-Level Security:Is SSL Sufficient?</p>
<p>Core Requirements for Securing Services</p>
<p>Policy Management &#038; Enforcement</p>
<p>Extending SOA Governance to the Cloud</p>
<p>Step 4: Human-Centric Architecture-Driven Governance</p>
<p>Changing Attractors</p>
<p>The Agility Model</p>
<p>Reusability vs. Usability</p>
<p>Achieving Reusability: Service Agnosticism</p>
<p>Designing for Reuse:Agnostic Context</p>
<p>Enabling Service Domains</p>
<p>Governance Challenge:Reuse = Sharing</p>
<p>Publishing &#038; Discovery Governance</p>
<p>Is Reuse a Real SOA Benefit?</p>
<p>Remember: Business Agility is a Requirement</p>
<p>Continuous Quality Activities</p>
<p>Quality &#038; Complex Systems</p>
<p>The SOA Quality Star</p>
<p>Best Effort SOA</p>
<p>Beyond SOA Governance</p>
</td>
</tr>
<tr bgcolor="#aaffff">
<td colspan="3" align="center"><strong>Exercise: SOA Governance</strong></td>
</tr>
<tr bgcolor="#aaaaff">
<td colspan="3" align="center">Class Ends at 5:00 PM</td>
</tr>
<tr bgcolor="#ffffaa">
<td colspan="3" align="center">
<h2>Day Four</h2>
</td>
</tr>
<tr bgcolor="#aaaaff">
<td colspan="3" align="center">Class Begins at 8:30 AM</td>
</tr>
<tr bgcolor="#ffaaff">
<td colspan="3" align="center">
<h2>Module 7: Planning &amp; Running the SOA Initiative</h2>
</td>
</tr>
<tr bgcolor="#c0c0c0">
<td colspan="2">
<p>Iterative: More than Step-by-Step</p>
<p>Iterate your Architecture?</p>
<p>Project Management for a SOA Project</p>
<p>Defining SOA Roadmap</p>
<p>Initial Assessments</p>
<p>Building Support for SOA</p>
<p>Building the SOA Business Case</p>
<p>Milestone / KPI Plan</p>
<p>The SOA Roadmap</p>
<p>SOA Maturity Models</p>
<p>Analogous to CMMI</p>
<p>SOA Maturity Model Pointers</p>
<p>Using a SOA Maturity Model</p>
<p>SOA Maturity Model: HP</p>
<p>SOA Maturity Model: Wipro</p>
<p>Open Group Service Integration Maturity Model (OSIMM)</p>
<p>&#8220;SOA&#8221; Maturity Model &#8211; Sonic/Systinet</p>
<p>SOA Maturity Model: Oracle</p>
<p>SOA Maturity Model: Software AG</p>
<p>Define The SOA Metamodel</p>
<p>SOA Foundation: Model-Driven Architecture</p>
</td>
<td>
<p>Implementing the Service Model</p>
<p>Define Initial Iteration</p>
<p>SOA Pilots</p>
<p>Implementation Planning</p>
<p>Service Identification: Top Down vs. Bottom Up</p>
<p>Defining Services Approach</p>
<p>Performance: Chasing the Bottleneck</p>
<p>Implementing Services: Methodologies for change</p>
<p>The Dual Lifecycle</p>
<p>The Service Lifecycle</p>
<p>Advanced Vision for Application Assembly</p>
<p>Where Should the Code Be?</p>
<p>Top-Down: Analyze Processes</p>
<p>Process Analysis &#038; Optimization</p>
<p>Discovering Existing Processes</p>
<p>Service Identification: Process Decomposition</p>
<p>Implementing Services</p>
<p>Defining New Compositions</p>
<p>Technology Selection</p>
<p>Purchasing SOA Technology</p>
<p>Technology Selection: Choices</p>
</ul>
<p><strong>Case Study: Novartis<br />
</strong></td>
</tr>
<tr bgcolor="#ffaaff">
<td colspan="3" align="center">
<h2>Module 8: Addressing SOA Organizational Challenges</h2>
</td>
</tr>
<tr bgcolor="#c0c0c0">
<td colspan="2">
<p>Organizational Issues</p>
<p>Common SOA Pitfalls</p>
<p>SOA by Any Name</p>
<p>SOA = Best Practices</p>
<p>The Wrong Question!</p>
<p>Iconoclastic vs. Dogmatic Architecture</p>
<p>Thinking Outside the SOA Box</p>
<p>SOA Growing Pains</p>
<p>Challenges in Calculating ROI</p>
<p>The Problems with Vendor-Driven Architecture</p>
<p>Challenge: The Right Amount of Governance</p>
<p>Avoid Policy Bloat</p>
<p>Avoid &#8220;Checklist Architecture&#8221;</p>
<p>Dealing with SOA Hype and Anti-Hype</p>
<p>Services Thinking</p>
<p>Is there an Architect in the House?</p>
<p>Hiring Architects</p>
<p>EA Challenges:The Role of the EA</p>
<p>Enterprise Architecture Challenges</p>
</td>
<td>
<p>Questions to Ask Your EA</p>
<p>Good Money after Bad</p>
<p>The SOA Consultant Conundrum</p>
<p>The SOA School Bus</p>
<p>Are &#8220;SOA&#8221; Consultants Qualified?</p>
<p>IT Governance Feedback Loop</p>
<p>Interaction Challenges</p>
<p>More Interaction Challenges</p>
<p>The &#8220;Ivory Tower&#8221; Problem</p>
<p>Convincing Technical Specialists</p>
<p>Working with IT Middle Management</p>
<p>Service Domain Roles</p>
<p>SOA Funding Models</p>
<p>Traditional IT Funding:Project Based</p>
<p>Initial SOA Funding</p>
<p>Funding Cross-Departmental SOA Initiatives</p>
<p>CapEx vs. OpEx</p>
<p>Budget Workarounds</p>
<p>Why is SOA Difficult?</p>
<tr bgcolor="#aaffff">
<td colspan="3" align="center"><strong>Final Exam: SOA Jeopardy!</strong></td>
</tr>
<tr bgcolor="#aaaaff">
<td colspan="3" align="center">Class Ends at 3:00 PM</td>
</tr>
</tbody>
</table>
<p><center><a class="download" href="http://www.zapthink.com/?page_id=12085&#038;regevent_action=register&#038;event_id=105&#038;name_of_event=LZA+SOA+Training+%26amp%3B+Certification%3A+Estonia+--+September+24+-+27%2C+2013">REGISTER</a></center><br />
</div><div id='newTabs_li_2_15737' class='tabcontent'>
</p>
<p><b><br />
<h1>Venue:</h1>
<p><br/></p>
<ul>
<p>  	devtraining<br />
Toompuiestee 30<br />
10149 Tallinn<br />
Estonia    <!--?php echo $event_city . ", " .	$event_state . " " . $event_zip; ?-->
</ul>
<p><center><a class="download" href="http://www.zapthink.com/?page_id=12085&#038;regevent_action=register&#038;event_id=105&#038;name_of_event=LZA+SOA+Training+%26amp%3B+Certification%3A+Estonia+--+September+24+-+27%2C+2013">REGISTER</a></center><br />
</b><br />
</div></div><script type='text/javascript'>var newtabs=new ddtabcontent('newTabs_ul_15737');newtabs.setpersist(true);newtabs.setselectedClassTarget('link');newtabs.init();</script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.zapthink.com/2013/05/22/lza-soa-training-certification-estonia-september-24-27-2013/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Why I Just Don’t Get SAP HANA</title>
		<link>http://www.zapthink.com/2013/05/21/why-i-just-dont-get-sap-hana/</link>
		<comments>http://www.zapthink.com/2013/05/21/why-i-just-dont-get-sap-hana/#comments</comments>
		<pubDate>Wed, 22 May 2013 01:07:51 +0000</pubDate>
		<dc:creator>Jason Bloomberg</dc:creator>
				<category><![CDATA[In the News]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[HANA]]></category>
		<category><![CDATA[in-memory database]]></category>
		<category><![CDATA[partition intolerant]]></category>
		<category><![CDATA[RAM]]></category>
		<category><![CDATA[RAM disk]]></category>
		<category><![CDATA[SAP]]></category>

		<guid isPermaLink="false">http://www.zapthink.com/?p=15733</guid>
		<description><![CDATA[HANA is nothing more than a stopgap measure]]></description>
			<content:encoded><![CDATA[<p><img src='http://www.zapthink.com/wp-content/plugins/simple-post-thumbnails/timthumb.php?src=/wp-content/thumbnails/15733.jpg&amp;w=64&amp;h=64&amp;zc=1&amp;ft=jpg' alt='post thumbnail' /></p>
<p>the problem with an in-memory system like HANA is that it gives you an excuse to run poor software, since after all, even the crappiest software will run faster in-memory. But if you think that running a partition-intolerant relational database in-memory will make it any more Cloud friendly, then you&#8217;re missing the point of the Cloud.</p>
<p>Read the entire post at <a href="http://www.devx.com/blog/why-i-just-dont-get-sap-hana.html">http://www.devx.com/blog/why-i-just-dont-get-sap-hana.html</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zapthink.com/2013/05/21/why-i-just-dont-get-sap-hana/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cloud-Friendly BPM: The Power of Hypermedia-Oriented Architecture</title>
		<link>http://www.zapthink.com/2013/05/21/cloud-friendly-bpm-the-power-of-hypermedia-oriented-architecture/</link>
		<comments>http://www.zapthink.com/2013/05/21/cloud-friendly-bpm-the-power-of-hypermedia-oriented-architecture/#comments</comments>
		<pubDate>Tue, 21 May 2013 19:30:39 +0000</pubDate>
		<dc:creator>Jason Bloomberg</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[ZapFlash]]></category>
		<category><![CDATA[bpm]]></category>
		<category><![CDATA[Composite RESTful Service]]></category>
		<category><![CDATA[HATEOAS]]></category>
		<category><![CDATA[HOA]]></category>
		<category><![CDATA[Hypermedia]]></category>
		<category><![CDATA[Hypermedia Oriented Architecture]]></category>
		<category><![CDATA[managing state]]></category>
		<category><![CDATA[REST]]></category>
		<category><![CDATA[REST-based BPM]]></category>
		<category><![CDATA[SOA]]></category>
		<category><![CDATA[state]]></category>

		<guid isPermaLink="false">http://www.zapthink.com/?p=15720</guid>
		<description><![CDATA[Bring together SOA, BPM, Cloud, REST, and HOA.]]></description>
			<content:encoded><![CDATA[<p><img src='http://www.zapthink.com/wp-content/plugins/simple-post-thumbnails/timthumb.php?src=/wp-content/thumbnails/15720.jpg&amp;w=64&amp;h=64&amp;zc=1&amp;ft=jpg' alt='post thumbnail' /></p>
<p>When <a href="http://www.zapthink.com/2012/03/03/bpm-in-the-cloud-disruptive-technology/">ZapThink last wrote about Business Process Management (BPM) in the Cloud in March 2012</a>, we challenged both vendors and BPM customers to rethink their approach to BPM software, eschewing a heavyweight middleware approach for the lightweight, hypermedia-oriented approach that Representational State Transfer (REST) encourages. And while we did generate some short-lived buzz, most of the response – or lack thereof – was little more than a resounding silence.</p>
<p>True, work on Cloud-friendly, REST-based BPM continues in certain dusty corners of academia, most notably in the research of <a href="http://www.pautasso.info/">Cesare Pautasso</a>, a professor at the University of Lugano in Switzerland. But in spite of his notable contributions to Thomas Erl’s <em><a href="http://www.amazon.com/dp/0137012519">SOA with REST</a></em> book, the enterprise software and Cloud marketplaces have largely either ignored or misunderstood his research as well as ZapThink’s on this topic.</p>
<p>While it’s amusing to theorize a vast vendor conspiracy, positing middleware dinosaurs actively working to distract their customer base from lighter weight, Cloud-friendly approaches, the reality is likely to be far more mundane. People just don’t get it. Or to be precise, our audience doesn’t get how all the pieces—BPM, REST, Cloud, and even a bit of SOA—fit together. To help resolve this confusion, let’s resort to an age-old technique: let’s draw some pictures.</p>
<p><strong>Framing the Cloud-Friendly BPM Problem</strong></p>
<p>Let’s start this discussion with an illustration of an admittedly simplistic business process involving one person and some back-end system, as shown in Figure 1 below.</p>
<div id="attachment_15721" class="wp-caption aligncenter" style="width: 285px"><a href="http://www.zapthink.com/wp-content/uploads/2013/05/hoa1.jpg"><img class=" wp-image-15721 " title="hoa1" src="http://www.zapthink.com/wp-content/uploads/2013/05/hoa1.jpg" alt="" width="275" /></a><p class="wp-caption-text">Figure 1: Simple Two-Tier Process</p></div>
<p>Note that in the figure above, the user might tackle a few tasks, and then the server takes over, executing a few tasks on its own. While the server is busy doing its thing, the user might query the server as to the current status of the process.</p>
<p>So far so good, but we don’t want our server to serve only one user at a time. After all, the whole point of the client/server pattern is that it is many to one. As a result, we need to introduce the notion of a process <em>instance</em>. For the sake of simplicity let’s assume that we don’t have more than one person participating in a particular instance at the same time. But we might have multiple people each running their own instance of a process, for example, completing a purchase on a Web site, as shown in Figure 2 below.</p>
<p>&nbsp;</p>
<div id="attachment_15722" class="wp-caption aligncenter" style="width: 285px"><a href="http://www.zapthink.com/wp-content/uploads/2013/05/hoa2.jpg"><img class=" wp-image-15722 " title="hoa2" src="http://www.zapthink.com/wp-content/uploads/2013/05/hoa2.jpg" alt="" width="275" /></a><p class="wp-caption-text">Figure 2: Two Tier Process with Instance</p></div>
<p>In the figure above, the BPM engine running on the server spawns a process instance to deal with the interactions with the user. If multiple users initiate the same process, the server can instantiate as many process instances as necessary, and the engine keeps track of where every user is in their instance—in other words, the instance <em>state</em>.</p>
<p>How to keep track of all this state information in a scalable, robust manner is at the core of numerous <a href="http://www.zapthink.com/2006/10/31/should-services-be-stateful/">distributed computing challenges</a>. Today’s BPM engines generally run on Enterprise Service Buses (ESBs), which <a href="http://www.zapthink.com/2008/11/17/why-today-is-a-perfect-time-for-no-platform-soa/">maintain state by spawning threads</a>—short-lived, specialized object instances that run  in the execution environment of the ESB. But while threads are short-lived, process instances might take days or weeks to complete, and furthermore, threads are specific to the execution environment, making cross-ESB processes difficult to implement. For these reasons, we call state management the Achilles Heel of traditional, heavyweight (Web Services-based) SOA.</p>
<p>If such ESB-centric issues weren’t bad enough, the Cloud introduces a new wrinkle. Because we want to run our server in the Cloud, <a href="http://www.zapthink.com/2011/11/22/the-secret-to-a-restful-cloud/">we don’t want to use it to maintain any state information</a>, because we expect virtual machine (VM) instances to fail. In the Cloud, we provide automated recovery from failure rather than avoiding failure. However, if we store all the state information in the underlying persistence tier (not shown), then we limit our scalability, since every time anyone clicks a link, we must update a database somewhere.</p>
<p>What we need is a better way of dealing with state information that both allows our BPM engines to be Cloud friendly, and also frees us from the limitations of our ESBs. Or perhaps we must reinvent our ESBs to work in the Cloud. However you slice the problem, Hypermedia-Oriented Architecture (HOA) has the answer.</p>
<p><strong>HOA to the Rescue</strong></p>
<p>As <a href="http://www.zapthink.com/2011/10/09/the-right-end-of-rest/">ZapThink has discussed before</a>, many people misconstrue REST as an API style that features a uniform interface, where in reality it’s a style of software architecture for building hypermedia systems. Why is the latter definition a better one? Because <a href="http://roy.gbiv.com/">Roy Fielding</a>, its creator, says so. That being said, work continues on the architectural context of REST, perhaps extending Fielding’s original thinking, as well as beyond <a href="http://www.zapthink.com/2012/01/10/the-api-is-dead-long-live-the-api/">the API style that most techies think of</a> when they think about REST. We call this extension of the REST architectural style Hypermedia-Oriented Architecture, or HOA.</p>
<p>The central principle of HOA is the HATEOAS REST constraint: <em>hypermedia is the engine of application state</em>. In essence, HOA separates two different types of state information: <a href="http://www.devx.com/blog/looking-for-a-restful-soa-intermediary-part-two.html">application state and resource state</a>. Application state corresponds to the user’s place in the runtime workflow consisting of hyperlinked representations, while resource state remains on the server, keeping track of persisted state information and state information that multiple users share.</p>
<p>On the one hand, HATEOAS requires hypermedia to manage all state information specific to individual clients, and on the other hand, delegates all other state information to the server. REST also specifies a set of verbs for querying an changing state information: GET for querying resource state without changing it,  and three verbs that change the resource state: POST for initializing a resource, PUT for updating a resource, and DELETE for deleting a resource (assuming we’re using HTTP as our transport protocol).</p>
<p>Note, therefore, that all verbs other than GET change the resource state, while all verbs, <em>including</em> GET, change the application state. Furthermore, all state information appears in the messages between client and server: the requests from client to resource, and the representations from resource to client. By extension, HATEOAS <em>requires</em> us to only use POST, PUT, or DELETE when—and <em>only</em> when—we <em>must</em> update resource state.</p>
<p>With this principle in mind, we have a real problem with the process in Figure 2. Note that the server is maintaining application state, which HOA forbids. But we can’t solve this problem simply by picking up the process instance from the server and sticking it in the client and expecting it to work properly, because sometimes we really do want to update the resource state. We somehow need to separate the process instance into two (or more) pieces so that hypermedia on the client can be the engine of application state while the BPM engine remains the engine of resource state.</p>
<p>Figure 3 below illustrates this principle. The client sends a POST to the server, which initializes a resource. In this case, that new resource sends a hypermedia representation to a stateless intermediary which caches the representation. This hypermedia representation is essentially an abstraction of a dynamic set of hyperlinked representations, for example, one or more php scripts that can generate a set of hyperlinked Web pages. Once the intermediary has the hypermedia representation, it returns the initial representation (for instance, a Web page) to the client.</p>
<div id="attachment_15723" class="wp-caption aligncenter" style="width: 285px"><a href="http://www.zapthink.com/wp-content/uploads/2013/05/hoa3.jpg"><img class=" wp-image-15723 " title="hoa3" src="http://www.zapthink.com/wp-content/uploads/2013/05/hoa3.jpg" alt="" width="275" /></a><p class="wp-caption-text">Figure 3: HOA-Based Process with Stateless Intermediary</p></div>
<p>From that point on, as long as the client is navigating the application via hypermedia, changing only the <em>application</em> state as the user moves from one step in the process to the next, there is no need to change the resource state—and thus, no further POSTs, PUTs, or DELETEs are allowed. The client may perform a GET, because GETs change only the application state. The intermediary may be able to handle the GET on its own (if the necessary information is resident in the cache) or can turn around and perform a GET on an underlying resource, if necessary.</p>
<p>Furthermore, the application state may change without any interactions with the intermediary or the server by leveraging programmatic capabilities on the client. If the client is an arbitrary piece of software then this capability is trivial. But even if the client is a browser, it’s possible to change the state of an application without fetching anything from the server. In fact, <a href="http://www.zapthink.com/2012/12/13/toss-your-cookies-maintaining-state-on-the-client-with-rest/">there are many was to accomplish this feat</a>.</p>
<p>Sometimes, of course, a hypermedia application, which we might also call a HOA process, must update resource state, for example, when it’s time to process the user’s credit card or change the number of widgets in inventory. Then—and <em>only</em> then—do we perform a PUT.</p>
<p>The most important characteristic of the process in Figure 3 is the fact that the intermediary is entirely stateless. If for some reason the VM that is hosting the hypermedia representation that is serving the client crashes, the Cloud environment must simply spawn a replacement and reload the same hypermedia representation as before. The client won’t lose its place because the hypermedia on the client are maintaining the application state. Similarly, we can horizontally scale the middle tier however and whenever we like. Instead of one VM hosting a particular hypermedia representation, we could have two or a hundred, and it doesn’t matter which one responds to a particular GET from the client.</p>
<p><strong>Combining HOA Processes and Traditional BPM</strong></p>
<p>The problem with the example in Figure 3, of course, is that every client’s process is separate from every other client’s process. However, most business processes in today’s organizations involve multiple parties—either multiple people or multiple enterprise applications or some combination.</p>
<p>On first glance, HOA doesn’t address such complex processes, since HATEOAS only deals with application state, not resource state. Fortunately, HOA works perfectly fine in this broader context as well, because it calls for a separation of application and resource state while providing for multiple ways to update resource state. After all, POST, PUT, and DELETE all update resource state, and any user can execute these verbs for a particular resource. Figure 4 below illustrates this more complex process.</p>
<div id="attachment_15724" class="wp-caption aligncenter" style="width: 285px"><a href="http://www.zapthink.com/wp-content/uploads/2013/05/hoa4.jpg"><img class=" wp-image-15724 " title="hoa4" src="http://www.zapthink.com/wp-content/uploads/2013/05/hoa4.jpg" alt="" width="275" /></a><p class="wp-caption-text">Figure 4: HOA Process with Composite RESTful Service</p></div>
<p>In the figure above, a POST from a client instructs the BPM engine to instantiate a process instance on the server as in Figure 2. The first step in this process creates a hypermedia representation for the client to interact with as in Figure 3. Meanwhile, the resource state may change via any event, including a server-generated event or the action of a different user. If a user executes a PUT on the client to the hypermedia representation on the intermediary, then that representation turns around and PUTs to the appropriate underlying resource. Or perhaps the client PUTs to an underlying resource directly. Either way, the PUT goes to a hyperlink the client obtained from a previous representation at an earlier step in the process.</p>
<p>We might call the process running on the server a Composite RESTful Service, because the intermediary may abstract the entire server-based process via one or more RESTful URIs. A simple example of a Composite RESTful Service is a chat window application. Multiple users share the same chat session, so clearly the chat session state is part of the resource state.</p>
<p>There are a few essential points to keep in mind about the illustration in Figure 4. First, the intermediary remains stateless and therefore Cloud-friendly. We must maintain resource state in the persistence tier, but since we’ve offloaded the maintenance of application state to the client, we won’t be overburdening our database. We may also interact with our Composite RESTful Service via RESTful interactions, an essential benefit that <a href="http://www.academia.edu/2818180/RESTful_Business_Process_Management">Prof. Pautasso emphasizes in his research</a>. And finally, not only is the middle tier horizontally scalable and elastic, so is the client tier—because every user brings their own client to the process.</p>
<p><strong>The ZapThink Take</strong></p>
<p>With the addition of an appropriate approach to building a RESTful Service abstraction, Figure 4 also serves as an illustration of how to implement RESTful SOA, what ZapThink refers to as “next generation” SOA in our <a href="http://www.zapthink.com/soa-training-certification/">Licensed ZapThink Architect (LZA)</a> course as well as in my new book, <em><a href="http://www.agilearchitecturerevolution.com/">The Agile Architecture Revolution</a></em>. We therefore have a single, simple diagram bring together the worlds of SOA, BPM, Cloud, REST, and HOA.</p>
<p>The secret to getting all these architectural trends to work well together centers on how we deal with state information. We must first separate application state from resource state, and then subsequently take the conceptual leap to understanding that the best way to implement our business processes is by combining HOA processes with Composite RESTful Services. Once we make this leap, however, the pieces of this complicated puzzle finally fall into place.</p>
<p><em>Image credit: <a href="http://www.flickr.com/photos/10154402@N03/5362769454/">Bruce Guenter</a></em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.zapthink.com/2013/05/21/cloud-friendly-bpm-the-power-of-hypermedia-oriented-architecture/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>LZA SOA Training &amp; Certification: Sydney — September 10 – 13, 2013</title>
		<link>http://www.zapthink.com/2013/05/21/lza-soa-training-certification-sydney-september-10-13-2013/</link>
		<comments>http://www.zapthink.com/2013/05/21/lza-soa-training-certification-sydney-september-10-13-2013/#comments</comments>
		<pubDate>Tue, 21 May 2013 19:04:24 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[LZA Course]]></category>

		<guid isPermaLink="false">http://www.zapthink.com/2013/05/21/lza-soa-training-certification-sydney-september-10-13-2013/</guid>
		<description><![CDATA[LZA SOA Training &#38; Certification: Sydney &#8212; September 10 &#8211; 13, 2013 Tuesday September 10, 2013-Friday September 13, 2013 Navitas Building (over Wynyrd Station) 11 York St Sydney Australia Price: A$2,495.00 (including $500 early discount) [converted to 2417.35 USD] We offer additional discounts for groups of three or more people, government or non-profit employees, people [...]]]></description>
			<content:encoded><![CDATA[<p><div class='newtabsmenucontent'>
<div id='newTabs_li_0_15716' class='tabcontent'>
<br />
<strong>LZA SOA Training &amp; Certification: Sydney &#8212; September 10 &#8211; 13, 2013</strong><br />
<em>Tuesday September 10, 2013-Friday September 13, 2013</em><br />
Navitas Building (over Wynyrd Station)<br />
11 York St<br />
Sydney Australia</p>
<p class="p_event_prices"><span class="span_event_price_label">Price: </span> <span class="span_event_price_value">A$2,495.00 (including $500 early discount) [converted to 2417.35 USD]</span><input type="hidden" name="event_cost" id="event_cost-104" value="2417.35"></p>
<p/>
<p><em>We offer additional discounts for groups of three or more people, government or non-profit employees, people who&#8217;ve taken a ZapThink class before, or individuals who are paying out of their own pocket. Please email us at <a href="mailto:info@zapthink.com">info@zapthink.com</a> for a discount code you can use when registering.</em></p>
<h2 style="padding: 5px; color: #0024ac; font-weight: bold;">ZapThink SOA Training &amp; Certification: The Leading Vendor Independent, Architect-Focused SOA Training</h2>
<p>ZapThink&#8217;s Licensed ZapThink Architect (LZA) SOA Training &amp; Certification Boot Camp is recognized around the world as the best single Service-Oriented Architecture training course available anywhere.
</p>
<p>
The LZA SOA Boot Camp is an intensive, four day &#8220;fire hose&#8221; of information that prepares you to succeed with your SOA efforts, whether you&#8217;re just beginning them or are well down the road with SOA. ZapThink&#8217;s LZA SOA Training reflects the best thinking and research that ZapThink produces.
</p>
<h2 style="padding: 5px; color: #ac2400; font-weight: bold;">Announcing Version 10.1 of the Licensed ZapThink Architect SOA course!</h2>
<p>
<strong><u>With new content on &#8220;next generation&#8221; SOA: more lightweight, decentralized, RESTful, and Cloud-friendly. We cover &#8220;first generation&#8221; SOA as well, of course: ESB-centric, Web Services-based. But many of today&#8217;s organizations are interested in moving past this heavyweight approach.</u>
</p>
<p>
Take the LZA course to learn how to leverage next generation SOA in your organization!</strong>
</p>
<p><center></p>
<div style="border: 2px solid #000000; width: 465px; margin: 20px; padding: 10px;"><em>ZapThink&#8217;s LZA SOA training &amp; certification has <strong>no prerequisites</strong>, and</em> <em>is <strong>designed for architects</strong>, but <strong>appropriate for people with different roles and levels of expertise</strong></em><em>. </em><em>This course is valuable for anyone who wants <strong>in-depth knowledge about how to succeed with SOA</strong>.</em></div>
<p></center>&nbsp;</p>
<h2>What makes the LZA SOA Boot Camp so special?</h2>
<ul>
	<a href="http://www.agilearchitecturerevolution.com"><img class="alignleft" style="margin: 20px;" src="http://jasonbloomberg.com/wp-content/uploads/2012/11/AAR-200-x-302.jpg" alt="" width="200" height="302" /></a></p>
<li><strong>Vendor independent</strong> &#8211; We discuss vendors in context, both good and bad. You get a balanced perspective on each vendor we discuss.</li>
<li><strong>Architect focused</strong> &#8211; The course concentrates on what architects have to do to be successful with SOA in their own organizations. We balance technology details with organizational approaches. If you&#8217;re not an architect you&#8217;ll learn how to think like one in this class!</li>
<li><strong>Practical</strong> &#8211; we connect theory to practice with what really works in organizations like yours.</li>
<li><strong>Current</strong> &#8211; we refresh the course on a regular basis to reflect the latest SOA best practices, as well as how SOA relates to other architectural challenges in the enterprise.</li>
<li><strong>Enterprise context</strong> &#8211; SOA is an approach to organizing enterprise IT resources to meet changing business needs. We place SOA into the context of large organizations, with complex, heterogeneous IT environments and all the politics and bureaucracy that every large organization faces.</li>
<li><strong>Globally recognized certification</strong> &#8211; Everybody who completes the LZA SOA Boot Camp obtains a certificate representing their LZA credential, giving you the right to call yourself a Licensed ZapThink Architect with all the privileges that come along with this exclusive credential.<img class="alignright" style="margin: 20px;" src="http://jasonbloomberg.com/wp-content/uploads/2012/11/Jason-Bloomberg-tight.jpg" alt="" width="200" height="273" align="right" hspace="20" vspace="20" /></li>
<li><strong>Led by globally recognized SOA thought leader</strong> &#8211; All ZapThink&#8217;s courses are developed and led by Jason Bloomberg, President of ZapThink. Jason has been an analyst with ZapThink since 2001 and is the co-author of <em>Service Orient or Be Doomed!</em> as well as his new book, <a href="http://www.agilearchitecturerevolution.com"><em>The Agile Architecture Revolution</em></a>.</li>
<li><strong>Not too technical, not too high-level</strong> &#8211; Unlike courses offered by others, we cover the technology without getting lost in the details. We discuss the big picture but connect it to the day-to-day reality of the IT shop.</li>
<li><strong>Available around the world</strong> &#8211; <a href="http://www.zapthink.com/soa-training-certification/"><u>See the event schedule</u></a> for all the locations we&#8217;re offering the LZA SOA Boot Camp!</li>
</ul>
<p>
<strong>One person in every class wins a copy of <a href="http://www.agilearchitecturerevolution.com"><em>The Agile Architecture Revolution</em></a>!
</p>
<p><center><a class="download" href="http://www.zapthink.com/?page_id=12085&#038;regevent_action=register&#038;event_id=104&#038;name_of_event=LZA+SOA+Training+%26amp%3B+Certification%3A+Sydney+--+September+10+-+13%2C+2013">REGISTER</a></center><br />
</div><div id='newTabs_li_1_15716' class='tabcontent'>
</p>
<table width="100%" border="0" cellspacing="1" cellpadding="2" bgcolor="#000000">
<tbody>
<tr bgcolor="#c0c0c0">
<td colspan="3" align="center">
<h1 style="text-align:center;"><font color=red>New!</font> Licensed ZapThink Architect<br/>SOA Boot Camp Version 10.1</h1>
</td>
</tr>
<tr bgcolor="#ffffaa">
<td colspan="3" align="center">
<h2>Day 1</h2>
</td>
</tr>
<tr bgcolor="#aaaaff">
<td colspan="3" align="center">Registration: 8:00 to 8:30 AM</td>
</tr>
<tr bgcolor="#aaffff">
<td colspan="3" align="center"><strong>LZA Introduction</strong></td>
</tr>
<tr bgcolor="#ffaaff">
<td colspan="3" align="center">
<h2>Module 1: SOA as Agile Architecture</h2>
</td>
</tr>
<tr bgcolor="#c0c0c0">
<td colspan="2">
<p>What is an Enterprise?</p>
<p>What all Enterprises Have in Common</p>
<p>What About Enterprise IT?</p>
<p>We need Architecture!</p>
<p>In Particular, Enterprise Architecture</p>
<p>SOA is EA Architectural Style</p>
<p>The Myth of the &#8220;Final State&#8221;</p>
<p>Missing Link: Business Agility!</p>
<p>So, what about the technology?</p>
<p>The Paradox of Legacy IT</p>
<p>The Promise of SOA</p>
<p>Business Services: The Core Abstraction of SOA</p>
<p>Composability &#038; Business Services</p>
<p>ZapThink&#8217;s Definition of SOA</p>
<p>Why SOA?</p>
<p>Is SOA All About Agility?</p>
<p>Cost Savings?</p>
<p>Increase Reuse?</p>
<p>Greater Visibility?</p>
<p>Business Empowerment?</p>
<p>Achieving Business Agility</p>
<p>How Does SOA Provide Business Agility?</p>
<p>Difference Between Traditional Integration &#038; SOA</p>
<p>Technical Architecture vs. Enterprise Architecture?</p>
</td>
<td>
<p>SOA Heralds New Approach to Architecture</p>
<p>Starting Point: (Traditional) Systems Engineering</p>
<p>AKA Waterfall Software Project</p>
<p>Enter Agile</p>
<p>Iterative/Agile Software Project</p>
<p>But We Still Have Problems</p>
<p>Not-So-Agile Updates to Existing Software</p>
<p>What Agile Software Should Really Look Like</p>
<p>Designing Beyond Use Cases</p>
<p>Where&#8217;s My Agility?</p>
<p>Agility as Emergent Property</p>
<p>What is an Emergent Property?</p>
<p>Examples of Emergent Properties</p>
<p>Introducing Complex Systems</p>
<p>The Problem with Traditional Systems</p>
<p>Changing the Focus of Engineering</p>
<p>Complex Systems Engineering?</p>
<p>Architecting only the Technology is Insufficient</p>
<p>The Missing Link: Governance</p>
<p>Governance: Architecting People</p>
<p>Not your Parents&#8217; Governance!</p>
<p>Next Generation Governance</p>
<p>Agile Architecture &#8211; Finally!</p>
<p><strong>Case Study: The Hartford<br />
</strong></td>
</tr>
<tr bgcolor="#ffaaff">
<td colspan="3" align="center">
<h2>Module 2: APIs to Services: Past &#038; Future</h2>
</td>
</tr>
<tr bgcolor="#c0c0c0">
<td colspan="2">
<p>In the Beginning, The Application was the Program</p>
<p>Imperative Programming</p>
<p>Enter Distributed Computing</p>
<p>Client/Server Architectures</p>
<p>Enter Functional Programming</p>
<p>Next up: Add OO to the Mix</p>
<p>Problem: Tight Coupling</p>
<p>Enter Declarative Programming</p>
<p>Contracted Interfaces</p>
<p>What are Services?(Technically, Service interfaces)</p>
<p>Consumers &#038; Providers</p>
<p>Web Services</p>
<p>Pros &#038; Cons of Web Services</p>
<p>WSDL Basics</p>
<p>Service Contract vs. Service Description</p>
<p>Registry-Based Discoverability</p>
<p>Location Independence</p>
<p>Web Services Initially followed RPC Style</p>
<p>SOAP: Verbose Message Transport</p>
<p>RPC Style Example</p>
<p>Problems with RPC Style</p>
<p>Should Web Services be Declarative?</p>
<p>Document Style Web Services</p>
<p>Document Style Example</p>
<p>Benefits of Document Style</p>
<p>Loose Coupling</p>
<p>Should All Interfaces Be Services?</p>
</td>
<td>
<p>Problems with Document Style Web Services</p>
<p>Contract Metadata Beyond WSDL</p>
<p>REST to the Rescue!</p>
<p>What is REST Anyway?</p>
<p>Is REST about APIs?</p>
<p>REST Myths</p>
<p>Essential REST Terminology</p>
<p>What is a Resource?</p>
<p>Uniform Interface</p>
<p>PUT vs. POST: Initializing a Resource</p>
<p>What is a Uniform Resource Identifier (URI)?</p>
<p>RESTful vs. RPC-based URIs</p>
<p>What is a Representation?</p>
<p>What are Hypermedia?</p>
<p>Four Architectural Constraints</p>
<p>Separation of Resource from Representation</p>
<p>Manipulation of Resources by Representations</p>
<p>Self-Descriptive Messages</p>
<p>Hypermedia as the Engine of Application State</p>
<p>Discoverability with REST</p>
<p>Discoverability &#038; Hypermedia</p>
<p>Custom Media Types</p>
<p>Contracted Services</p>
<p>Contract Metadata for REST</p>
<p>The REST Shell Game</p>
<p>The End of the Road</p>
<p><strong>Case Study: ABN Amro<br />
</strong></td>
</tr>
<tr bgcolor="#aaffff">
<td colspan="3" align="center"><strong>Exercise: SOA Return on Investment</strong></td>
</tr>
<tr bgcolor="#aaffff">
<td colspan="3" align="center"><strong>Homework: Service Model</strong></td>
</tr>
<tr bgcolor="#aaaaff">
<td colspan="3" align="center">Class Ends at 5:00 PM</td>
</tr>
<tr bgcolor="#ffffaa">
<td colspan="3" align="center">
<h2>Day Two</h2>
</td>
</tr>
<tr bgcolor="#aaaaff">
<td colspan="3" align="center">Class Begins at 8:30 AM</td>
</tr>
<tr bgcolor="#ffaaff">
<td colspan="3" align="center">
<h2>Module 3: SOA Intermediaries</h2>
</td>
</tr>
<tr bgcolor="#c0c0c0">
<td colspan="2">
<p>What&#8217;s a Service?</p>
<p>Levels of Service Abstraction</p>
<p>Statelessness</p>
<p>Service Interfaces Aren&#8217;t Good Enough</p>
<p>Abstractions: Simple on the Outside</p>
<p>Abstraction = Working Illusion</p>
<p>Building a Working Illusion</p>
<p>The Fundamental Technical Challenge of SOA</p>
<p>SOA &#8220;Magicians&#8217; Tricks&#8221;</p>
<p>Multiple Interfaces per Implementation</p>
<p>Multiple Implementations per Interface</p>
<p>Multiple Interfaces per Business Service</p>
<p>Actualizing the Business Service Abstraction</p>
<p>SOA Infrastructure Starting Point: The Intermediary</p>
<p>Some Intermediary Roles</p>
<p>Intermediaries and Service Fa&ccedil;ades</p>
<p>Buying an Intermediary?</p>
<p>No Clear ESB Definition</p>
<p>The ESB Pattern</p>
<p>The Great ESB/SOA Middleware Boondoggle</p>
<p>Buy More Middleware for SOA?</p>
<p>Heavyweight vs. Lightweight SOA</p>
<p>Thread-Based Execution</p>
<p>Service Mediation with Oracle Service Bus</p>
<p>ESB Federation?</p>
<p>Do You need an ESB for Service Mediation?</p>
<p>Intermediary-Based Service Abstraction</p>
<p>Another Approach: XML Appliances</p>
</td>
<td>
<p>IBM: Covering their Bets</p>
<p>Three Approaches to State</p>
<p>Web Services&#8217; Achilles Heel</p>
<p>Threads &#038; Queues</p>
<p>SOA Tenet: Asynchrony</p>
<p>Queue-Based Execution</p>
<p>SOA 2.0?</p>
<p>SOA &#038; Message Exchange Patterns</p>
<p>Messages vs. Events</p>
<p>EDA Visualized</p>
<p>Strong Decoupling?</p>
<p>EDA without vs. with SOA</p>
<p>So, Where&#8217;s the State?</p>
<p>Physical Service Architecture</p>
<p>Fiorano Brokered Peer-to-Peer Architecture</p>
<p>Process Coordinator</p>
<p>HATEOAS in Action</p>
<p>Explicit State Transitions in REST</p>
<p>REST Starting Point</p>
<p>Caching Options</p>
<p>Proxy Pattern</p>
<p>Gateway (Reverse Proxy) Pattern</p>
<p>Asynchronous REST</p>
<p>RESTful State Management Essential for the Cloud</p>
<p>Scalability &#038; State,The Old Way</p>
<p>Here&#8217;s Your App in the Cloud</p>
<p>Building Intermediary-Based SOA Infrastructure</p>
<p><strong>Case Study: US Coast Guard SPEAR (Semper Paratus: Enterprise Architecture Realization)<br />
</strong></td>
</tr>
<tr bgcolor="#ffaaff">
<td colspan="3" align="center">
<h2>Module 4: Service Composition &#038; Business Process</h2>
</td>
</tr>
<tr bgcolor="#c0c0c0">
<td colspan="2">
<p>What is a Business Process?</p>
<p>Problems with Traditional BPM Tooling</p>
<p>Business Process the Enterprise Application Way</p>
<p>Business Process the Service-Oriented Way</p>
<p>Service-Oriented Process</p>
<p>Metadata-Driven Applications</p>
<p>Process Definitions</p>
<p>Example: Orchestration vs. Choreography</p>
<p>What is the Sweet Spot for Service Composition?</p>
<p>SOA Composite Application Example</p>
<p>Enterprise Applications and Process</p>
<p>Example: SAP NetWeaver</p>
<p>Transactions and SOA</p>
<p>Compensating Transactions</p>
<p>Compensating Transaction Example</p>
<p>The Heavyweight ESB/Web Services Story</p>
<p>Web Services Orchestration</p>
</td>
<td>
<p>BPEL Example</p>
<p>Limitations of BPEL</p>
<p>Challenges with Declarative Approach</p>
<p>BPMN to the Rescue?</p>
<p>BPMN Example</p>
<p>Limitations of BPMN</p>
<p>How Architecture Has to Fill the Gap</p>
<p>Workflow &#038; Web Services</p>
<p>RESTful BPM</p>
<p>Composite Representation</p>
<p>Composite RESTful Service</p>
<p>Everything is a Resource</p>
<p>Examples of Process Representations</p>
<p>Example of REST Choreography</p>
<p>Follow Links to Learn About Processes</p>
<p>Some Benefits of REST-Based BPM</p>
<p><strong>Case Study: SOA Journey at BP<br />
</strong></td>
</tr>
<tr bgcolor="#aaffff">
<td colspan="3" align="center"><strong>Exercise: Service Composition</strong></td>
</tr>
<tr bgcolor="#aaffff">
<td colspan="3" align="center"><strong>Homework: Business Case</strong></td>
</tr>
<tr bgcolor="#aaaaff">
<td colspan="3" align="center">Class Ends at 5:00 PM</td>
</tr>
<tr bgcolor="#ffffaa">
<td colspan="3" align="center">
<h2>Day Three</h2>
</td>
</tr>
<tr bgcolor="#aaaaff">
<td colspan="3" align="center">Class Begins at 8:30 AM</td>
</tr>
<tr bgcolor="#ffaaff">
<td colspan="3" align="center">
<h2>Module 5: The Role of Data &amp; Semantics</h2>
</td>
</tr>
<tr bgcolor="#c0c0c0">
<td colspan="2">
<p>Data: Foundation for SOA</p>
<p>The Data Services Layer</p>
<p>Application Services vs. Data Services</p>
<p>Key Service Abstraction Enabler: Proper Granularity</p>
<p>Granularity Example</p>
<p>Achieving Proper Granularity</p>
<p>Zeroing in on Proper Granularity</p>
<p>Entity Services</p>
<p>Task Services</p>
<p>Utility (IS) Services</p>
<p>Should Services Be Nouns or Verbs?</p>
<p>Service Relationships Example</p>
<p>Task Service Benefit: Process Isomorphism</p>
<p>Service Layers</p>
<p>Alternate Service Layer Model</p>
<p>RESTful Service Layers</p>
<p>Designing Data Services</p>
</td>
<td>
<p>Performance vs. Flexibility</p>
<p>Supporting Data Services with Data Integration</p>
<p>Leveraging Data Services Layer</p>
<p>Semantic Level Understanding</p>
<p>Role of Application Semantics</p>
<p>Semantics: The Greatest Integration Challenge of SOA</p>
<p>Still a Manual Process</p>
<p>Resolving Semantic Issues</p>
<p>Industry-Specific Semantic Standards</p>
<p>RDF &#038; Web Services</p>
<p>Semantic Model Example: Maritime Information Exchange Model</p>
<p>What About Custom Media Types?</p>
<p>Custom Media Types &#038; HATEOAS</p>
<p>Custom Media Types &#038; RDF</p>
<p>In Progress: HAL (Hypertext App Language)</p>
<p><strong>Case Study: MyFoodAlerts.com<br />
</strong></td>
</tr>
<tr bgcolor="#ffaaff">
<td colspan="3" align="center">
<h2>Module 6: SOA Governance</h2>
</td>
</tr>
<tr bgcolor="#c0c0c0">
<td colspan="2">
<p>The Context for Governance</p>
<p>What is Organizational Governance?</p>
<p>Architecture-Driven Governance Maturity</p>
<p>How to Tackle Governance?</p>
<p>The Cornerstone of IT Governance is Architecture</p>
<p>Elements of IT Governance Strategy</p>
<p>Architecture Board</p>
<p>What is SOA Governance?</p>
<p>Step 1: Human-Centric SOA Governance</p>
<p>Central Tool: The Repository</p>
<p>Design Time Policy Examples</p>
<p>Additional SOA Governance Activities</p>
<p>Essential REST-Based SOA Policies</p>
<p>The Power of the SOA Center of Excellence</p>
<p>SOA Governance Board Activities</p>
<p>Creating the Governance Framework</p>
<p>Step 2: Technology-Centric SOA Governance</p>
<p>The Challenge of Policy Automation</p>
<p>Steps for Automating Policies</p>
<p>Supporting Policy Changes</p>
<p>&#8220;Meta&#8221; Thinking</p>
<p>Dealing with Change</p>
<p>Avoiding Hall of Mirrors Problem</p>
<p>What is a Policy?</p>
<p>Policy &#8220;Math&#8221;</p>
<p>Computing Effective Policy</p>
<p>WS-Policy Example</p>
<p>WS-PolicyAttachment</p>
<p>Policy Attachment to WSDL 1.1</p>
<p>Some Policy Standards</p>
<p>WS-SecurityPolicy Example (Policy &#038; Conforming Message)</p>
<p>Run Time Policy Examples</p>
<p>Management &#038; Loose Coupling</p>
<p>SOA Management: Many Facets</p>
<p>The Problem with SOA Management</p>
<p>The Vendor Name Game</p>
<p>The SOA Management Conundrum</p>
<p>SOA Monitoring &#038; Management</p>
<p>The First Rule of SOA Management</p>
<p>Change Time Policy Examples</p>
<p>What is a Registry?</p>
<p>What&#8217;s the Deal with UDDI?</p>
<p>The Registry/Repository</p>
<p>Registry/Repository as Heavyweight SOA Tool</p>
</td>
<td>
<p>Heavyweight SOA Governance Pitfall: Versioning</p>
<p>Handling Service Versioning</p>
<p>Versioning Concepts</p>
<p>Versioning Strategies</p>
<p>Strict, Flexible, and Loose Versioning</p>
<p>Versioning Policy Issues</p>
<p>Difference Between Web Services-Based SOA &#038; REST-Based SOA</p>
<p>Step 3: Technology-Centric Architecture-Driven Governance</p>
<p>Decoupling Policies from Services</p>
<p>Critical SOA Challenge: Security</p>
<p>Security Fundamentals</p>
<p>The Context of IT Security</p>
<p>XML Threat Prevention</p>
<p>Mitigating XML Threats</p>
<p>Web Services Security</p>
<p>WS-Security Tokens</p>
<p>Security Assertion Markup Language (SAML)</p>
<p>SAML Assertions</p>
<p>Federated Security</p>
<p>Securing RESTful Interactions</p>
<p>OAuth as FederatedAuthentication Mechanism</p>
<p>Is OAuth Doomed?</p>
<p>Cloud Security: Policy</p>
<p>Message-Level Security:Is SSL Sufficient?</p>
<p>Core Requirements for Securing Services</p>
<p>Policy Management &#038; Enforcement</p>
<p>Extending SOA Governance to the Cloud</p>
<p>Step 4: Human-Centric Architecture-Driven Governance</p>
<p>Changing Attractors</p>
<p>The Agility Model</p>
<p>Reusability vs. Usability</p>
<p>Achieving Reusability: Service Agnosticism</p>
<p>Designing for Reuse:Agnostic Context</p>
<p>Enabling Service Domains</p>
<p>Governance Challenge:Reuse = Sharing</p>
<p>Publishing &#038; Discovery Governance</p>
<p>Is Reuse a Real SOA Benefit?</p>
<p>Remember: Business Agility is a Requirement</p>
<p>Continuous Quality Activities</p>
<p>Quality &#038; Complex Systems</p>
<p>The SOA Quality Star</p>
<p>Best Effort SOA</p>
<p>Beyond SOA Governance</p>
</td>
</tr>
<tr bgcolor="#aaffff">
<td colspan="3" align="center"><strong>Exercise: SOA Governance</strong></td>
</tr>
<tr bgcolor="#aaaaff">
<td colspan="3" align="center">Class Ends at 5:00 PM</td>
</tr>
<tr bgcolor="#ffffaa">
<td colspan="3" align="center">
<h2>Day Four</h2>
</td>
</tr>
<tr bgcolor="#aaaaff">
<td colspan="3" align="center">Class Begins at 8:30 AM</td>
</tr>
<tr bgcolor="#ffaaff">
<td colspan="3" align="center">
<h2>Module 7: Planning &amp; Running the SOA Initiative</h2>
</td>
</tr>
<tr bgcolor="#c0c0c0">
<td colspan="2">
<p>Iterative: More than Step-by-Step</p>
<p>Iterate your Architecture?</p>
<p>Project Management for a SOA Project</p>
<p>Defining SOA Roadmap</p>
<p>Initial Assessments</p>
<p>Building Support for SOA</p>
<p>Building the SOA Business Case</p>
<p>Milestone / KPI Plan</p>
<p>The SOA Roadmap</p>
<p>SOA Maturity Models</p>
<p>Analogous to CMMI</p>
<p>SOA Maturity Model Pointers</p>
<p>Using a SOA Maturity Model</p>
<p>SOA Maturity Model: HP</p>
<p>SOA Maturity Model: Wipro</p>
<p>Open Group Service Integration Maturity Model (OSIMM)</p>
<p>&#8220;SOA&#8221; Maturity Model &#8211; Sonic/Systinet</p>
<p>SOA Maturity Model: Oracle</p>
<p>SOA Maturity Model: Software AG</p>
<p>Define The SOA Metamodel</p>
<p>SOA Foundation: Model-Driven Architecture</p>
</td>
<td>
<p>Implementing the Service Model</p>
<p>Define Initial Iteration</p>
<p>SOA Pilots</p>
<p>Implementation Planning</p>
<p>Service Identification: Top Down vs. Bottom Up</p>
<p>Defining Services Approach</p>
<p>Performance: Chasing the Bottleneck</p>
<p>Implementing Services: Methodologies for change</p>
<p>The Dual Lifecycle</p>
<p>The Service Lifecycle</p>
<p>Advanced Vision for Application Assembly</p>
<p>Where Should the Code Be?</p>
<p>Top-Down: Analyze Processes</p>
<p>Process Analysis &#038; Optimization</p>
<p>Discovering Existing Processes</p>
<p>Service Identification: Process Decomposition</p>
<p>Implementing Services</p>
<p>Defining New Compositions</p>
<p>Technology Selection</p>
<p>Purchasing SOA Technology</p>
<p>Technology Selection: Choices</p>
</ul>
<p><strong>Case Study: Novartis<br />
</strong></td>
</tr>
<tr bgcolor="#ffaaff">
<td colspan="3" align="center">
<h2>Module 8: Addressing SOA Organizational Challenges</h2>
</td>
</tr>
<tr bgcolor="#c0c0c0">
<td colspan="2">
<p>Organizational Issues</p>
<p>Common SOA Pitfalls</p>
<p>SOA by Any Name</p>
<p>SOA = Best Practices</p>
<p>The Wrong Question!</p>
<p>Iconoclastic vs. Dogmatic Architecture</p>
<p>Thinking Outside the SOA Box</p>
<p>SOA Growing Pains</p>
<p>Challenges in Calculating ROI</p>
<p>The Problems with Vendor-Driven Architecture</p>
<p>Challenge: The Right Amount of Governance</p>
<p>Avoid Policy Bloat</p>
<p>Avoid &#8220;Checklist Architecture&#8221;</p>
<p>Dealing with SOA Hype and Anti-Hype</p>
<p>Services Thinking</p>
<p>Is there an Architect in the House?</p>
<p>Hiring Architects</p>
<p>EA Challenges:The Role of the EA</p>
<p>Enterprise Architecture Challenges</p>
</td>
<td>
<p>Questions to Ask Your EA</p>
<p>Good Money after Bad</p>
<p>The SOA Consultant Conundrum</p>
<p>The SOA School Bus</p>
<p>Are &#8220;SOA&#8221; Consultants Qualified?</p>
<p>IT Governance Feedback Loop</p>
<p>Interaction Challenges</p>
<p>More Interaction Challenges</p>
<p>The &#8220;Ivory Tower&#8221; Problem</p>
<p>Convincing Technical Specialists</p>
<p>Working with IT Middle Management</p>
<p>Service Domain Roles</p>
<p>SOA Funding Models</p>
<p>Traditional IT Funding:Project Based</p>
<p>Initial SOA Funding</p>
<p>Funding Cross-Departmental SOA Initiatives</p>
<p>CapEx vs. OpEx</p>
<p>Budget Workarounds</p>
<p>Why is SOA Difficult?</p>
<tr bgcolor="#aaffff">
<td colspan="3" align="center"><strong>Final Exam: SOA Jeopardy!</strong></td>
</tr>
<tr bgcolor="#aaaaff">
<td colspan="3" align="center">Class Ends at 3:00 PM</td>
</tr>
</tbody>
</table>
<p><center><a class="download" href="http://www.zapthink.com/?page_id=12085&#038;regevent_action=register&#038;event_id=104&#038;name_of_event=LZA+SOA+Training+%26amp%3B+Certification%3A+Sydney+--+September+10+-+13%2C+2013">REGISTER</a></center><br />
</div><div id='newTabs_li_2_15716' class='tabcontent'>
</p>
<p><b><br />
<h1>Venue:</h1>
<p><br/></p>
<ul>
<p>  	Navitas Building (over Wynyrd Station)<br />
11 York St<br />
Sydney Australia    <!--?php echo $event_city . ", " .	$event_state . " " . $event_zip; ?-->
</ul>
<p><center><a class="download" href="http://www.zapthink.com/?page_id=12085&#038;regevent_action=register&#038;event_id=104&#038;name_of_event=LZA+SOA+Training+%26amp%3B+Certification%3A+Sydney+--+September+10+-+13%2C+2013">REGISTER</a></center><br />
</b><br />
</div></div><script type='text/javascript'>var newtabs=new ddtabcontent('newTabs_ul_15716');newtabs.setpersist(true);newtabs.setselectedClassTarget('link');newtabs.init();</script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.zapthink.com/2013/05/21/lza-soa-training-certification-sydney-september-10-13-2013/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The DevOps Paradox</title>
		<link>http://www.zapthink.com/2013/05/20/the-devops-paradox/</link>
		<comments>http://www.zapthink.com/2013/05/20/the-devops-paradox/#comments</comments>
		<pubDate>Mon, 20 May 2013 18:18:18 +0000</pubDate>
		<dc:creator>Jason Bloomberg</dc:creator>
				<category><![CDATA[In the News]]></category>
		<category><![CDATA[devops]]></category>
		<category><![CDATA[Scrum]]></category>

		<guid isPermaLink="false">http://www.zapthink.com/?p=15709</guid>
		<description><![CDATA[The first rule of DevOps is don’t implement a DevOps team. ]]></description>
			<content:encoded><![CDATA[<p><img src='http://www.zapthink.com/wp-content/plugins/simple-post-thumbnails/timthumb.php?src=/wp-content/thumbnails/15709.jpg&amp;w=64&amp;h=64&amp;zc=1&amp;ft=jpg' alt='post thumbnail' /></p>
<p>The problem isn’t with DevOps in principle, it’s with the notion of a “DevOps team.” To implement DevOps properly, it’s important to reorganize the IT organization along entirely different lines. The DevOps effort must cut across functional areas, rather than being a new functional area of its own.</p>
<p>Read the entire post at <a href="http://www.devx.com/blog/the-devops-paradox.html">http://www.devx.com/blog/the-devops-paradox.html</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zapthink.com/2013/05/20/the-devops-paradox/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ESB Persists As Application Integration Tool</title>
		<link>http://www.zapthink.com/2013/05/16/esb-persists-as-application-integration-tool/</link>
		<comments>http://www.zapthink.com/2013/05/16/esb-persists-as-application-integration-tool/#comments</comments>
		<pubDate>Thu, 16 May 2013 17:31:54 +0000</pubDate>
		<dc:creator>Jason Bloomberg</dc:creator>
				<category><![CDATA[In the News]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[API Management]]></category>
		<category><![CDATA[application integration]]></category>
		<category><![CDATA[ESB]]></category>
		<category><![CDATA[SOA]]></category>

		<guid isPermaLink="false">http://www.zapthink.com/?p=15687</guid>
		<description><![CDATA[ESB has entered yet another transitional phase.]]></description>
			<content:encoded><![CDATA[<p><img src='http://www.zapthink.com/wp-content/plugins/simple-post-thumbnails/timthumb.php?src=/wp-content/thumbnails/15687.jpg&amp;w=64&amp;h=64&amp;zc=1&amp;ft=jpg' alt='post thumbnail' /></p>
<p>ESB has entered yet another transitional phase. Jason Bloomberg, president of ZapThink, a Dovel Technologies company, says there&#8217;s a lot of noise in the market for and against ESBs. ZapThink, based in McLean, Va., offers training in certification in SOA and cloud computing.</p>
<p>&#8220;It&#8217;s a little hard to cut through and find out what&#8217;s really going on,&#8221; Bloomberg says. &#8220;Customers are generally confused about the whole thing.&#8221;</p>
<p>Read the entire article at <a href="http://www.cio.com/article/733394/ESB_Persists_As_Application_Integration_Tool">http://www.cio.com/article/733394/ESB_Persists_As_Application_Integration_Tool</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zapthink.com/2013/05/16/esb-persists-as-application-integration-tool/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Want Cybersecurity? Get Cloud</title>
		<link>http://www.zapthink.com/2013/05/15/want-cybersecurity-get-cloud/</link>
		<comments>http://www.zapthink.com/2013/05/15/want-cybersecurity-get-cloud/#comments</comments>
		<pubDate>Thu, 16 May 2013 00:29:02 +0000</pubDate>
		<dc:creator>Jason Bloomberg</dc:creator>
				<category><![CDATA[In the News]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Cybersecurity]]></category>
		<category><![CDATA[Department of Defense]]></category>
		<category><![CDATA[DoD]]></category>
		<category><![CDATA[Mobile]]></category>

		<guid isPermaLink="false">http://www.zapthink.com/?p=15684</guid>
		<description><![CDATA[The DoD's networks are impossible to defend]]></description>
			<content:encoded><![CDATA[<p><img src='http://www.zapthink.com/wp-content/plugins/simple-post-thumbnails/timthumb.php?src=/wp-content/thumbnails/15684.jpg&amp;w=64&amp;h=64&amp;zc=1&amp;ft=jpg' alt='post thumbnail' /></p>
<p>Want Cybersecurity? Get Cloud. That&#8217;s the perspective of General Keith Alexander, director of the National Security Agency and commander of the U.S. Cyber Command, speaking at an event on May 10<sup>th</sup>. He pointed out that the U.S. Department of Defense (DoD)&#8217;s networks are impossible to defend, and he&#8217;s looking to the Cloud to solve the problem.</p>
<p><em>Say what?</em></p>
<p>Read the entire post at <a href="http://www.devx.com/blog/want-cybersecurity-get-cloud.html">http://www.devx.com/blog/want-cybersecurity-get-cloud.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.zapthink.com/2013/05/15/want-cybersecurity-get-cloud/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
