tag:blogger.com,1999:blog-63416086960206028132023-11-15T17:03:30.772+00:00Coders reference.Net, patterns and practices, agile, with some ramdom content on other technologies.Juan Blancohttp://www.blogger.com/profile/05275652057288557703noreply@blogger.comBlogger42125tag:blogger.com,1999:blog-6341608696020602813.post-41947787193451799492012-03-16T06:09:00.004+00:002012-03-16T10:58:54.075+00:00Virtual Box Guest additions 4.1.10 and Windows 8 Consumer Preview (Black Screen)<div style="font-family: Georgia, serif; font-size: 100%; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal; "><br /></div><span><span style="font-size: 100%;">The new version of Virtual Box guest additions 4.1.10 when installed in a Windows 8 Consumer preview Guest, after completing the installation it will (in some cases) display only a black screen.</span></span><div style="font-family: Georgia, serif; font-size: 100%; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal; "><br /></div><div><span><span style="font-size: 100%;">To fix this, close your guest, and configure it with 3D </span>acceleration<span style="font-size: 100%;">. A 3d driver is installed by default is causing this issue.</span></span></div>Juan Blancohttp://www.blogger.com/profile/05275652057288557703noreply@blogger.com0tag:blogger.com,1999:blog-6341608696020602813.post-51407680648257467902011-08-02T16:02:00.015+00:002011-08-24T13:54:45.610+00:00SpecFlow custom UnitTestProvider (Code generator) for Silverlight to access the Silverlight Test instanceWhen upgrading to Specflow 1.7 from the Async 2 branch, I have noticed that the new generator did not give you access to the Silverlight Test Instance. (This has been solved now <a href="https://github.com/techtalk/SpecFlow/pull/126">https://github.com/techtalk/SpecFlow/pull/126</a>, but it will be interesting to know how to solve this issue by creating your own unit test provider).<div>
<br /><div>First you need to create a class which implements IUnitTestGeneratorProvider, in my case I have inherited directly from the MsTestSilverlightGeneratorProvider as follows. (Please note the code it is more or less the same as the original implementation).</div>
<br />
<br /><pre class="brush: csharp">public class SiverlightWithTestInstanceCustomGeneratorUnitTestProvider : MsTestSilverlightGeneratorProvider
<br /> {
<br /> public override void FinalizeTestClass(TechTalk.SpecFlow.Generator.TestClassGenerationContext generationContext)
<br /> {
<br />
<br /> base.FinalizeTestClass(generationContext);
<br />
<br /> var methods = from codeTypeMember in generationContext.Namespace.Types[0].Members.Cast<codetypemember>()
<br /> where codeTypeMember.Name == "ScenarioSetup"
<br /> select (CodeMemberMethod)codeTypeMember;
<br />
<br /> var scenarioSetupMethod = methods.First();
<br />
<br /> var scenarioContext = new CodeTypeReferenceExpression("ScenarioContext");
<br /> var currentContext = new CodePropertyReferenceExpression(scenarioContext, "Current");
<br />
<br /> var scenarioContextExtensions = new CodeTypeReferenceExpression("ScenarioContextExtensions");
<br />
<br /> var setTestInstance = new CodeMethodInvokeExpression(scenarioContextExtensions, "SetTestInstance",
<br /> currentContext, new CodeThisReferenceExpression());
<br />
<br /> // Hmm. We have a little too much knowledge of where this should go, but it's after the call
<br /> // to testRunner.OnScenarioStart, and before FeatureBackground
<br /> scenarioSetupMethod.Statements.Insert(2, new CodeExpressionStatement(setTestInstance));
<br /> }
<br /> }
<br />
<br /></codetypemember></pre>
<br />
<br />
<br /><div>The class in this project, inserts the following line in the generated test:</div>
<br /><div class="csharpcode">
<br /><pre class="alt"><span class="lnum"> 1: </span>ScenarioContextExtensions.SetTestInstance(ScenarioContext.Current, <span class="kwrd">this</span>);</pre>
<br /></div>
<br />
<br /><pre class="brush: csharp">public virtual void ScenarioSetup(TechTalk.SpecFlow.ScenarioInfo scenarioInfo)
<br /> {
<br /> TechTalk.SpecFlow.Async.AsyncTestRunner.RegisterAsyncTestExecutor(testRunner, new TechTalk.SpecFlow.Async.SilverlightAsyncTestExecutor(this));
<br /> testRunner.OnScenarioStart(scenarioInfo);
<br /> ScenarioContextExtensions.SetTestInstance(ScenarioContext.Current, this);
<br /> this.FeatureBackground();
<br /> }
<br />
<br /></pre>
<br />
<br />
<br /><div>This is necessary if you want to get access of the SiverlightTest like:</div>
<br /><pre class="brush: csharp">var silverlightTest = ScenarioContext.Current.GetTestInstance<SilverlightTest>();</pre><div>
<br /></div><div>to do things like:</div>
<br /><pre class="brush: csharp"> silverlightTest.TestPanel.Children.Add(myView);</pre>
<br />
<br />I have not figured out if it is possible to configure specflow to read this from a different assembly, so for the time being you can<div>1. Get the version of Specflow you are currently working on
<br /></div>
<br /><div>2. Add the class to the project TechTalk.SpecFlow.Generator. In the folder UnitTestProvider.</div>
<br /><div>
<br /></div><div>3. Compile and put the new dll where SpecFlow is configured, in case of doubt see the example of configuration bellow:</div><div>
<br /></div><div>
<br /><pre class="brush: xml"><generator path="..\..\packages\SpecFlow.1.7.0\tools" generateasynctests="true"></generator>
<br /></pre></div><div>
<br /></div><div> To run your custom generator add this line to your app.config, please note that I have given a random name to my unitTestProvider, (not matching the generic ones)</div><div>
<br /></div><div>
<br /><pre class="brush: xml"><unittestprovider name="customSL" generatorprovider="TechTalk.SpecFlow.Generator.UnitTestProvider.SiverlightWithTestInstanceCustomGeneratorUnitTestProvider" />
<br /></pre>
<br /></div><div> </div><div>
<br /></div><div> </div><div>
<br /></div></div>Juan Blancohttp://www.blogger.com/profile/05275652057288557703noreply@blogger.com0tag:blogger.com,1999:blog-6341608696020602813.post-55672013731911849672010-04-22T06:40:00.006+00:002010-04-22T07:12:03.809+00:00Silverlight 4 Resources - Free training course<p><strong>Silverlight 4 Training</strong></p><p>Microsoft is offering a <strong>free </strong>Silverlight 4 training course, great place to get started.</p><p><em>The Silverlight 4 Training Course includes a whitepaper explaining all of the new Silverlight 4 features, several hands-on-labs that explain the features, and a 8 unit course for building business applications with Silverlight 4. The business applications course includes 8 modules with extensive hands on labs as well as 25 accompanying videos that walk you through key aspects of building a business application with Silverlight. Key aspects in this course are working with numerous sandboxed and elevated out of browser features, the new RichTextBox control, implicit styling, webcam, drag and drop, multi touch, validation, authentication, MEF, WCF RIA Services, right mouse click, and much more!</em> </p><p><strong>You can download the course here:</strong> <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=24CEA29E-042E-41C9-AA16-684A0CA5F5DB&displaylang=en">http://www.microsoft.com/downloads/details.aspx?FamilyID=24CEA29E-042E-41C9-AA16-684A0CA5F5DB&displaylang=en</a></p><p><strong>You can also view the course at Channel 9 </strong><a href="http://channel9.msdn.com/learn/courses/Silverlight4/">http://channel9.msdn.com/learn/courses/Silverlight4/</a></p><p><strong><em>Course content:</em></strong></p><p><strong><em>What's New in Silverlight 4</em></strong></p><p><em>Make this your first stop with Silverlight 4 and read or download the 60+ page whitepaper! Walk through the new features in Silverlight 4, find learning materials and additional resources. This covers all of the new business centric features, features for rich media experiences, Expression Blend and Visual Studio tooling enhancements, and new Out of Browser features!</em></p><br /><p><br /><strong><em>Silverlight 4 New Features</em></strong></p><p><em>Check out these 5 hands on labs that demonstrate some of the newest features in Silverlight. Explore multi touch, drag and drop, numerous out of browser features, learn to interact with the webcam, create a rich text notepad using the RichTextBox control, printing your content, and more!</em></p><br /><p><br /><strong><em>Silverlight 4 Business Apps: Module 1 - Introduction Silverlight 4 Business Apps</em></strong></p><p><em>John Papa and Ian Griffiths discuss the key areas that the Building Business Applications with Silverlight 4 course focuses on. This module is the overview of the course which covers many key scenarios that are faced when building business applications and how Silverlight can help address them.</em></p><br /><p><br /><strong><em>Silverlight 4 Business Apps: Module 2 - Event Manager using WCF RIA Services </em></strong></p><p><em>This is module 2 of the Building Business Applications with Silverlight 4 course. This module sets the stage with the course's Event Manager application. It discusses using WCF services vs WCF RIA Services. Then it walks you through integrating WCF RIA Services into the solution to support reading, editing and inserting entities. This unit also covers the key aspects of data binding and page navigation.</em></p><br /><p><br /><strong><em>Silverlight 4 Business Apps: Module 3 - User Registration with Authentication, Validation, Rich Text, Styling, and Commands</em></strong></p><p><em>User Registration with Authentication, Validation, Rich Text, Styling, and Commands This is module 3 of the Building Business Applications with Silverlight 4 course. This module covers authentication, using the DataForm, setting up validation for the model, the RichTextBox control, implicit styling, commanding, and the fundamentals of MVVM.</em></p><br /><p><br /><em><strong>Silverlight 4 Business Apps: Module 4</strong> - <strong>User Profile with Drop Target, Webcam, Clipboard</strong></em></p><p><em>This is module 4 of the Building Business Applications with Silverlight 4 course. This module covers dropping a file onto a Silverlight application, programmatic clipboard access, and accessing the webcam.</em></p><br /><p><em></em></p><br /><p><em><strong>Silverlight 4 Business Apps: Module 5</strong> - <strong>Schedule Planner with Grouping and Right Click </strong></em></p><p><em>This is module 5 of the Building Business Applications with Silverlight 4 course. This module covers grouping in a DataGrid and an ItemsControl. It also covers the new Fluid UI visual states, right mouse click, and word based text trimming.</em></p><br /><p><br /><strong><em>Silverlight 4 Business Apps: Module 6 - Printing the Schedule </em></strong></p><p><em>This is module 6 of the Building Business Applications with Silverlight 4 course. This module covers the fundamentals of printing in Silverlight. It also offers some techniques for printing multiple pages.</em></p><br /><p><em></em></p><br /><p><em><strong>Silverlight 4 Business Apps: Module 7</strong> <strong>- Event Dashboard Running Out of Browser</strong></em></p><p><em>This module covers several out of browser features including creating toasts, window placement, elevated trust, and native integration.</em></p><br /><p><em><strong>Silverlight 4 Business Apps: Module 8</strong> <strong>- Advanced Out of Browser and MEF </strong></em><br /></p><p><em>This module covers more out of browser features including creating custom chrome, the window closing event, silent installs, and XAP signing. It also covers MEF and how it enables composability, supports a plug in model, and can dynamically load XAP files.</em></p><br /><p></p><br /><p></p>Juan Blancohttp://www.blogger.com/profile/05275652057288557703noreply@blogger.com0tag:blogger.com,1999:blog-6341608696020602813.post-86155828101766385382010-04-21T09:59:00.004+00:002010-04-21T10:53:14.841+00:00MEF Managed Extensibility Framework - Resources<p><em>Note: The aim of this document is to gather information and resources, it is a living document, so feel free to add comments to add or update.. Content is extracted from sources, so I am just collecting information for everybody's reference. I will probably end up putting this in a wiki / codeplex but for administration is easier to start here.</em> </p><p><strong>MEF</strong><br /></p><p>Extensibility is a key design point for many applications such as the Microsoft Office applications with their plug-in model for extensibility. Silverlight 4 ships with a new framework, the Managed Extensibility Framework (MEF), which provides a flexible way of building extensibility into your applications with capabilities for discovering and composing extensions at run-time in a dynamic and loosely-coupled way.</p><p>MEF can be found in .Net 4, Silverlight 4 and for Silverlight 3 in codeplex <a href="http://mef.codeplex.com/">http://mef.codeplex.com/</a><br /><strong></strong></p><p><strong>Introduction</strong></p><p>For an introduction of MEF you can start with this Presentation / Demo of <a href="http://mtaulty.com/">Mike Taulty</a></p><p>In this demo-based session he takes a tour around MEF and look at its capabilities for building extensibility into your applications and also how it can be used in implementing the Model-View-ViewModel (MVVM) pattern in Silverlight applications.<br /></p><p><a href="http://channel9.msdn.com/posts/matthijs/Silverlight-4-A-Guided-Tour-of-the-Managed-Extensibility-Framework-MEF/">http://channel9.msdn.com/posts/matthijs/Silverlight-4-A-Guided-Tour-of-the-Managed-Extensibility-Framework-MEF/</a><br /></p><p><strong>So why use MEF</strong></p><p><a href="http://csharperimage.jeremylikness.com/2010/04/ten-reasons-to-use-managed.html">Ten Reasons to use the Managed Extensibility Framework</a></p><p><strong>Learning MEF</strong></p><p>You can find in Channel 9 a video series to learn MEF, created also by Mike Taulty</p><p><a href="http://channel9.msdn.com/tags/learnMEFSL4/">http://channel9.msdn.com/tags/learnMEFSL4/</a></p>The video series include:<br /><ul><li><a id="ctl00_MainPlaceHolder_Starter_TitleLink" href="http://channel9.msdn.com/posts/mtaulty/MEF--Silverlight-4-Beta-Part-1-Introduction/">MEF & Silverlight 4 Beta - Part 1, Introduction</a></li><li><a id="ctl00_MainPlaceHolder_Starter_TitleLink" href="http://channel9.msdn.com/posts/mtaulty/MEF--Silverlight-4-Beta-Part-2-Imports--Exports/">MEF & Silverlight 4 Beta - Part 2, Imports & Exports</a></li><li><a id="ctl00_MainPlaceHolder_Starter_TitleLink" href="http://channel9.msdn.com/posts/mtaulty/MEF--Silverlight-4-Beta-Part-3-Catalogs/">MEF & Silverlight 4 Beta - Part 3, Catalogs</a></li><li><a id="ctl00_MainPlaceHolder_Starter_TitleLink" href="http://channel9.msdn.com/posts/mtaulty/MEF--Silverlight-4-Beta-Part-4-Recomposition/">MEF & Silverlight 4 Beta - Part 4, Recomposition</a></li><li><a id="ctl00_MainPlaceHolder_Starter_TitleLink" href="http://channel9.msdn.com/posts/mtaulty/MEF--Silverlight-4-Beta-Part-5-the-PackageCatalog/">MEF & Silverlight 4 Beta - Part 5, the PackageCatalog</a></li><li><a id="ctl00_MainPlaceHolder_Starter_TitleLink" href="http://channel9.msdn.com/posts/mtaulty/MEF--Silverlight-4-Beta-Part-6-Locating-Defaults--ExportProviders/">MEF & Silverlight 4 Beta - Part 6, Locating Defaults & ExportProviders</a><br /></li></ul><p>You can take an step further and in this video <a href="http://blogs.msdn.com/gblock/">Glenn Bloc</a> shows how to use MEF to load and unload XAP files on demand.</p><p><a id="ctl00_MainPlaceHolder_Starter_TitleLink" href="http://channel9.msdn.com/shows/SilverlightTV/Silverlight-TV-11-Dynamically-Loading-XAPs-with-MEF/">Silverlight TV 11: Dynamically Loading XAPs with MEF</a></p><br /><p></p><p>If you want to understand what is going on in the Framework you can also use the <a href="http://mefvisualizer.codeplex.com/">http://mefvisualizer.codeplex.com/</a> Mef Visualizer</p><p><strong>Samples</strong></p><p>In <a href="http://mef.codeplex.com/">http://mef.codeplex.com/</a> you will find in the source code plenty samples to start with.</p><br /><p></p><br /><p><strong>Supporting Frameworks</strong></p><p>MEF Contrib</p><p><a href="http://mefcontrib.codeplex.com/">http://mefcontrib.codeplex.com/</a></p><p>In the MEF Contrib project you will find: A generic Catalog, Unity integration (this can become very handy if you are using PRISM), and Programming Models like Provider Model and Convention Model. You can read more in the <a href="http://mefcontrib.codeplex.com/wikipage?title=Documentation%20%26%20Features&referringTitle=Home">Documentation and Features</a> section.</p><br /><p><strong>PRISM and MEF</strong><br /></p><p>So what is the deal with PRISM and MEF? In PRISM 4 there will be full support / guidelines for MEF, you can read about <a href="http://codebetter.com/blogs/glenn.block/archive/2009/12/02/mef-and-prism-to-be-or-not-to-be.aspx">here</a> and <a href="http://blogs.msdn.com/dphill/archive/2009/12/09/prism-and-mef.aspx">here</a> in the blogs of Glenn Bloc and Davil Hill.</p><p></p><p>In these blogs <a href="http://csharperimage.jeremylikness.com/">Jeremy Likness</a> describes a good way to start on how to glue everything together</p><ul><li><a href="http://csharperimage.jeremylikness.com/2009/12/prism-mef-and-mvvm-part-1-of-3-unity.html">PRISM, MEF and MVVM Part 1 of 3: Unity Glue</a></li><li><a href="http://csharperimage.jeremylikness.com/2009/12/prism-mef-and-mvvm-part-2-of-3-making.html">PRISM, MEF, and MVVM Part 2 of 3: Making PRISM MEF Friendly</a></li></ul><br /><p>Or it also describes how you can use MEF instead of PRISM</p><ul><li><a href="http://csharperimage.jeremylikness.com/2010/02/mef-instead-of-prism-for-silverlight-3.html">MEF instead of PRISM for Silverlight 3 Part 1 of 2: Dynamic Module Loading</a></li><li><a href="http://csharperimage.jeremylikness.com/2010/03/mef-instead-of-prism-for-silverlight-3.html">MEF instead of PRISM for Silverlight 3 Part 2 of 2: Region Management</a></li></ul><p><strong>Caliburn</strong></p><p>There is another alternative to PRISM, you can use <a href="http://caliburn.codeplex.com/">Caliburn </a>as your framework of choice, which includes already MEF support.</p><p>Here is the <a href="http://caliburn.codeplex.com/SourceControl/changeset/view/47208#331801">current adapter source code</a>.</p>Juan Blancohttp://www.blogger.com/profile/05275652057288557703noreply@blogger.com0tag:blogger.com,1999:blog-6341608696020602813.post-27909328867642896252008-05-13T07:52:00.000+00:002008-05-13T07:52:19.703+00:00Prism Silverlight - Prism ContribIt seems that I found it, years ago I was looking to create a cross platform composite application in silverlight, its seems that now I will be able to have it and create it with Silverlight 2.0 and Prism (WPF composite application block) thanks to Contribute extension of Prism.<br /><br /><a href="http://www.codeplex.com/PrismContrib/Wiki/View.aspx?title=Prism%20to%20Silverlight&referringTitle=PrismAG">Patterns & Practices: Prism Contrib - Home</a>Juan Blancohttp://www.blogger.com/profile/05275652057288557703noreply@blogger.com0tag:blogger.com,1999:blog-6341608696020602813.post-34204877292578640562008-05-13T06:56:00.001+00:002008-05-13T09:51:21.924+00:00Unity Dependency Injection IoC ScreencastDavid Hayden presents <a href="http://www.pnpguidance.net/Screencast/UnityDependencyInjectionIoCScreencast.aspx">here</a> the new Unity Dependency Injection, which highlights:<br /><br />UnityContainer Resolve and BuildUp Methods<br />UnityContainer RegisterType and RegisterInstance Methods<br />UnityConfigurationSection for Web.config and App.config<br />ASP.NET MVC Framework. ASP.NET Model View Presenter Pattern.<br /><br />If you are currently using Dependency Injection this is a pretty good alternative, I do like the ability to define the Registration type for Singleton, resolve properties without the need to decorate them, and from the screencast I like both examples for MVC and MVP.<br /><br /><a href="http://www.pnpguidance.net/Screencast/UnityDependencyInjectionIoCScreencast.aspx"></a>Juan Blancohttp://www.blogger.com/profile/05275652057288557703noreply@blogger.com0tag:blogger.com,1999:blog-6341608696020602813.post-56756698443380946262008-03-03T12:04:00.000+00:002008-03-03T12:04:11.547+00:00AD When does my Password Expire?We are implementing a new password policy and we want to show users when is their password to expire. (Something simple I know...).<br /><br />Well with a bit of googling I have found this great post by <a href="http://dunnry.com/blog/archive/2005/01/03/186.aspx">Ryan Dunn </a><br /><br /><br />Using the PasswordExpires class from the post, and a bit of refactoring on the main class we can quickly get our personalize expiry page:<br /><br /><br />protected void Page_Load(object sender, EventArgs e)<br />{<br /> PasswordExpires pe = new PasswordExpires();<br /> string[] a = Context.User.Identity.Name.Split('\\');<br /> string userName = a[1];<br /><br /> Response.Write(String.Format("Password Policy: {0} days", 0 - pe.PasswordAge.Days));<br /> Response.Write("<br />");<br /><br /> TimeSpan t = pe.WhenExpires(userName);<br /> if (t == TimeSpan.MaxValue)<br /> Response.Write(String.Format("{0}: Password Never Expires", userName));<br /> else if (t == TimeSpan.MinValue)<br /> Response.Write(String.Format("{0}: Password Expired", userName));<br /> else<br /> Response.Write(<br /> String.Format("Password for {0} expires in {1} days at {2}", userName, t.Days, DateTime.Now.Add(t)));<br />}Juan Blancohttp://www.blogger.com/profile/05275652057288557703noreply@blogger.com0tag:blogger.com,1999:blog-6341608696020602813.post-46239669234274754662008-02-28T14:34:00.000+00:002008-02-28T14:34:04.320+00:00SOA'izing MSMQ with WCF (and Why It's Worth It) - HomeI have found a great example on how to use MSMQ with WCF. <a href="http://code.msdn.microsoft.com/msmqpluswcf">SOA'izing MSMQ with WCF (and Why It's Worth It) - Home</a><br /><br />Worth having a look!!!Juan Blancohttp://www.blogger.com/profile/05275652057288557703noreply@blogger.com0tag:blogger.com,1999:blog-6341608696020602813.post-66261891604496752802008-02-26T09:06:00.000+00:002008-02-26T09:06:54.449+00:00JMS based Web Services in Oracle App Server Part 1: WCF Interoperability - Jesus Rodriguez's WebLog<a href="http://weblogs.asp.net/gsusx/archive/2007/03/27/jms-based-web-services-in-oracle-app-server-part-1-wcf-interoperability.aspx"><span class="blsp-spelling-error" id="SPELLING_ERROR_0">JMS</span> based Web Services in Oracle App Server Part 1: <span class="blsp-spelling-error" id="SPELLING_ERROR_1">WCF</span> Interoperability - Jesus Rodriguez's <span class="blsp-spelling-error" id="SPELLING_ERROR_2">WebLog</span></a><br /><br />Jesus Rodriguez explains in his <span class="blsp-spelling-error" id="SPELLING_ERROR_3">WCF</span> / Oracle <span class="blsp-spelling-corrected" id="SPELLING_ERROR_4">interoperability</span> series how <span class="blsp-spelling-error" id="SPELLING_ERROR_5">WCF</span> can consume a <span class="blsp-spelling-error" id="SPELLING_ERROR_6">JMS</span> queue exposed as a web service with Oracle app Server.Juan Blancohttp://www.blogger.com/profile/05275652057288557703noreply@blogger.com0tag:blogger.com,1999:blog-6341608696020602813.post-44478206537541085732008-02-25T12:13:00.001+00:002008-02-25T12:15:00.461+00:00Upgrading Software Factories from 2005 to 2008 (Problems uninstalling)So you want to update your software factories to 2008 and cannot uninstall / install.<br />1st Install the windows installer clean up.<br />2nd Remove with the windows installer clean up the factories and guidance packages.<br />3rd Install your guidance package in 2005 version.<br />4rd Uninstall it again.<br />5th Using the guidance troubleshoot get all the registry keys<br />6th Delete registry keys.<br />7th Install.Juan Blancohttp://www.blogger.com/profile/05275652057288557703noreply@blogger.com0tag:blogger.com,1999:blog-6341608696020602813.post-8617226587755720652008-02-19T12:04:00.001+00:002008-05-13T09:56:44.856+00:00LINQ to DataSetsI have found this bonus material for the book LINQ in Action at<br />http://manning.com/marguerie which explains the usage of LINQ with DataSets. Worth having a look.<br />You will need to search for it, because direct links do not work. (Thanks for the info)Juan Blancohttp://www.blogger.com/profile/05275652057288557703noreply@blogger.com2tag:blogger.com,1999:blog-6341608696020602813.post-73085206424511223372008-02-18T17:07:00.000+00:002008-02-18T17:07:56.866+00:00LoLCodeForget C#, Ruby, F#, Java etc.. The best new language is LOLCODE:<br /><br />Here are some examples:<br /><br />Hello world<br /><a href="http://lolcode.com/examples/hai-world">http://lolcode.com/examples/hai-world</a><br /><br />OpenFile<br /><a href="http://lolcode.com/examples/filezorz">http://lolcode.com/examples/filezorz</a><br /><br />I think is easier to debug than regular expressions!Juan Blancohttp://www.blogger.com/profile/05275652057288557703noreply@blogger.com0tag:blogger.com,1999:blog-6341608696020602813.post-54224023920168604812008-02-15T17:12:00.000+00:002008-02-15T17:12:54.873+00:00SOA Guerrilla (Jim Webber) , ESB and SOAJim Webber explains here <a href="http://jim.webber.name/2007/10/17/2ae26134-ea19-43de-9a75-d5ef62c0e5b4.aspx">http://jim.webber.name/2007/10/17/2ae26134-ea19-43de-9a75-d5ef62c0e5b4.aspx</a><br />the dangers on why you should not burry your integration, transformation etc in the ESB. (Well why you should not use a proprietary ESB). I myself I am not against it of having an ESB but you should follow standards to stop vendor lock in (BPEL) for system to system processes, and just use the ESB to simplify the management of your SLA (QoS), temporary contract resolution and management of policies, and even addressing. (its just a tool!)<br /><br />Using standards on web services like WCF and WSIT you can achieve things like policy, reliable messaging, transaction support etc, but nevertheless the ESB will help you on said maintainability.<br /><br />The majors risk is that the ESB sometimes won’t manage to comply as quick with new standards as development tools (You can overcome this by temporarily bypassing the bus until these are available)… and don’t forget that you will need good governance to don’t replicate or create new spaghetti.<br /><br />And remember the 4 tenets of SOA: <a href="http://www.bpminstitute.org/articles/article/article/the-four-tenets-of-service-orientation.html">http://www.bpminstitute.org/articles/article/article/the-four-tenets-of-service-orientation.html</a>Juan Blancohttp://www.blogger.com/profile/05275652057288557703noreply@blogger.com0tag:blogger.com,1999:blog-6341608696020602813.post-28759690183047324702008-02-13T16:42:00.000+00:002008-02-13T16:42:51.556+00:00Continuous Production - Production-ready software…any timeI have found this article on <a href="http://testearly.com/2008/02/04/continuous-production-production-ready-softwareany-time/">Test Early » Continuous Production - Production-ready software…any time</a>.<br /><br />And I defenetly agree with the article but in an enterprise enviroment also a good architecture based around D<strong>ecoupling: </strong>SOA, BPM, Composite Applications (portlets, cap, wcsf), Modularitation, dependency injection, and <strong>Governance around depencies: </strong>services, object, modules will allow you to succeed!!Juan Blancohttp://www.blogger.com/profile/05275652057288557703noreply@blogger.com0tag:blogger.com,1999:blog-6341608696020602813.post-57326364528265071552008-02-13T12:22:00.010+00:002008-02-13T13:18:51.922+00:00Enable the Create Translator recipe for all projects.Well I am back using the Software Factories, and currently using the the Web Client Software Factory June 2007 and the Web Service Software Factory Modelling Edition 2008 CTP both in Visual Studio 2008 Team System. They are defenetly the best way to enforce, teach good patterns to your teams to deliver a good set of maintanable code.<br /><br />Our agile approach meant that we needed to have installed both factories side by side on the same machine and to overcome the issue that the GAX / GAT is only able to run in <strong>either</strong> 2005 or 2008 (Orcas) I decided to run WCSF in 2008 following the instructions of <a href="http://staff.southworks.net/blogs/ejadib/archive/2007/10/08/How_2D00_To_3A00_-Web-Client-Software-Factory-_2800_WCSF_2900_-_2600_-Visual-Studio-Orcas-Beta-2.aspx">Ezequiel</a>.<br /><br />The Web Client Software Factory does not have the Create Translator recipe so whilst I could translate my model to my data contracts in the WSSF i could not translate my Datacontracts to my client model. After a bit of playing around I have managed to enable it, so here are the steps:<br />1. Have installed the Web Service Software Factory. :)<br /><br />2. Modify the file:<br /><em>%Program Files%\Microsoft Service Factory V3\Guidance Package\Recipes\Binding.xml</em><br /><br />From:<br /><br /><textarea rows="8" cols="50" wrap="hard" readonly="readonly"> <action referencetype="Microsoft.Practices.ServiceFactory.References.ProjectIsInRoleReference, Microsoft.Practices.ServiceFactory.GuidancePackage" role="ServiceRole" type="RefCreator" assetname="CreateTranslator" name="CreateTranslatorRef"></textarea><br /><br />To:<br /><textarea rows="8" cols="50" wrap="hard" readonly="readonly"><action referencetype="AnyStandardProjectReference" type="RefCreator" assetname="CreateTranslator" name="CreateTranslatorRef"></textarea><br /><br />3. Close all instances of Visual Studio.<br />4. Open Visual Studio , go to Guidance Packages and add the Web Service Software Factory.<br />Note: If it is already there remove it and added it again to refresh the bindings<br />5. In the project you are creating add a folder “GeneratedCode".Juan Blancohttp://www.blogger.com/profile/05275652057288557703noreply@blogger.com1tag:blogger.com,1999:blog-6341608696020602813.post-41139172062969320912007-05-31T10:47:00.000+00:002007-05-31T10:47:05.307+00:00SOA Anti-patternsI have found (again) the list of SOA antipatterns !!! Check them out bellow:<br /><br /><a href="http://geekswithblogs.net/sabotsshell/archive/2005/07/07/45668.aspx">SOA Anti-patterns</a>Juan Blancohttp://www.blogger.com/profile/05275652057288557703noreply@blogger.com1tag:blogger.com,1999:blog-6341608696020602813.post-1123831627692893402007-05-31T08:04:00.000+00:002007-05-31T08:04:32.838+00:00SOA, So What?I found this presentation on how to sell the business SOA focusing on BPM.<br /><br />Abstract: Talk to a business person about SOA, and you’ll get a blank stare. Find out how Business and IT can speak the same language through business process management and get all their goals met! Technologists know that Service-oriented architecture (SOA) promises to give organizations a way to mix and match services for more agility – by relying less on packaged apps and more on reusable services. But you may be scratching your head on how to sell this premise to business people who just see another technology acronym with huge dollar signs attached. Start speaking their language and show them how business process management (BPM) allows everyone to solve real, quantifiable business problems via an SOA strategy. Attend this event and see how leading companies start with BPM in order to sell the SOA vision – so they can get business people to be more specific in what they need out of their systems in order to obtain measurable efficiencies and improvements. Come hear John Rymer of Forrester Research, describe a successful strategy for bridging the IT and Business gap.<br /><br /><a href="http://www.sharedinsights.com/media/webseminars/ws_SOA_022307.html">SOA, So What?</a>Juan Blancohttp://www.blogger.com/profile/05275652057288557703noreply@blogger.com0tag:blogger.com,1999:blog-6341608696020602813.post-58308687104163886272007-05-02T09:49:00.000+00:002007-05-02T10:13:43.895+00:00What Makes Code "Good"?This is an excellent explanation (and simple) on what code should look like. (This is a much better explanation than code should not be smelly).Juan Blancohttp://www.blogger.com/profile/05275652057288557703noreply@blogger.com0tag:blogger.com,1999:blog-6341608696020602813.post-87740614765317618792007-03-20T19:55:00.000+00:002007-03-20T19:55:29.568+00:00Espresso Fueled Agile Development : Undocumented WCSF Feature: Global Exception Handling<a href="http://blogs.msdn.com/mpuleio/archive/2007/02/21/undocumented-wcsf-feature-global-exception-handling.aspx">Espresso Fueled Agile Development : Undocumented WCSF Feature: Global Exception Handling</a>Juan Blancohttp://www.blogger.com/profile/05275652057288557703noreply@blogger.com0tag:blogger.com,1999:blog-6341608696020602813.post-8595156080386081752007-03-20T10:35:00.000+00:002007-03-20T10:35:00.435+00:00Julian Dominguez : WCSF: Add View (with Presenter) fix<a href="http://staff.southworks.net/blogs/jdominguez/archive/2007/03/13/WCSF_3A00_-Add-View-_2800_with-Presenter_2900_-fix.aspx">Julian Dominguez : WCSF: Add View (with Presenter) fix</a>: "because it’s linked directly to the WebClientFactoryPackage in the solution, and one with a public token, which is the one that comes with the Library, and the one that the destination solution references"Juan Blancohttp://www.blogger.com/profile/05275652057288557703noreply@blogger.com0tag:blogger.com,1999:blog-6341608696020602813.post-69536086006080019392007-03-04T14:49:00.000+00:002007-03-04T14:49:37.988+00:00Cape Clear Download CenterIf you havent done already so, and you are interested in SOA check out the download area of CapeClear<br />at <a href="http://www.capeclear.com/download/portal.php">http://www.capeclear.com/download/portal.php</a>. A wealth of informationJuan Blancohttp://www.blogger.com/profile/05275652057288557703noreply@blogger.com0tag:blogger.com,1999:blog-6341608696020602813.post-75328574002837683152007-03-01T15:33:00.000+00:002007-03-01T16:02:19.831+00:00Aptana: The Web IDEI am amazed on how Aptana has grown. For all you don't know Aptana is a Web IDE with full support for javascript.<br /><br />More info here <a href="http://www.aptana.com/">Aptana: The Web IDE</a> and dont forget to check out the demo using the <a href="http://www.aptana.tv/movies/aptana_yui_demo/YUIDemo.html">javacript Yahoo api </a>or Dojo or ... :)Juan Blancohttp://www.blogger.com/profile/05275652057288557703noreply@blogger.com0tag:blogger.com,1999:blog-6341608696020602813.post-56499847157858966142007-02-26T20:29:00.000+00:002007-02-26T20:29:37.141+00:00YouTube - Web 2.0 ... The Machine is Us/ing UsI found this video which explains Web 2.0, very interesting and well done.<br /><a href="http://www.youtube.com/watch?v=6gmP4nk0EOE">Web 2.0 ... The Machine is Us/<span class="blsp-spelling-error" id="SPELLING_ERROR_2">ing</span> Us</a>Juan Blancohttp://www.blogger.com/profile/05275652057288557703noreply@blogger.com0tag:blogger.com,1999:blog-6341608696020602813.post-5810424240066293952007-02-05T10:40:00.000+00:002007-02-05T10:40:34.380+00:00Web Service Software Factory Videos SectionThere is a new <a href="http://www.codeplex.com/servicefactory/Wiki/View.aspx?title=Videos&referringTitle=Home">video section</a> on the codeplex space for the Web Service Software Factory. On the first video it demonstrates with a few slides the Web service domain model.Juan Blancohttp://www.blogger.com/profile/05275652057288557703noreply@blogger.com0tag:blogger.com,1999:blog-6341608696020602813.post-8377988977889723142007-02-05T09:40:00.000+00:002007-02-05T10:25:12.700+00:00WS-BPEL 2.0 has reached Committee Specification statusWS-BPEL 2.0 has reached Committee Specification status, you can find a link to the document at <a href="http://blogs.msdn.com/jevdemon/archive/2007/02/01/ws-bpel-2-0-reaches-committee-specification-status.aspx">Loosely Coupled thinking</a><br /><br />John Evdemon posted on November a <a href="http://blogs.msdn.com/jevdemon/archive/2006/11/06/comparing-ws-bpel-2-0-to-windows-workflow-foundation-wf.aspx">comparison of WS-BPEL and WF</a>. Well as long as you are not tempted to use 75% of the WF features you will be fine. <br /><br />An export tool and / or validator similar to the accesibity one for Asp.Net will help to keep your workflows interoperable.Juan Blancohttp://www.blogger.com/profile/05275652057288557703noreply@blogger.com0