<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-7917760</atom:id><lastBuildDate>Wed, 13 Mar 2024 16:09:45 +0000</lastBuildDate><title>Sergio Del Piccolo&#39;s Weblogs</title><description>The real problem is not whether machines think but whether men do - BF Skinner</description><link>http://sirgini.blogspot.com/</link><managingEditor>noreply@blogger.com (Sergio Del Piccolo)</managingEditor><generator>Blogger</generator><openSearch:totalResults>11</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7917760.post-4329748026073729185</guid><pubDate>Fri, 26 Jan 2007 09:55:00 +0000</pubDate><atom:updated>2007-01-26T02:00:03.311-08:00</atom:updated><title>New Blog Site</title><description>I recently moved to a new blog site. My blog can now be found at &lt;a href=&quot;http://delpiccolo.com&quot;&gt;http://delpiccolo.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Please take a minute to update your RRS feed to &lt;a title=&quot;RSS Entries&quot; href=&quot;http://delpiccolo.com/feed/&quot;&gt;http://delpiccolo.com/feed/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Come on over!&lt;span style=&quot;text-decoration: underline;&quot;&gt;&lt;/span&gt;</description><link>http://sirgini.blogspot.com/2007/01/new-blog-site.html</link><author>noreply@blogger.com (Sergio Del Piccolo)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7917760.post-116501345355154791</guid><pubDate>Fri, 01 Dec 2006 22:47:00 +0000</pubDate><atom:updated>2006-12-01T16:06:58.083-08:00</atom:updated><title>How to: Reference GAC&#39;d assembly from VS2005</title><description>The other day I was trying to add a reference to an assembly that was in the Global Assembly Cache (GAC) from Visual Studio 2005. I couldn&#39;t find the assembly listed in the &lt;span style=&quot;font-weight: bold;&quot;&gt;Add Reference &lt;/span&gt;dialog. I noticed that none of the GAC&#39;d assemblies were showing up. So after a little research I found a way to add the reference. Go to the &lt;span style=&quot;font-weight: bold;&quot;&gt;Browse&lt;/span&gt; tab and type the file path with assembly version and token in the &lt;span style=&quot;font-weight: bold;&quot;&gt;File name:&lt;/span&gt; textbox. As an example, if you want to add a reference to the PIA interop assembly for Word 2003, you type:&lt;br /&gt;&lt;br /&gt;C:Windows\assembly\GAC\Microsoft.Office.Interop.Word11.0.0.0__71e9bce111e9429c\Microsoft.Office.Interop.Word.dll</description><link>http://sirgini.blogspot.com/2006/12/how-to-reference-gacd-assembly-from.html</link><author>noreply@blogger.com (Sergio Del Piccolo)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7917760.post-116357392373798519</guid><pubDate>Wed, 15 Nov 2006 06:28:00 +0000</pubDate><atom:updated>2006-11-14T23:09:07.896-08:00</atom:updated><title>K2.Net 2003 Server Evaluation Expired</title><description>A couple of weeks ago while developing a K2.Net 2003 workflow solution the application stopped working. &lt;span class=&quot;postbody&quot;&gt;My application kicked off a new process using Visual Studio 2005 web forms.&lt;br /&gt;&lt;br /&gt;My web page had a submit button with the following code:&lt;br /&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;span style=&quot;font-family: courier new;&quot;&gt;protected void Submit(object sender, EventArgs e)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: courier new;&quot;&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: courier new;&quot;&gt;    // declare K2 variables&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: courier new;&quot;&gt;    SourceCode.K2ROM.Connection k2Conn = new SourceCode.K2ROM.Connection();&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: courier new;&quot;&gt;    SourceCode.K2ROM.ProcessInstance processInstance;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: courier new;&quot;&gt;    // instantiate K2 objects&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: courier new;&quot;&gt;    k2Conn.Open(ConfigurationManager.AppSettings[&quot;K2ServerName&quot;]);&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: courier new;&quot;&gt;    processInstance = k2Conn.CreateProcessInstance(&quot;K2ProjectName\\K2ProcessName&quot;);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: courier new;&quot;&gt;    // map the data to the K2 process data fields&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: courier new;&quot;&gt;    processInstance.DataFields[&quot;DataFieldName&quot;].Value = textBox1.Text;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: courier new;&quot;&gt;    // start K2 process and close the connection&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: courier new;&quot;&gt;    k2Conn.StartProcessInstance(processInstance);&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: courier new;&quot;&gt;    k2Conn.Close();&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: courier new;&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The following line threw the error:&lt;br /&gt;&lt;span style=&quot;font-weight: bold; font-family: courier new;&quot;&gt; processInstance = k2Conn.CreateProcessInstance( &quot;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-weight: bold; font-family: courier new;&quot; class=&quot;postbody&quot;&gt;K2ProjectName\\K2ProcessName&lt;/span&gt;&lt;span class=&quot;postbody&quot;&gt;&lt;span style=&quot;font-weight: bold; font-family: courier new;&quot;&gt;&quot;); &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;In the &lt;span style=&quot;font-weight: bold;&quot;&gt;Event Log&lt;/span&gt; I found the following error:&lt;br /&gt;&lt;span style=&quot;font-family: courier new;font-size:85%;&quot; &gt;Event code: 3005&lt;br /&gt;Event message: An unhandled exception has occurred.&lt;br /&gt;Event time: 2006-10-20 10:52:23&lt;br /&gt;Event time (UTC): 2006-10-20 17:52:23&lt;br /&gt;Event ID: 959c2128ccda4635a95e5206eca1bd1b&lt;br /&gt;Event sequence: 13&lt;br /&gt;Event occurrence: 2&lt;br /&gt;Event detail code: 0&lt;br /&gt;&lt;br /&gt;Application information:&lt;br /&gt;Application domain: /LM/W3SVC/1/Root/xxxxxxxxxx-8-128061853925301760&lt;br /&gt;Trust level: Full&lt;br /&gt;Application Virtual Path: /xxxxxxxxxxxx&lt;br /&gt;Application Path: ...\Website\MyWebsiteMachine name: k2server&lt;br /&gt;&lt;br /&gt;Process information:&lt;br /&gt;Process ID: 3752&lt;br /&gt;Process name: w3wp.exe&lt;br /&gt;Account name: k2server\DEVsvcWssAppPool&lt;br /&gt;&lt;br /&gt;Exception information:&lt;br /&gt;Exception type: Exception&lt;br /&gt;Exception message: Exception has been thrown by the target of an invocation.&lt;br /&gt;&lt;br /&gt;Request information:&lt;br /&gt;Request URL: http://k2server/.../MyPage.aspx&lt;br /&gt;Request path: /.../MyPage.aspx&lt;br /&gt;&lt;br /&gt;User host address: xxx.xxx.xx.xxx&lt;br /&gt;User: &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: courier new;font-size:85%;&quot; &gt;k2server&lt;/span&gt;&lt;span class=&quot;postbody&quot;&gt;&lt;span style=&quot;font-family: courier new;font-size:85%;&quot; &gt;\Administrator&lt;br /&gt;Is authenticated: True&lt;br /&gt;Authentication Type: NTLM&lt;br /&gt;Thread account name: k2server\DEVsvcWssAppPool&lt;br /&gt;&lt;br /&gt;Thread information:&lt;br /&gt;Thread ID: 1&lt;br /&gt;Thread account name: k2server\DEVsvcWssAppPool&lt;br /&gt;Is impersonating: False&lt;br /&gt;Stack trace:    at Client.Throw(String s, Exception e)&lt;br /&gt;at Client.InternalCall(UInt32 sock, ArchiveX ar, Int32 hdr)&lt;br /&gt;at SourceCode.K2ROM.Connection.CreateProcessInstance(String ProcName, Int32 Version)&lt;br /&gt;at SourceCode.K2ROM.Connection.CreateProcessInstance(String ProcName)&lt;br /&gt;at IRWorkflow.IREnterNew.Submit(Object sender, EventArgs e) in ...\Website\MyWebsite\MyPage.aspx.cs:line 40&lt;br /&gt;at System.Web.UI.WebControls.Button.OnClick(EventArgs e)&lt;br /&gt;at System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument)&lt;br /&gt;at System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument)&lt;br /&gt;at System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)&lt;br /&gt;at System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)&lt;br /&gt;at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)&lt;br /&gt;&lt;br /&gt;Custom event details:&lt;br /&gt;&lt;br /&gt;For more information, see Help and Support Center at  http://go.microsoft.com/fwlink/events.asp.&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;At first I thought that I had some sort of security/permission issue. After checking all the security/permission configuration I decided to start the K2.Net Console Server and try again. As the K2.Net Server started I noticed the following line in the console:&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;&quot;K2.net Evaluation Version has expired on 20 Oct 06&quot;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;After contacting K2 and getting an extension on the evaluation version the error was resolved.&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://photos1.blogger.com/blogger/364/512/1600/K2%20Blue%20Screen%20Licence%20message.jpg&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;&quot; src=&quot;http://photos1.blogger.com/blogger/364/512/320/K2%20Blue%20Screen%20Licence%20message.jpg&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;</description><link>http://sirgini.blogspot.com/2006/11/k2net-2003-server-evaluation-expired.html</link><author>noreply@blogger.com (Sergio Del Piccolo)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7917760.post-116052444530010395</guid><pubDate>Tue, 10 Oct 2006 23:52:00 +0000</pubDate><atom:updated>2006-11-09T14:56:13.183-08:00</atom:updated><title>K2.Net Service Pack 4 Release</title><description>SourceCode released service pack 4 for their K2.Net 2003 workflow product around October 10th 2006. I spent some time looking for the list of enhancements and found them contained in the Bill of Materials (BOM) PDF file downloaded with the service pack. The following enhancements were made:&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;K2.net Server&lt;/span&gt;&lt;ol&gt;&lt;li&gt;An extensive &lt;span style=&quot;font-weight: bold;&quot;&gt;Logging Framework &lt;/span&gt;that records and stores every K2.net Server event has been added. The log is stored in the [Drive]\Program Files\K2.net 2003\Bin directory. Log settings are kept in the Logger.config configuration file.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;The &lt;span style=&quot;font-weight: bold;&quot;&gt;Exception Messaging&lt;/span&gt; fomat has been altered to include the error number. Be aware that this can affect existing applications when installing the new service pack.&lt;/li&gt;&lt;li&gt;Server &lt;span style=&quot;font-weight: bold;&quot;&gt;Performance Monitoring &lt;/span&gt;has been added to assist system administrators manage server infrastructure and to detect bottle necks. The following counters were added:&lt;/li&gt;&lt;ol&gt;&lt;li&gt;K2.net Processes&lt;/li&gt;&lt;li&gt;K2.net Worklist Items&lt;/li&gt;&lt;li&gt;K2.net Worklists&lt;/li&gt;&lt;li&gt;Process Memory Usage&lt;/li&gt;&lt;li&gt;Process Modules Loaded&lt;/li&gt;&lt;li&gt;Process Thread Counts&lt;/li&gt;&lt;li&gt;TCP Information&lt;/li&gt;&lt;/ol&gt;&lt;li&gt;Process migration tools allowing for the migration of processes accross servers.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;K2.net Studio&lt;/span&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Various bug fixes to the &lt;span style=&quot;font-weight: bold;&quot;&gt;Code Editor&lt;/span&gt; and improvements including intellisense upgrades.&lt;/li&gt;&lt;li&gt;Code access to write to the &lt;span style=&quot;font-weight: bold;&quot;&gt;Logging Framework&lt;/span&gt; log file mentioned above, e.g. K2.ProcessInstance.Logger.LogDebugMessage(&quot;Event Name&quot;, &quot;Message&quot;);&lt;/li&gt;&lt;/ol&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;.Net Framework 2.0 Support&lt;/span&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;An enhancement to the support provided by Service Pack 3. There are some Knowledge Base articles available to assist in setting up a .Net Framework 2.0 project:&lt;/li&gt;&lt;ol&gt;&lt;li&gt;&lt;a href=&quot;http://kb.k2workflow.com/Articles/KB000152.aspx&quot;&gt;KB000152 - .NET Framework 2.0 design considerations and expected behavior&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://kb.k2workflow.com/Articles/KB000154.aspx&quot;&gt;KB000154 - Configuration for K2.net 2003 to run on a specific version of the .NET Framework&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;&lt;li&gt;Support for Visual Studio 2005.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;K2.net 2003 Tasklist WebPart&lt;/span&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Enhancements regarding the reference to the K2.net 2003 Server from Microsoft Share Point:&lt;/li&gt;&lt;ol&gt;&lt;li&gt;Multiple K2.net 2003 Servers can be referenced - enter the server names with semi-colon delimeters.&lt;/li&gt;&lt;li&gt;When referencing the server include the server name and port (default of 5252 will be used if a port has not been entered).&lt;/li&gt;&lt;/ol&gt;&lt;/ol&gt;           E.g. k2server1:1234;k2server2:4567;k2server3:5252&lt;br /&gt;&lt;br /&gt;Look out for my next K2 post on using the Logging Framework.</description><link>http://sirgini.blogspot.com/2006/10/k2net-service-pack-4-release.html</link><author>noreply@blogger.com (Sergio Del Piccolo)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7917760.post-116028250580393422</guid><pubDate>Sun, 08 Oct 2006 04:41:00 +0000</pubDate><atom:updated>2006-10-16T09:33:09.370-07:00</atom:updated><title>Microsoft SOA &amp; Business Process Conference - Day 4</title><description>&lt;p&gt;&lt;/p&gt;&lt;p&gt;Day 4 at the conference and there are some bleary eyed attendees. While the conference has been great so far, I think people are tired and ready to go home. Today&#39;s presentations were all good in my opinion:&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Aaron Skonnard, Cofounder, Pluralsight&lt;br /&gt;Gruia Pitigoi-Aron, Microsoft&lt;br /&gt;BizTalk Web Services: The Next Generation&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Aaron pointed out that Service Orientation defines an architectural paradigm for software federation, with federation being the unification of self-governing entities. &lt;/p&gt;&lt;ul&gt;&lt;li&gt;SOA is focused on unifying autonomous services, providing architectural governance, reducing dependencies and minimizing assumptions. &lt;/li&gt;&lt;li&gt;SOA tenets help achieve loose coupling.&lt;/li&gt;&lt;li&gt;Benefits of SOA are :&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Cost reductions, increased agility&lt;/li&gt;&lt;li&gt;Business &amp; software alignment&lt;/li&gt;&lt;li&gt;Technology freedom&lt;/li&gt;&lt;li&gt;Independent evolution&lt;/li&gt;&lt;li&gt;Longer-term reuse&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Web Services provide a way to implement the SO design principles:&lt;/li&gt;&lt;ul&gt;&lt;li&gt;XML reduces format complexities&lt;/li&gt;&lt;li&gt;WS-* reduces transport complexities&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Web Services is not a silver bullet&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Not everything can use XML, SOAP, WS-*&lt;/li&gt;&lt;li&gt;Can&#39;t throw away existing investments&lt;/li&gt;&lt;li&gt;Many web service stacks only support HTTP&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;SOA must plan for disagreement on the following fronts&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Transport/application adapters&lt;/li&gt;&lt;li&gt;Message format translators&lt;/li&gt;&lt;li&gt;Message schema transformations&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Combining BizTalk Server 2006 with web services provides the complete solution:&lt;/li&gt;&lt;ul&gt;&lt;li&gt;BTS fills various messaging integration gaps&lt;/li&gt;&lt;li&gt;BTS embraces we technologies&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;BTS 2006 R2 ship with WCF adapters&lt;/li&gt;&lt;ul&gt;&lt;li&gt;New adapters for each mainstream binding&lt;/li&gt;&lt;li&gt;A WCF-Custom adapter for extensibility&lt;/li&gt;&lt;li&gt;WCF Adapters use cases&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Transaction message send/receive&lt;/li&gt;&lt;li&gt;Using WS-* headers for routing/processing&lt;/li&gt;&lt;li&gt;Using custom bindings (binding elements)&lt;/li&gt;&lt;li&gt;Numerous security scenarios&lt;/li&gt;&lt;li&gt;In-proc hosting of non-HTTP endpoints&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;p&gt;Gruia then demonstrated using the WCF adapters to enable transactions and showed some security features using BizTalk Server, including single sign-on capability. &lt;/p&gt;&lt;p&gt;Aaron&#39;s final point was that BTS 2006 R2 will provide full WS-* support, custom bindings, flexible hosting &amp;amp; communications.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Aaron Skonnard, Cofounder, Pluralsight&lt;br /&gt;Gruia Pitigoi-Aron, Microsoft&lt;br /&gt;BizTalk WCF Adapters: In-Depth&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;In this session Aaron and Gruia continued showing demos of the new WCF Adapters. There were no slides only the a dive into some real code (I found this refreshing).&lt;/p&gt;&lt;p&gt;The first demonstration showed a client sending a message to BTS through a web service with option to select separate XML versions for the message structure. BizTalk then routed the message to separate versions of the backend application. Version 1 used transport security (which resulted in a smaller message) and version 2 used message security. The BizTalk receive location was a WCF-NetTcp adapter using a custom pipeline to add a custom header to the message header that contains the version (it can also look for differences in actions, namespace, etc). The pipeline promotes the value (needs a property schema), the send port filters on the custom operation and then routes it to the service depending on the version number. It provided a model for versioning using web services.&lt;/p&gt;&lt;p&gt;The second demonstration showed how to build a custom WCF adapter. The binding tab on the adapter allows to pick different binding types (you can install other bindings or even create a custom binding element). &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Don Smith, Product Manager, Patterns &amp; Practices, Microsoft&lt;br /&gt;Web Services Software Factory&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Don started by speaking about how software factories help you build a specific kind of application (smart client, service, etc). He then went on to speak about the Software Factory that can be downloaded from the Patterns and Practices website. He mentioned that the software factory incorporates a variety of guidance content types and form factors:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Architecture &amp;amp; design guidance, patterns, and how-to&#39;s (readable/printable)&lt;/li&gt;&lt;li&gt;Reference implementations (executable) - sample applications&lt;/li&gt;&lt;li&gt;Application blocks (reusable)&lt;/li&gt;&lt;li&gt;Guidance packages (actionable)&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Guidance packages provided are:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Open - documentation describes manual and automated tasks, the result of the automation is exposed&lt;/li&gt;&lt;li&gt;Configurable - key configuration settings can be captured within Visual Studios, automated guidance is defined using XML&lt;/li&gt;&lt;li&gt;Extensible - guidance can be tailored to meet specific requirements&lt;/li&gt;&lt;li&gt;Verifiable - generated code can be verified for compliance within a standard&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Don demonstrated the Software Factory by setting up a wine rating service for a winery.&lt;/p&gt;&lt;p&gt;The benefits of using the factory are:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Increased quality&lt;/li&gt;&lt;li&gt;Better consistency of projects/services&lt;/li&gt;&lt;li&gt;Better performance of developer&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;According to Don the next version of the Software Factory with WCF support is set to be released in December 2006. It will include:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Versioning&lt;/li&gt;&lt;li&gt;ASMX/WCF Interop&lt;/li&gt;&lt;li&gt;WF&lt;/li&gt;&lt;li&gt;Message validation&lt;/li&gt;&lt;li&gt;Security&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Links:&lt;br /&gt;Blog: &lt;a href=&quot;http://blogs.msdn.com/donsmith/&quot;&gt;Don Smith&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://msdn.microsoft.com/practices/&quot;&gt;Patterns &amp;amp; Practices&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpag2/html/servicefactory.asp&quot;&gt;Web Service Software Factory&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://practices.gotdotnet.com/svcfactory&quot;&gt;Service Factory Community Workspace&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://msdn.microsoft.com/data/ref/linq/&quot;&gt;The LINQ Project&lt;/a&gt;&lt;/p&gt;</description><link>http://sirgini.blogspot.com/2006/10/microsoft-soa-business-process_07.html</link><author>noreply@blogger.com (Sergio Del Piccolo)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7917760.post-116015966548943704</guid><pubDate>Fri, 06 Oct 2006 18:34:00 +0000</pubDate><atom:updated>2006-10-06T12:54:52.226-07:00</atom:updated><title>Microsoft SOA &amp; Business Process Conference - Day 3</title><description>It&#39;s day 3 at the conference and the presentations were good, especially the one by Chandramouli Venkatesh on the Biztalk Server 2006 R2 Adapter Framework. It provided some interesting insight into the upcoming release slated for the 1&lt;sup&gt;st&lt;/sup&gt; quarter of 2007. It was mentioned that beta 1 should be out by the end of the year.&lt;p&gt;&lt;strong&gt;Paul Andrew, Senior Product Manager, Microsoft&lt;br /&gt;Windows Workflow Foundation: Creating Custom Activities for Workflows&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;The level of the presentation was at an introductory level, covering topics from “What is workflow” to speaking about workflow runtime, and the Base Activity Library (BAL). I’ve listed some points that Paul mentioned:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;A workflow is a software implementation of business process or business logic.&lt;/li&gt;&lt;li&gt;Workflows are transparent, flexible and extensible.&lt;/li&gt;&lt;li&gt;WF is not for end users or business people but for developers. It does not have any administration tools or a reporting interface and provides no direct business value without development.&lt;/li&gt;&lt;li&gt;WF is a framework for building workflow-enabled applications.&lt;/li&gt;&lt;li&gt;Workflows are modeled as a tree of activities. &lt;/li&gt;&lt;li&gt;Custom application logic should be modeled using activities&lt;br /&gt;Activities are all of the steps within a workflow or reusable components for composing workflows. He had a good analogy where he compared workflows to UI forms and controls, where Workflows are like Forms and Activities like Controls.&lt;/li&gt;&lt;li&gt;Build custom activities when they are composite activities (multiple basic activities merged into one activity), it is anticipated that they will be reused or there is a high level of business logic within one &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;The demo was a simple console workflow that showed how to build custom activities. Paul added a Validator and a Designer to the activity. What I had not seen before was the effect of the designer which changed the way that the workflow was presented in the Visual Studio workflow designer. It is a great way to develop a set of activities that are going to be used by your organization and providing a different look for them. In fact you can go as far as categorizing activities by their function and giving a different look to each one, similar to the way that functoids are colour coded in BizTalk. Different information can be added to the activity as well. &lt;/p&gt;&lt;p&gt;Blog: &lt;a href=&quot;http://blogs.msdn.com/pandrew/&quot;&gt;Paul Andrew&lt;/a&gt; &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Eilene Hao, Program Manager, Office Shared Services, Microsoft&lt;br /&gt;Windows Workflow Foundation: Developing Office 2007 Workflows in Visual Studio 2005&lt;/strong&gt; &lt;/p&gt;&lt;p&gt;Eilene’s presentation was mostly a walkthrough demonstration of how to build a workflow for SharePoint using Visual Studio and InfoPath 2007. &lt;/p&gt;&lt;p&gt;Recommended downloads for developing workflows: &lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://www.microsoft.com/downloads/details.aspx?FamilyID=6D94E307-67D9-41AC-B2D6-0074D6286FA9&amp;displaylang=en&quot;&gt;SharePoint Server 2007: Software Development Kit&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.microsoft.com/downloads/details.aspx?FamilyID=05E0DD12-8394-402B-8936-A07FE8AFAFFD&amp;amp;displaylang=en&quot;&gt;Windows SharePoint Services 3.0: Software Development Kit&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.microsoft.com/downloads/details.aspx?FamilyID=38ca6b32-44be-4489-8526-f09c57cd13a5&amp;displaylang=en&quot;&gt;2007 Office System Starter Kit: Enterprise Content Management Starter Kit&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;The five steps used to build these workflows are: &lt;/p&gt;&lt;ol&gt;&lt;li&gt;Model workflow in Visual Studio&lt;/li&gt;&lt;li&gt;Design InfoPath forms&lt;/li&gt;&lt;li&gt;Bind form data &amp;amp; code logic&lt;/li&gt;&lt;li&gt;Deploy the workflow&lt;/li&gt;&lt;li&gt;Debug on running server&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;Her development recommendation was that to develop on the server, either virtual machine environment or on an actual server box. &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Steve Swartz, Architect, Connected Systems Division, Microsoft&lt;br /&gt;Clemens Vasters, Program Manager, Connected Systems Division, Microsoft&lt;br /&gt;Presentation&lt;/strong&gt; &lt;/p&gt;This was the least beneficial presentation that I have attended so far. This is by no means a reference on the presentation or the presenters; in fact they managed to keep me interested even though I am in not interested in presentation much. That being said, my notes are frugal at best. They spoke mostly about design patterns for rich clients, and covered the following patterns in more detail:&lt;p&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://photos1.blogger.com/blogger/364/512/1600/day3patterns.3.jpg&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;&quot; src=&quot;http://photos1.blogger.com/blogger/364/512/400/day3patterns.jpg&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;There main objectives for the presentation were: &lt;/p&gt;&lt;ul&gt;&lt;li&gt;Connected client technologies open opportunities&lt;/li&gt;&lt;li&gt;Have more options that you probably take advantage of&lt;/li&gt;&lt;li&gt;Choose the right option for each task&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Chandramouli Venkatesh, Group Manager, Connected Systems Division, Microsoft&lt;br /&gt;BizTalk Server 2006 R2 Adapter Framework - Walkthrough&lt;/strong&gt; &lt;/p&gt;&lt;p&gt;This was, in my opinion, the best presentation yet. Chandramouli provided a walkthrough of the Adapter Framework (AF). The main points were that there is no unified adapter development framework for .Net and that adapters today are built to be specific to each of the consuming hosts like BTS, MIIS. &lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;The goal of the AF is to enable easy development of high quality, metadata driven, host-agnostic, custom adpapters to LOBs. The idea is for them to extend WCF and to make the adapters consumption exactly same as other WCF adapters. &lt;/p&gt;&lt;p&gt;The benefits will be that it will:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Enable reaching multiple programming models e.g. ADO.net, WCF channel, etc. &lt;/li&gt;&lt;li&gt;Enable exposing a web service face to the system being adapted automatically (via adapter host)&lt;/li&gt;&lt;li&gt;WCF channel architecture extensibility points enable easy customization of adapter behaviors&lt;/li&gt;&lt;li&gt;Development tools &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Chandramouli went on to demonstrate using the SAP adapter from Visual Studio 2005 and from a BizTalk Orchestration. He also demonstrated using the “.Net 3.0 Adapter Development Wizard” to develop a custom adapter. Note: he mentioned that the wizard name may still change prior to release.&lt;/p&gt;</description><link>http://sirgini.blogspot.com/2006/10/microsoft-soa-business-process_06.html</link><author>noreply@blogger.com (Sergio Del Piccolo)</author><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7917760.post-116000840275833671</guid><pubDate>Thu, 05 Oct 2006 00:24:00 +0000</pubDate><atom:updated>2006-10-04T17:34:17.010-07:00</atom:updated><title>Microsoft SOA &amp; Business Process Conference - Day 2</title><description>&lt;p&gt;Today is day 2 of the conference, which turned out to be better than yesterday. The presentations were great from my point of view. I attended the following four presentations:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Craig McMurty, Technical Evangelist, Developer &amp; Platform Evangelism, Microsoft&lt;br /&gt;Windows Communication Foundation: Extensibility in the WCF Service Oriented Development Platform&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Craig&#39;s presentation was the best of the day in my opinion. He made the point that WCF is a Software Factory for Communication. He went on to explain the WCF messaging process listing the following activities which can be customized: &lt;/p&gt;&lt;ul&gt;&lt;li&gt;WSDL exporter &lt;/li&gt;&lt;li&gt;Parameter Inspector &lt;/li&gt;&lt;li&gt;Message Formatter &lt;/li&gt;&lt;li&gt;Message Inspector &lt;/li&gt;&lt;li&gt;Encoders &lt;/li&gt;&lt;li&gt;Channels &lt;/li&gt;&lt;li&gt;Dispatcher &lt;/li&gt;&lt;li&gt;Message Inspector &lt;/li&gt;&lt;li&gt;Operation Selector &lt;/li&gt;&lt;li&gt;Message Formater &lt;/li&gt;&lt;li&gt;Parameter Inspector &lt;/li&gt;&lt;li&gt;Operation Invoker &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;He went to demonstrate developing a custom Message Formatter and Channel. &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Steve Swartz, Architect, Connected Systems Division, Microsoft&lt;br /&gt;Clemens Vasters, Program Manager, Connected Systems Division, Microsoft&lt;br /&gt;Connected Systems on Windows: An Introduction&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;This presentation was a historic look of the evolution of the application server products starting in 1996 with the release of the following products: Windows NT, Microsoft Transaction Server 1.0, ASP 1.0, InterDev 1.0, Visual C++ 5.0, Visual J++ 1.0, Visual Basic 5.0, IIS 3.0, SNA Server 3.0, ADO 1.0, VBScript.&lt;br /&gt;&lt;br /&gt;Clemens did a short demonstration of MTS &amp;amp; IIS 3.0.&lt;br /&gt;&lt;br /&gt;The presentation went on to address the following topics:&lt;br /&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;The Client/Server Wave, followed by the N-Tier Wave to the current Federated Systems Wave (SOA). &lt;/li&gt;&lt;li&gt;Application Services Evolution (MTS, COM+, Enterprise Services and WCF) &lt;/li&gt;&lt;li&gt;Communication Technologies Evolution &lt;/li&gt;&lt;li&gt;Security &amp; Identity Services Evolution (Workgroup, Enterprise, Customers &amp;amp; Partners)&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;This was followed by brief introductions of Windows CardSpace and WF.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Lee Graber, Developer Lead, BizTalk Core Engine, Microsoft&lt;br /&gt;Advanced Routing &amp;amp; Correlation with BizTalk Orchestrations&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Lee gave a 400 level presentation on the covering:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;BizTalk Server Messages and their &lt;/li&gt;&lt;li&gt;Data Storage Model&lt;/li&gt;&lt;li&gt;Activating Subscriptions vs Correlating Subscriptions &lt;/li&gt;&lt;li&gt;Correlation choices &lt;/li&gt;&lt;li&gt;Convoys &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;After demonstrating a Resequencer Pattern he went on to discuss Zombies (suspended non-resumable instances with reasons &quot;Completed with discarded messages&quot;) and how they are usually generated.&lt;br /&gt;&lt;br /&gt;Lee provided the following links as BizTalk resources: &lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://msdn.microsoft.com/library/default.asp?url=/library/en-us/BTS_2004WP/html/956fd4cb-aacc-43ee-99b6-f6137a5a2914.asp&quot;&gt;Convoy Deep Dive - Stephen Thomas &lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://blogs.msdn.com/kevin_lam/&quot;&gt;Kevin Lam&#39;s Weblog&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://blogs.msdn.com/Biztalk_Core_Engine/&quot;&gt;Lee Grabner - BizTalk Core Engine &lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Steve Swartz, Architect, Connected Systems Division, Microsoft&lt;br /&gt;Clemens Vasters, Program Manager, Connected Systems Division, Microsoft&lt;br /&gt;Connected Systems On Windows - Logic, Rules, and Workflows&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;The main topic of the presentation was interconnected architectural patterns that can be used to develop application solutions: &lt;/p&gt;&lt;ul&gt;&lt;li&gt;Direct connection pattern or also know as N-Tier which is has direct method calls and is highly coupled. &lt;/li&gt;&lt;li&gt;Indirect connection pattern which has firm decoupling and can have reliable messaging through thread transaction, and example being queues. &lt;/li&gt;&lt;li&gt;One to many/end to end/subscription pattern which is flexible about number of entities that respond to an event and is the least coupled. &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Steve went on to mention that the strategy is to have WCF support all types of patterns and that they there can be a composition of all patterns within applications if needed.&lt;br /&gt;The example mentioned being Outlook: &lt;/p&gt;&lt;ul&gt;&lt;li&gt;Contacts, Notes (n-tier) &lt;/li&gt;&lt;li&gt;Outbox, Task (queue) &lt;/li&gt;&lt;li&gt;Inbox, Reminders (pub/sub) &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;The other main topic discussed was the move from imperative code to declarative code. The main reason being abstraction and moving logic into configurable metadata makes systems more agile and easier to adjust to changing needs. &lt;/p&gt;&lt;p&gt;There&#39;ll be more to come tomorrow...&lt;/p&gt;</description><link>http://sirgini.blogspot.com/2006/10/microsoft-soa-business-process_04.html</link><author>noreply@blogger.com (Sergio Del Piccolo)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7917760.post-115993903958632075</guid><pubDate>Tue, 03 Oct 2006 23:12:00 +0000</pubDate><atom:updated>2006-10-03T22:28:05.293-07:00</atom:updated><title>Microsoft SOA &amp; Business Process Conference - Day 1</title><description>I&#39;m down in Redmond at the &lt;a href=&quot;http://www.impactevents.com/biztalkconference/Default.aspx&quot;&gt;Microsoft SOA &amp; Business Process Conference&lt;/a&gt;. Today was day 1 for most attendees including myself. Yesterday had various partner and panels meeting regarding various topics related to the conference and tools.&lt;br /&gt;&lt;br /&gt;I attended the following sessions and listed below is a high level summary of the presentations:&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;FONT-WEIGHT: bold&quot;&gt;SOA, BPM &amp;amp; Microsoft: A Pragmatic View&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;FONT-WEIGHT: bold&quot;&gt;David Chappell - &lt;a href=&quot;http://www.davidchappell.com/&quot;&gt;David Chappell &amp; Associates&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;David spoke about vision as being required in the SOA but pragmatism being essential. He outlined the three pragmatic goals which will benefit every organization:&lt;br /&gt;1. Standardizing on SO communication&lt;br /&gt;2. Creating the necessary SO infrastructure&lt;br /&gt;3. Using BPM technologies effectively.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;FONT-WEIGHT: bold&quot;&gt;Real World SOA&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;FONT-WEIGHT: bold&quot;&gt;John deVadoss – Director, Architecture Strategy, Microsoft&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;John spoke about the real world SOA ROI crisis and being concerned when the “hype cycle” of SOA followed by a backlash against SOA. He’s emphasizing that “the good not be thrown out with the bad.” He made the point of SOA being a style of architecture. He went on to speak about the Expose/Compose/Consume model of SOA.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;FONT-WEIGHT: bold&quot;&gt;The Architecture of SOA&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;FONT-WEIGHT: bold&quot;&gt;John Evdmon – Architect, Architecture Strategy, Microsoft&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;John spoke about current confusion in the industry of SOA and implementation of SOA, especially using web services. John went on to speak about the myths and facts of SOA as shown below:&lt;br /&gt;&lt;br /&gt;&lt;table cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; border=&quot;1&quot;&gt;&lt;tbody&gt;&lt;tr valign=&quot;top&quot;&gt;&lt;td style=&quot;FONT-WEIGHT: bold&quot;&gt;Myths&lt;/td&gt;&lt;td style=&quot;FONT-WEIGHT: bold&quot;&gt;Facts&lt;/td&gt;&lt;/tr&gt;&lt;tr valign=&quot;top&quot;&gt;&lt;td&gt;SOA is a technology&lt;/td&gt;&lt;td&gt;SOA is designed philosophically independent from any product, technology, or industry trend&lt;/td&gt;&lt;/tr&gt;&lt;tr valign=&quot;top&quot;&gt;&lt;td&gt;SOAs require Web Services&lt;/td&gt;&lt;td&gt;May be realized via web services but using web services won&#39;t necessarily result in a SOA&lt;/td&gt;&lt;/tr&gt;&lt;tr valign=&quot;top&quot;&gt;&lt;td&gt;SOA is new and revolutionary&lt;/td&gt;&lt;td&gt;EDI, CORBA and DCOM were conceptual examples of SO&lt;/td&gt;&lt;/tr&gt;&lt;tr valign=&quot;top&quot;&gt;&lt;td&gt;SOA ensures alignment of it and business&lt;/td&gt;&lt;td&gt;SOA is not a methodology&lt;/td&gt;&lt;/tr&gt;&lt;tr valign=&quot;top&quot;&gt;&lt;td&gt;A SOA reference architecture reduces implementation of risk&lt;/td&gt;&lt;td&gt;SOAs are like snowflakes - no two are alike&lt;/td&gt;&lt;/tr&gt;&lt;tr valign=&quot;top&quot;&gt;&lt;td&gt;SOA requires a complete technology and business process overhaul&lt;/td&gt;&lt;td&gt;SOA should be incremental and built on your current investments&lt;/td&gt;&lt;/tr&gt;&lt;tr valign=&quot;top&quot;&gt;&lt;td&gt;SOA requires and army of consultants&lt;/td&gt;&lt;td&gt;Tools, not consultants&lt;/td&gt;&lt;/tr&gt;&lt;tr valign=&quot;top&quot;&gt;&lt;td&gt;We need to build a SOA&lt;/td&gt;&lt;td&gt;SOA is a means, not an end&lt;/td&gt;&lt;/tr&gt;&lt;tr valign=&quot;top&quot;&gt;&lt;td&gt;SOAs result in reuse&lt;/td&gt;&lt;td&gt;If reuse happens great - should not be the principle objective&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;John went on to describe the different perspectives on the Expose/Compose/Consume model of SOA for the following recurring architectural capabilities:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;User interaction&lt;/li&gt;&lt;li&gt;Workflows &amp;amp; process&lt;/li&gt;&lt;li&gt;Data&lt;/li&gt;&lt;li&gt;Identity &amp; Access&lt;/li&gt;&lt;li&gt;Messaging &amp;amp; Services&lt;/li&gt;&lt;/ul&gt;In his conclusion John went on to say that SOA should be a means to an end and that the main objective should be to deliver a solution, not an SOA.&lt;br /&gt;&lt;span style=&quot;FONT-WEIGHT: bold&quot;&gt;Technical Solution Spaces for BizTalk Server&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;FONT-WEIGHT: bold&quot;&gt;Oliver Sharp, General Manager BizTalk Server, Connected Systems Division, Microsoft&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Oliver spoke about the product roadmap for 2006, 2007 and beyond. He touched briefly on the BizTalk 2006 R2 and how it was addressing needs under the following categories:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;People-ready Processes&lt;/li&gt;&lt;li&gt;End-to-end Processes – B2B&lt;/li&gt;&lt;li&gt;End-to-end Processes – RFID&lt;/li&gt;&lt;/ul&gt;He went on to outline the next version of BizTalk which is currently in a planning stage. Oliver spoke about Model Driven Development and the current themes used to develop the next version. The purpose of a theme is to:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Provide “Magnetic North” to the team&lt;/li&gt;&lt;li&gt;Identify ACID tests for success&lt;/li&gt;&lt;li&gt;Drive the development process&lt;/li&gt;&lt;/ul&gt;The current themes being:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Mission-critical enterprise&lt;/li&gt;&lt;li&gt;People-ready process&lt;/li&gt;&lt;li&gt;Rich connected application&lt;/li&gt;&lt;/ul&gt;Oliver also went to speak about the Microsoft approach which includes:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;A unified application platform&lt;/li&gt;&lt;li&gt;Spans devices, clients and servers&lt;/li&gt;&lt;li&gt;Delivers as a framework, servers, services, tools and operating systems.&lt;/li&gt;&lt;/ul&gt;That&#39;s pretty much it for today, tomorrow there&#39;ll be more. The following links were provided for more information:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://msdn.microsoft.com/practices/&quot;&gt;Microsoft Patterns &amp; Practices Development Center&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://msdn.microsoft.com/architecture/&quot;&gt;MSDN Solution Architecture Center&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://msdn.microsoft.com/webservices/&quot;&gt;Web Services &amp;amp; other Distributed Technologies Developer Center&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.architecturejournal.net/&quot;&gt;The Architecture Journal&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;</description><link>http://sirgini.blogspot.com/2006/10/microsoft-soa-business-process.html</link><author>noreply@blogger.com (Sergio Del Piccolo)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7917760.post-115920391702137584</guid><pubDate>Mon, 25 Sep 2006 16:48:00 +0000</pubDate><atom:updated>2006-09-27T11:56:08.613-07:00</atom:updated><title>Migrating a BizTalk 2004 Solution to 2006</title><description>We have been developing a large enterprise workflow solution using K2.Net, BizTalk 2004, SQL Server 2000 on a Microsoft.Net 1.1 platform for the last few months. Our development strategy uses &lt;a href=&quot;http://www.microsoft.com/windows/virtualpc/default.mspx&quot;&gt;Virtual PCs&lt;/a&gt; to recreate the customer&#39;s environment minimizing deployment risks associated with developing large scale solutions. Our customer recently asked us to upgrade the solution to use BizTalk 2006 with SQL Server 2005 on a Microsoft.Net 2.0 platform. While most migrations require the upgrading of the BizTalk server for which there is quite a bit of documentation (see links below), we decided to create a new Virtual PC with a fresh installation of BizTalk 2006.&lt;br /&gt;&lt;br /&gt;After starting up the new VPC and load the solution from source control I checked out the solution (I recommend you label your version of the solution in your source control system to make it easy to roll back should any issues arrise). From here the steps simple enough:&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Visual Studio Conversion Wizard&lt;/span&gt;&lt;ol&gt;&lt;li&gt;Step one requires running the Visual Studio Conversion Wizard. Open the solution with Visual Studio 2005. &lt;/li&gt;&lt;li&gt;The Visual Studio Conversion Wizard starts up with a &quot;&lt;span style=&quot;font-style: italic;&quot;&gt;Welcome&lt;/span&gt;&quot; screen (click Next)&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://photos1.blogger.com/blogger/364/512/1600/conv_wzd_01.0.jpg&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;&quot; src=&quot;http://photos1.blogger.com/blogger/364/512/320/conv_wzd_01.0.jpg&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;A &quot;&lt;span style=&quot;font-style: italic;&quot;&gt;Ready to Convert&lt;/span&gt;&quot; screen (click Finish)&lt;/li&gt;&lt;li&gt;I received a couple of warning messages, the first asking if I&#39;d like my database project which uses an OLEDB provider for SQL Server upgraded to use the &lt;span style=&quot;font-weight: bold;&quot;&gt;.Net Managed Provider for SQL Server&lt;/span&gt;. I chose Yes.&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://photos1.blogger.com/blogger/364/512/1600/conv_wzd_03.jpg&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;&quot; src=&quot;http://photos1.blogger.com/blogger/364/512/320/conv_wzd_03.jpg&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;The second warning message related to Web projects being converted to the new &lt;span style=&quot;font-weight: bold;&quot;&gt;Web Site format&lt;/span&gt;. It removed all source control bindings.&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://photos1.blogger.com/blogger/364/512/1600/conv_wzd_05.jpg&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;&quot; src=&quot;http://photos1.blogger.com/blogger/364/512/320/conv_wzd_05.jpg&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;The &quot;&lt;span style=&quot;font-style: italic;&quot;&gt;Conversion Complete&lt;/span&gt;&quot; screen with the option to show the conversion report checked (click Close).&lt;/li&gt;&lt;li&gt;The Conversion Report loaded within Visual Studio giving the results of the conversion process.&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://photos1.blogger.com/blogger/364/512/1600/conv_rpt2.jpg&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;&quot; src=&quot;http://photos1.blogger.com/blogger/364/512/320/conv_rpt2.jpg&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;External Components&lt;/span&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Step 2 requires installing the new versions of external components, e.g. &lt;a href=&quot;http://msdn.microsoft.com/library/?url=/library/en-us/dnpag2/html/EntLib2.asp&quot;&gt;Enterprise Library for .Net Framework 2.0&lt;/a&gt; and &lt;a href=&quot;http://www.nunit.org/&quot;&gt;NUnit 2.2&lt;/a&gt;. Update the references in the solution projects and any obsolete method calls.&lt;/li&gt;&lt;/ol&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;GAC Build Events&lt;/span&gt;&lt;ol&gt;&lt;li&gt;Step 3 involved changing all build events used in project properties to add assemblies to the Global Assembly Cache (GAC). These are used in C# projects that are referenced from BizTalk and as such need to be added to the GAC. This requires a change in syntax as listed below:&lt;br /&gt;&lt;br /&gt;Visual Studio 2003:&lt;br /&gt;i. Pre-build: &lt;span style=&quot;font-style: italic;&quot;&gt;&quot;%VS71COMNTOOLS%vsvars32.bat&quot; &amp;&amp;amp; gacutil /u  $(TargetName) &lt;/span&gt; ii. Post-build: &lt;span style=&quot;font-style: italic;&quot;&gt;&quot;%VS71COMNTOOLS%vsvars32.bat&quot; &amp;&amp;amp; gacutil /i  $(TargetPath)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Visual Studio 2005:&lt;br /&gt;i. Pre-build: &lt;span style=&quot;font-style: italic;&quot;&gt;call &quot;%VS80COMNTOOLS%vsvars32.bat&quot;  &amp;&amp;amp; gacutil /u $(TargetName)&lt;/span&gt;&lt;br /&gt;ii. Post-build: call &quot;%VS80COMNTOOLS%vsvars32.bat&quot; &amp;&amp;amp; gacutil /i  $(TargetPath)&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;External Strong Name Keys&lt;/span&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Step four required making Visual Studio 2005 use external strong name keys for signing the assemblies (to add assemblies to the GAC they need to be signed with a strong name key). The reason that I wanted to do this was two fold:&lt;ul&gt;&lt;li&gt;When trying to build the project in VS2005 the following compiler warning appears&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;Use command line option &#39;/keyfile&#39; or appropriate project settings instead of  &#39;AssemblyKeyFile&#39;.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;If you use the properties page to sign the assembly by selecting the strong name key it copies the key to your project file. This becomes a maintenance issue if you have multiple projects signed by the same key. You have all of the keys copied to mulitple project folders and duplicated in source control.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Thanks to David Kean&#39;s blog on &lt;a href=&quot;http://davidkean.net/archive/2005/08/25/1162.aspx&quot;&gt;How to make Visual Studio 2005 use external strong name keys&lt;/a&gt; that managed to solve these issues. I&#39;ve listed the steps here on how to do this with one extra step that I was required to take to get my projects to build.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Open the project file (.csproj) in a text editor.&lt;/li&gt;&lt;li&gt;In the &lt;span style=&quot;font-style: italic;&quot;&gt;&lt;assemblyoriginatorkeyfile&gt;&lt;/assemblyoriginatorkeyfile&gt;&lt;/span&gt; tag under the &lt;span style=&quot;font-style: italic;&quot;&gt;&lt;propertygroup&gt;&lt;/propertygroup&gt;&lt;/span&gt; tag, enter either an absolute or relative path to the key file, e.g. &lt;span style=&quot;font-style: italic;&quot;&gt;&lt;assemblyoriginatorkeyfile&gt;..\..\Common\MyKey.snk&lt;/assemblyoriginatorkeyfile&gt;&lt;/span&gt;.&lt;/li&gt;&lt;li&gt;Save the file and reload the project file in VS2005.&lt;/li&gt;&lt;li&gt;Right click on the project and select Properties. Select the &quot;Signing&quot; tab and check the &quot;Sign the assembly&quot; checkbox. The dropdown list below should show the path to the file e.g. &lt;span style=&quot;font-style: italic;&quot;&gt;..\..\Common\MyKey.snk.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;&lt;br /&gt;&lt;/span&gt;For BizTalk projects, Right click on the project and select Properties. The &lt;span style=&quot;font-weight: bold;&quot;&gt;Property Pages&lt;/span&gt; dialog box should appear. Navigate to Assembly under Common Properties and enter the path next to the &quot;&lt;span style=&quot;font-style: italic;&quot;&gt;Assembly Key File&lt;/span&gt;&quot; property. See the diagram below:&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://photos1.blogger.com/blogger/364/512/1600/PropertyPages.jpg&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;&quot; src=&quot;http://photos1.blogger.com/blogger/364/512/320/PropertyPages.jpg&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Finally&lt;/span&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Lastly, change any recommended warning issues that may arise. E.g. when using values from the &lt;span style=&quot;font-style: italic;&quot;&gt;&lt;appsettings&gt;&lt;/appsettings&gt;&lt;/span&gt; tab in a configuration file the coding change required is as follows:&lt;br /&gt;&lt;br /&gt;Visual Studio 2003&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;ConfigurationSettings.AppSettings[&quot;mySetting&quot;]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Visual Studio 2005&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;Configuration.ConfigurationManager.AppSettings[&quot;mySetting&quot;]&lt;/span&gt;&lt;br /&gt;Note: You need to add a reference to the &lt;span style=&quot;font-style: italic;&quot;&gt;System.Configuration.dll&lt;/span&gt;.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;BizTalk Migration Links&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://msdn.microsoft.com/library/default.asp?url=/library/en-us/bts06coredocs/html/1aea05f7-29f5-4bdd-9d7b-64061d1bf96a.asp&quot;&gt;Upgrading to BizTalk Server 2006&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://msdn.microsoft.com/library/default.asp?url=/library/en-us/BTS06CoreDocs/html/0d7e20c6-7ebc-495f-925e-8ec1d877727e.asp&quot;&gt;&lt;span id=&quot;nsrTitle&quot;&gt;Migrating Artifacts from a Previous Version of BizTalk  Server&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;span id=&quot;nsrTitle&quot;&gt;Blog: &lt;a href=&quot;http://blogs.msdn.com/biztalk_upgrade/default.aspx&quot;&gt;Upgrade to BizTalk 2006&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;</description><link>http://sirgini.blogspot.com/2006/09/migrating-biztalk-2004-solution-to.html</link><author>noreply@blogger.com (Sergio Del Piccolo)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7917760.post-115864920152624331</guid><pubDate>Tue, 19 Sep 2006 06:58:00 +0000</pubDate><atom:updated>2006-09-19T01:17:53.933-07:00</atom:updated><title>Workflow: WF, MOSS &amp; K2.Net</title><description>After recently attending a course at the &lt;a href=&quot;http://www.k2workflow.com/&quot;&gt;SourceCode&lt;/a&gt; head offices in Redmond, I started wondering about the affect that the release of &lt;a href=&quot;http://msdn.microsoft.com/winfx/reference/workflow/default.aspx/&quot;&gt; Windows Workflow Foundation (WF)&lt;/a&gt; would have on their workflow solution product, &lt;a href=&quot;http://www.k2workflow.com/&quot;&gt;K2.Net 2003&lt;/a&gt; and their upcoming release code named &quot;Black Pearl&quot;. When would you use K2.Net as opposed to WF and vice versa? Having worked on a couple of workflow solutions in the last few months, one implementing a K2.Net solution, and another a WF solution using &lt;a href=&quot;http://www.microsoft.com/office/preview/servers/sharepointserver/overview.mspx&quot;&gt;Microsoft Office SharePoint Server 2007 (MOSS)&lt;/a&gt; - which is still in beta version, I have had an opportunity to see both tools in action.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;The Tools&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Windows Workflow Foundation (WF):&lt;/strong&gt;&lt;br /&gt;WF is the programming model, engine and tools for quickly building workflow enabled applications. It’s a part of &lt;a href=&quot;http://wf.netfx3.com/&quot;&gt;Microsoft .Net 3.0 (previously WinFX)&lt;/a&gt;. Developers need to design, code and run business process workflows applications using Visual Studio.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Microsoft Office SharePoint Server 2007 (MOSS):&lt;/strong&gt;&lt;br /&gt;MOSS serves as an enterprise collaboration system, allowing for managing content and business processes. It implements WF to facilitate basic content and document approval and provides the host application for WF to run workflows.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;K2.Net 2003 &amp; &quot;Black Pearl&quot;:&lt;/strong&gt;&lt;br /&gt;K2.Net is an enterprise workflow platform able to host workflow solutions built on Mircrosoft.Net. It comes with the following tools:&lt;br /&gt;K2.Net 2003 Studio – used to develop the workflow.&lt;br /&gt;K2.Net Workspace – with reporting, task redirection,&lt;br /&gt;K2.Net 2003 Service Manager – with server properties, error handling, user and group permission settings, task redirection, and security settings.&lt;br /&gt;&lt;br /&gt;K2.Net “Black Pearl” will be built on .Net 3.0 (including WF) with the development studio being able to plug into the Visual Studio. My understanding is that their development team has been collaborating with the Windows Workflow Foundation and Office 2007 team for a couple of years and it will integrate with SQL Server 2005 and Office 2007. “Black Pearl” will also serve as the host application for WF providing an enterprise workflow solution platform. It’s slated to be released sometime in 2007.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;How they fit together&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;While anything can be built from the ground up, WF provides a foundation for creating workflows. MOSS leverages WF to provide simple workflow scenarios that can be used through its collaboration environment. K2.Net provides a platform of ready made activities and events allowing for rapid workflow development. It has pre-built reporting, management and user workspace modules.&lt;br /&gt;&lt;br /&gt;Ultimately the answer comes down to the complexity of the workflow and whether you want to spend time coding the infrastructure or use a ready made enterprise environment and build the workflow.</description><link>http://sirgini.blogspot.com/2006/09/workflow-wf-moss-k2net.html</link><author>noreply@blogger.com (Sergio Del Piccolo)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7917760.post-115492662486788723</guid><pubDate>Mon, 07 Aug 2006 04:56:00 +0000</pubDate><atom:updated>2006-08-07T10:19:39.866-07:00</atom:updated><title>Blogetiket</title><description>Hello, uhhh...is anyone out there?&lt;br /&gt;&lt;br /&gt;Well, trusting that there is, my aim for this blog will be to post some information that is hopefully worthy of reading by someone - somewhere - sometime.&lt;br /&gt;&lt;br /&gt;My first post is about blogging and etiquette, or as I like to call it, &lt;span style=&quot;font-weight: bold;&quot;&gt;Blogetiket&lt;/span&gt;! This is something I&#39;ve thought about quite a bit before starting to blog. There are some interesting posts about blogging etiquette, viz. &lt;a href=&quot;http://wardomatic.blogspot.com/2005/04/etiquette-for-blogging-nation.html&quot;&gt;Etiquette-for-the-Blogging-Nation&lt;/a&gt; and &lt;a href=&quot;http://www.cafemama.com/etiquette.html&quot;&gt;Blog Etiquette Introduction&lt;/a&gt;. These articles provide a great introduction to proper blog etiquette. With that being said, my&lt;span style=&quot;font-weight: bold;&quot;&gt; five main blogetiket points&lt;/span&gt; are:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Don&#39;t steal or plagarize, you will only be caught out and it will harm your blogging reputation. There&#39;ll be no coming back from that.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;When mentioning another blogger&#39;s post, make sure to place a link to their blog - they earned the right.&lt;/li&gt;&lt;li&gt;By all means comment on someone&#39;s post, have people comment on yours - bloggers want the feedback. If they didn&#39;t, they wouldn&#39;t have comments available on their posts. Criticize too if you feel it justified, but keep it constructive. That way your comments will have a positive effect and a meaningful dialog can ensue.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;There&#39;s nothing you can&#39;t blog about - to me one of the best things about the web is the freedom from censorship. However, use it wisely, make your point count.&lt;/li&gt;&lt;li&gt;Be honest - be yourself, that&#39;s why blogging is around. It&#39;s a medium to share your thoughts, knowledge and opinion.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;What it comes down to is - treat other bloggers like you want to be treated - be polite and courteous; unless of course, you don&#39;t want to be treated that way.&lt;br /&gt;&lt;br /&gt;Until next time,&lt;br /&gt;cya!</description><link>http://sirgini.blogspot.com/2006/08/blogetiket.html</link><author>noreply@blogger.com (Sergio Del Piccolo)</author><thr:total>0</thr:total></item></channel></rss>