<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.technet.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>What kinds of services is Dublin targeting?</title><link>http://blogs.technet.com/b/chriscraft/archive/2008/11/09/what-kinds-of-services-is-dublin-targeting.aspx</link><description>When we describe Dublin we talk about WAS-hosted WCF services. Our team thinks of WCF services along two pivots: Stateless versus durable services. A stateless service is a transient one. When the service is processing a request it keeps that service</description><dc:language>en-US</dc:language><generator>Telligent Evolution Platform Developer Build (Build: 5.6.50428.7875)</generator><item><title>re: What kinds of services is Dublin targeting?</title><link>http://blogs.technet.com/b/chriscraft/archive/2008/11/09/what-kinds-of-services-is-dublin-targeting.aspx#3152165</link><pubDate>Thu, 13 Nov 2008 07:19:08 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3152165</guid><dc:creator>ccraft@microsoft.com</dc:creator><description>&lt;p&gt;Let’s say that you don’t want to use a workflow for your loan application. You create a database and web service methods to handle the individual actions of your loan process. You have a database and 25 web methods, for example. Now you need a piece of software to coordinate all those web methods.&lt;/p&gt;
&lt;p&gt;• At which point of the process should I call method 10? Is this always step #4?&lt;/p&gt;
&lt;p&gt;• How do I pass data returned by method 7 to method 12?&lt;/p&gt;
&lt;p&gt;• How do I execute 5 methods simultaneously? For performance’s sake I don’t want to serialize these. I want them to execute at the same time. &lt;/p&gt;
&lt;p&gt;• Not all the methods are request-response. I call one method that requests an appraisal of the property. It may take a week before I get the answer. What do I do with my process while I’m waiting? What if the system crashes while I’m waiting?&lt;/p&gt;
&lt;p&gt;• How do I give visibility into the process? How do I know which step loan 123 is in?&lt;/p&gt;
&lt;p&gt;You could absolutely code all the logic to handle those requirements. The advantage of using something like workflow is that you don’t have to write the coordination code. &lt;/p&gt;
&lt;p&gt;Kenny Wolf gave a neat talk at the PDC this year entitled “WF 4.0: A First Look”. The abstract starts with:&lt;/p&gt;
&lt;p&gt;Programs coordinate work. The code for coordination and state management often obscures a program's purpose. Learn how programming with Windows Workflow Foundation (WF) 4.0 provides clarity of intent while preserving the functional richness of the .NET framework.&lt;/p&gt;
&lt;p&gt;The recorded session is posted at &lt;a rel="nofollow" target="_new" href="http://channel9.msdn.com/pdc2008/TL17/"&gt;http://channel9.msdn.com/pdc2008/TL17/&lt;/a&gt; .&lt;/p&gt;
&lt;p&gt;Now let’s say that you’ve decided to use a workflow. You still need the database and the web methods that you wrote the first time. Those are the core of your business. You can get rid of all the coordination code that you wrote, though. You will design a workflow to manage your loan process instead.&lt;/p&gt;
&lt;p&gt;One clarification about persistence. You’re right—when you build a database and a set of methods that write to it you are persisting your application data. When I was describing persistence I was talking about persisting the state of the service instance—the value of the instance’s variables, what the instance was doing, etc. Even with workflow you need to manage the application data, but the workflow’s persistence model will take care of the service state. Again, you get to focus on your core business.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3152165" width="1" height="1"&gt;</description></item><item><title>re: What kinds of services is Dublin targeting?</title><link>http://blogs.technet.com/b/chriscraft/archive/2008/11/09/what-kinds-of-services-is-dublin-targeting.aspx#3152025</link><pubDate>Thu, 13 Nov 2008 02:18:24 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3152025</guid><dc:creator>googlexp</dc:creator><description>&lt;p&gt;I still don't get it. So a &amp;quot;long running process&amp;quot; such as loan approval can be modeled as a service, so what? do we need yet another technology to pull it off?&lt;/p&gt;
&lt;p&gt;Why not just create a database table for the loans (loan_id, applicant_name, status,...)&lt;/p&gt;
&lt;p&gt;then write a bunch of web service methods such as create(id, ...), update_status(id, ...) , cancel(id, ...), approve(id,...),...&lt;/p&gt;
&lt;p&gt;the id parameter should be enough to make sure different methods touch the same loan record in the database.&lt;/p&gt;
&lt;p&gt; isn't that what &amp;quot;persisted&amp;quot; is all about? what additional value does &amp;quot;durable services&amp;quot; in .NET 4.0 bring?&lt;/p&gt;
&lt;p&gt;Yes, i know you'd tell me these webmethod calls can be called in any order, not necessarily the correct one, and WF will fix that; but what else??&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3152025" width="1" height="1"&gt;</description></item><item><title>What kinds of services is Dublin targeting? | MS Tech News</title><link>http://blogs.technet.com/b/chriscraft/archive/2008/11/09/what-kinds-of-services-is-dublin-targeting.aspx#3149840</link><pubDate>Sun, 09 Nov 2008 06:26:15 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3149840</guid><dc:creator>What kinds of services is Dublin targeting? | MS Tech News</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://mstechnews.info/2008/11/what-kinds-of-services-is-dublin-targeting/"&gt;http://mstechnews.info/2008/11/what-kinds-of-services-is-dublin-targeting/&lt;/a&gt;&lt;/p&gt;
&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3149840" width="1" height="1"&gt;</description></item></channel></rss>