Welcome to Windows Communication Foundation (WCF)
Top Tasks :

WCF Community Bloggers

Browse by Tags

All Tags » .NET Framework ... » Agile Development   (RSS)

  • New and Notable 155

    I have spent a lot of time through the night and some today to try to get my personal blog in order after the Mac options didn't pan out. We have a really important, large external release going out to two external banks next Friday but we stopped this week's Iteration to fix bugs that had been found. In XP, you don't keep going when you have bugs, you stop and fix them. VSTS/TFS TFS is still way too hard to install. The install that my experienced IT guy started last week finally got done last night and took him roughly 16 hours of work time to install including SQL Server 2005 Standard. That is still way too long. To "breadboard" TFS, I am putting in my Workflow Architectural Spikes. More later. Technorati Tags: .NET , VSTS , TFS , Team FoiFinancial and Banking , Extreme Programming , Agile , Agile Development , Workflow , K2 , Windows Workflow , Mocks Share this post: Email it! | bookmark it! | digg it! | reddit! | kick it! Read More...
  • New and Notable 150!!

    This is it, the big 150! The first New and Notable was on May 19, 2003 , (my first post was March 29, 2002 ) and I paid homage to the master, "I have always admired Mike's ability to look at the world out there and put it all into one great post, The Daily Grind . While I can't pretend to have Mike's writing ability, I would like to start moving to something similar instead of multiple seperate posts." I wish I had the discipline of Mike because if I posted daily I would be well towards 1000 instead of 150-) but hey I'm pretty proud of my record. I love this community and in the last 25 years this community (and Microsoft) have been real good to me and my family. I hope that what I have been picking here has been of good use to the community to keep you informed on key .NET activities as well as the architectural and design side. Thus, I go forth and pick: Entity Framework, ADO.NET 3, Orcas, MVP Summit One of the best writers in the community today is certainly Jeremy Miller . His latest post, MVP Summit Recapped: Linq for Entities, MonoRail, and Shameless Name Dropping , is a fine example of why. In one post, he is able to write quite elequently on complex subjects like the subtle design flaws in Entity Framework 3 and why WF 4 will rock your world. He is able to take a technology, stick to his design principles and stand his ground, educating and helping all involved achieve something better than was there before. He certainly wasn't the only one of us doing that but his post really captures the core design principles of no infrastructure code in business logic classes. Infrastructure is Infrastructure, business logic is business logic. We want the same thing: No marker interfaces, no codegen, no partial classes. Just plain "PO" and support for the Unit of Work pattern. David Laribee also talks on this area and makes clear that its a vision thing that doesn't really compare to NHibernate which is just OR/M; it's a full Read More...
  • New and Notable 149

    Yup, I'm still stuck in Seattle and I still feel like crap. Tomas just went off to the airport and I feel like the last MVP left in Seattle. Just want to get out of here and home but can't do that until tomorrow night. Lots of stuff stored up Entity Framework/ADO.NET 3/ORM/ASP.NET/MonoRail I consider my (and all the Code Better guys) biggest contribution to the whole Summit has been our conversations with the Microsoft Data Team on Linq for Entities . I would like to thank the Microsoft guys for being so open to feedback and understanding us In the meantime, Ayende went and did LINQ for NHibernate in his spare Time; does this man ever sleep???? Actually the second proudest moment came some of us CB bloggers with the special meeting with Scott Guthrie on how to make ASP.Net better support MVC much like Rails and MonoRail. My dissatisfaction with ASP.NET is well known and the reasons are expressed well by Ayende here on the leaky abstractions with WebForms and Jeremy Miller here . I expressed many times on my blog that I would just as soon go to Ruby on Rails if I had to do any Web stuff today. Several of the CB bloggers let me know about the goodness that is MonoRail. It's really awesome to see ScottGu have an MVC framework in the works as Jeffery talks about here Inheritance in the Entity Framework is the latest from the Data Team They also updated the 101 LINQ Samples that were included in the March CTP have now been updated to include the 101 LINQ to Entities Samples. To check out the newest samples download from here . Software Architecture/WCF/SOA Nice discussion from Harry on answering Dr. Nick's questions on SSB/WCF The Feb 2007 release of both the GAT and GAX have been released with Vista support but Harry has noted that you have to re-install all your guidance packages which is not so good Christian Weyer has some great slide decks from DevWeek 2007 Matias has an awesome post, " The holy grail of Enterprise SOA security " about SOA Enterprise Security using WCF Read More...
  • All I Can Say is a Big Amen!

    This says it all. Technorati Tags: .NET , Agile , Agile Development , Extreme Programming , ORM , Data , Entity Framework , ADO.NET 3.0 , Orcas , MVP , Visual Studio , VSTS , Team System , Microsoft Share this post: Email it! | bookmark it! | digg it! | reddit! | kick it! Read More...
  • New and Notable 148

    Still real tired from my Oklahoma trip , partying with Raymond sure is exhausting-). Agile/Development Tools On my short list for some time now, is to switch from NUnit to the definitely superior MbUnit. My friend Andrew has done some great work with this tool and he has a new release out with the beta 1 release of MbUnit 2.4. New features in this drop. I really need to switch and get my team to switch over. It's just been an inertia thing with NUNit as I knew all along MbUnit was better Testing private methods for .NET 2.0 rom Ben Hall. Database rollback support for .NET 2.0 from Cathal Connolly and Todd Menier. NUnit style explicit support from Graham Hey. Speaking of NUnit, they also have a new release, NUnit 2.4 Release Candidate (2.4.0). The Release Notes are here and include some nice features: A new syntax and internal architecture for Asserts is being introduced in this release, based on the notion of constraints found in JMock and NMock. The Assert.That method is used to make an assertion based on a constraint Assert.That( actual, constraint, message, args ); Assert.That( actual, constraint, message ); Assert.That( actual, constraint ); The constraint argument may be specified directly using one of the built-in constraint classes or a user-defined class. It may also be specified using one of the syntax helpers provided as static methods of the Is class, such as Is.Null Is.Empty Is.EqualTo( object ) Is.CollectionContaining( object ) Is.SubsetOf( collection ) SCSF is one of the most visible Microsoft projects being done in an Agile way. They are crazy as us doing one week Iterations. Blaine has some reflections on Iteration 3 . CB brother, Jeremy asks what OSS tools are you using in development? As I answered there, they include: NUnit CruiseControl.Net FitNesseDotNet RhinoMocks Subversion TortoiseSVN Ankh Wiki Speaking of tools. my good buddy Tomas (see you next week!) has a nice list of Text Editors One of the things Raymond and I discussed in Oklahoma was Read More...
  • New and Notable 146

    Ah Saturday morning where we can sleep in, ah no wait...I have kids to wake me up at the crack of dawn... Software Architecture The PAG folks continue to deliver their goodness with their first weekly drop of the new version of the Smart Client Software Factory and they looked like they brought over some of the cool stuff from the Mobile version: What’s New In this drop, you have the first look at: • New Application Blocks. We have ported over four application blocks that were previously available as part of the Mobile Client Software Factory. We may refactor, remove, replace, this code in the future (we value your input), but we currently have the following: o Disconnected Agent Application Block. This application block provides management features for execution of Web services from occasionally connected smart clients. With a disconnected service agent, the device can maintain a queue of Web service requests when offline (disconnected) (emphasis mine) and then replay them when a connection to the server application becomes available. o Connection Monitor Application Block. This application block monitors and exposes the available connections and the associated networks. o Endpoint Catalog Application Block. This application block provides features to expose the physical addresses and other details of remote services. o Data Access Application Block. This application block provides support for SQL Server Compact Edition. This application block will be replaced when the factory migrates to the next version of Enterprise Library. Jeremy Miller continues his excellent posts and talks about something Steve and I approach in our architecture: Don't Let the Database Dictate Your Object Model . I have to admit to being dragged a bit by Steve into this approach with OR/M and dropping the whole data-centric database-out view I have had for many years. Also see his My Least Favorite Kind of Requirements Undocumented WCSF Feature: Global Exception Handling Udi tackles Can, or Read More...
  • Latest on Agile Project, Reorgs, and Interop

    In a post on January 25th , I said, "I posted yesterday that we had shipped our Enterprise Collateral Management solution based on our new architecture. As I said, we still have a lot more to do ." I provided a concise list of the methodologies, technologies and tools that we used in our 14 month cycle. To update where we are now, it will be necessary for me to give a little more context. First, when I mention "our company", we are actually a Division exclusively devoted to Collateral Management. This division, in turn is part of a much larger worldwide company that has at least 6 more financial sector products dealing with other aspects of managing risk. That company then, in turn is part of a huge Ratings company. The rest of the products are (mostly) integrated into one suite that we sell. Ours is not. One reason is that the various products have been organized into self-contained product groups. That means that we had our own development, marketing, sales, product and management for just Collateral Management. Five or six weeks ago, our company went through a rather large reorganization that aligned things by a global R&D, global Marketing, etc. I think this is an extremely good thing. Our product is now "owned" by R&D which also owns all the other products that are part of the suite and otherwise and we are detached from product so we can focus on development. We can also look at integrating into the suite and bi-directional learning. One consequence of this is now instead of my boss reporting to a VP of Collateral Management, he reports to a Senior Director in R&D who owns a product out of our large offices in Manhattan. The cool thing is that Josh Madden is a 20 year+ veteran developer/architect like me who has done great things in the Financial area for companies like Reuters. He gets development. The other cool thing is that his other product group also uses a lot of Agile techniques and greatly appreciates our total XP environment. One more thing: Read More...
  • New and Notable 131

    I am SO busy with INETA trips and tons to do at work. Here is what I have stored up for the last week or so. WCF/SOA/Workflow/WF Tomas blogs about something I face every day in WCF with WCF ServiceHost Failures and IDisposable with "The "don't call Close()/Dispose() if faulted" behavior that ServiceHost requires does not work well with IDisposable; it demands a behavior different from the standard IDisposable pattern." We're having a lot of issues with dealing with failures and what to do with them but Tomas definetly states a fundamental problem. Tomas has also WCF, WF and BizTalk Sample Posted with some interesting stuff!! MTOM Interoperability between Oracle Application Server and Windows Communication Foundation Part1: From WCF to Oracle Jesus Rodriguez as well, " I am happy to see this progress: " The Web Services Interoperability Organization (WS-I) announced the publication of three new Working Group Drafts : the Basic Profile 1.2, Basic Security Profile 1.1 and the Reliable Secure Profile 1.0 Usage Scenarios. Advancement of these documents to Working Group Draft status is an invitation to the Web services community to provide technical feedback." I could just list every single post that Mike Taulty writes on WF; they are all that good! In particular, WF and Versioning , MetaStorm and the Workflow Designer , Little Workflow Foundation Sample I could and have done the same with "Nicholas Allen's" posts on Indigo: ListenUriBindingElement , Creating Faults Part 1, and Part 2 CLR How to avoid assembly loads , and Getting the list of loaded assemblies from Richard Lander James Higgs talks about Garbage Collection and the IDisposable interface WPF/Avalon Karsten has an awesome Avalon demo - "The Woodgrove Finance Application is a great demo of how WPF can be used to create better data visualization, in this case for financial data. I've posted the source code -- there are some good nuggets in here worth exploring." Introducing the XML Assembly Generator Data V1 of Data Read More...
  • Agile Project Use of CAB

    In comments to my post about our Agile project entering ship mode, a reader asked for more information about our use of CAB. While I intend to write more about OB and performance, here is a bunch of posts about CAB and our use of it during the last 14 months: Occasionally Connected Service Oriented Smart Clients New and Notable 93 New and Notable 94 Pair Programming at 33,000 Feet CAB Smart Clients in an Agile World Part 1 CAB Smart Clients in an Agile World Part 2 CAB, SCBAT and GAT New Drop of SCBAT Truckin' Along with Iteration 19 and Indigo/Contract First with Services BAT MSDN Architecture Webcast: Extending Microsoft patterns & practices ObjectBuilder Outlook Bar Workspace for CAB! How To: STS/Windows Authentication with ADAM/AD, Roles in AzMan with WCF Connecting up AzMan Roles with WCF Behaviors and CAB CTP and Diagnosing WCF, CAB and other Exceptions New and Notable 110 New and Notable 116 The Cabana Project and CAB Our Agile Project Goes into Ship/Performance Mode Technorati Tags: Software Development , Software Architecture , Agile , Agile Development , Extreme Programming , Smart Clients , CAB , SCBAT , OCC , MVP , Microsoft Share this post: Email it! | bookmark it! | digg it! | reddit! | kick it! Read More...
  • Our Agile Project Goes into Ship/Performance Mode

    So, I have been writing a bunch of posts over the last 14 months, how we have been using Agile, actually full Extreme Programming practices to build a multi-million dollar Enterprise Software platform and application for the banking sector. We certainly have seriously stressed Extreme Programming/Agile techniques to their limits as this is not a small piece of software, but a large Enterprise solution that gets sold into the top banks in the world. We certainly have proven that you can use Extreme Programming/Agile techniques to build a 1.8 million dollar Enterprise product family. have talked about being an Agile Architect and why it's neccessary, how we went to CTP in July , the Process we use, our tools , and even our failings . So, after 48 Iterations we finished all the functionality we had agreed with Business was necessary for a "Phase I" delivery of our Next Generation/V5.0 product, as our Next Generation architecture will span an ambitious set of goals and products on top of this platform. Business and Development agreed together that we would stop and start a three week Iteration of fixing bugs in our backlog, testing and eating our dog food. In Extreme Programming, you are really not supposed to carry over bugs out of the Iteration but this was extremely hard with one week Iterations. We turned out very well overall as all the testing found just over 100 total bugs for 14 months work which is an order of magnitude less bugs than our previous product development techniques. In addition, we have over 1,000 unit tests and the code is well factored, clean and maintanable. The best part is the whole team understands it, not individuals. I actually haven't written about it but I have been working as Agile Architect the last few months on the next phase and not as part of the Iterations directly. These involve a whole lot of Workflow, Reporting and much more. Anyhow, I made a stand with my management the last 3 weeks and insisted that I code and Read More...
  • New and Notable 130

    Lots of great stuff this time. CLR/Interop There has always been a ton of confusion about CLR assembly version numbers since 1999 and a lot of people don't understand all the different version numbers. Luckily, Richard is starting a series on them with the first being the Native File Version which of course has nothing to do with CLR Versioning. Back to Interop - Mike Stall wisely says Marshal Opaque Structs as IntPtr Instead of Byte[] Speaking of Mike, he's got a very good Table of Cool .NET Tools if you work at this level WPF/Avalon Mike Swanson lists More WPF Conversion Tools, Including VB6 to XAML Karsten s ays, "If you are a WPF developer, you must read Optimizing WPF Application Performance " Anthony clarifies the difference between Microsoft Visual Studio codename "Orcas" CTPs and "Visual Studio 2005 extensions for .NET 3.0 (WCF & WPF), November 2006 CTP". WCF/SOA/Workflow Pablo has three Recommendations to Design Message Contracts . I agree with all three. Number 1 about not including business behavior in the message but using simple DTOs across has been the hardest for us to achieve. Nicholas Allan (again!) on Proxy Bypassing Behavior The Sharepoint team blog has been having a series of posts on Workflow in Sharepoint 2007 Choosing the Right Microsoft Integration Technology [via Tomas ] Windows Vista/Office 2007 Vista, Office 2007 and Exchange Server 2007 has their Business Launch today. Here is the official site . Technorati Tags: Software Development , Avalon , Windows Presentation Foundation , Software Architecture , Agile , Agile Development , Windows Communication Foundation , WCF , SOA , Microsoft Share this post: Email it! | bookmark it! | digg it! | reddit! | kick it! Read More...
  • New and Notable 123

    A very good day to leave the country and find a new one... WCF/Indigo/SOA/Workflow/.NET Framework 3 Here are the separate download links for the parts of .NET Framework 3 RTM that I blogged about yesterday: Microsoft .NET Framework 3.0 Redistributable Package Microsoft® Windows® Software Development Kit for Windows Vista™ and .NET Framework 3.0 Runtime Components Visual Studio 2005 extensions for .NET Framework 3.0 (WCF & WPF), November 2006 CTP Visual Studio 2005 extensions for .NET Framework 3.0 (Windows Workflow Foundation) Microsoft Visual Studio 2005 Tools for the 2007 Microsoft Office System Windows SDK .NET Framework 3.0 Samples - Microsoft Identity and Access Webcast Series [via Craig McMurthy ]. To register for any if these webcasts, including our kickoff webcast: “Identity and Access Vision and Strategy”, visit this link: IDA Webcasts MIIS Identity Integration 2003 SP2 Early-Adopter Access program available . This one would be a real good one for us to jump onto to. Windows SDK: Planning Ahead Mike Taulty on Workflow and ASP.NET Web Services . Nothing to do with Mike's fine article but does anyone else other than Steve and I find that WF doesn't work with another member of WinFX, WCF right out of the box very strange?? I understand the need to support ASMX and I am fine with that but in the last 3 years couldn't they have also integrated WF and WCF before ship for the rest of us?? Data/SQL Server/LINQ/OR/M SQL Server 2005 Service Pack 2 CTP (November 2006) Support for the upcoming Windows Vista. Data Mining Add-Ins for Office 2007, which enables data mining functionality from SSAS to be used directly within Excel 2007 and Visio 2007. SSRS integration with MOSS 2007, which allows integration with the Report Center in SharePoint providing seamless consumption and management of SSRS reports within SharePoint. SSAS improvements for Excel 2007 and Excel Services relating to performance and functionality. Oracle Support in Read More...
  • New and Notable 117

    I am still reeling from seeing the Red Hot Chili Peppers with Mars Volta 2 nights ago in Philly at the Wachovia Center. The Peppers were beyond grea t with Frusciante taking a very active lead role. Many of the songs contained a full-out Hendrix-type feedback solo in it that showed the depth of his talents. I think Stadium Arcadium is their best album since Blood, Sex, Magic (which they pulled out the title song the other night!!). You can't beat a start of Can't Stop-> Dani California! Mars Volta is one of my favorite bands (although hard to take at times) and I am listening to the brilliant new Ampheture right now which they played in full the other night. Live, they come off as a wall of sonic noise and Bixler-Zavala wailing singing, an assault on the senses that drove people nuts (my wife wanted to leave!) and their greatness only came through in sporadic moments (Viscera Eyes). Okay, a lot of stuff today. Number one, I want to congratulate my good friend and master of these types of posts, Mike Gunderloy for hitting The Daily Grind 1000 !! Mike is an incredible asset to the community and a terrific writer to boot. If you are one of the rare people not already subscribed, get your ass over there this minute and make it so! I have started to write (for work) a Workflow XOML loader and executor. I want to do something like XamlPad or even Snippet Compiler to execute my workflows. I have the hosting of the runtime down and loading the XAML/XOML. More later. WCF/SOA/Indigo/BizTalk/Workflow/Distributed .NET Another good friend of mine, Tomas Restepo. has some great stuff: He released his MSMQ Activities for Windows Workflow Foundation. He addresses MsmqListenerService concerns with the above Gets answers for the question of how to get the SOAP Action associated with a given operation when all you have is the OperationDescription for it Points to Ralph Squillace s post an walkthrough entry of how metadata publication (MEX + WSDL) is enabled in Windows Communication Read More...
  • CTP and Diagnosing WCF, CAB and other Exceptions

    In the last post , I talked about how we had reached Iteration 33 and gone to CTP with a large International bank. I alluded to some problems. Of course, one of the CTP's main purposes was to find problems and learn from them. We ended up having a variety of problems. There were initial problems in the Click-Once deployment. We built a WIX MSI (great work done by mostly Aaron & Brad) that installs our database scipts, sets up our config files, installs our WCF Services and sets up the service for the Click-Once Deployment of our client. This is installed server-side. The Click-Once deployment failed, our excellent person on the scene went to an xcopy deployment, and as you will see later, that caused some funly issues, although far from being the only and main cause. (Note: I have just split the post into two and the next part will talk about our solutions with the Service Factory, Exception Management and Logging Blocks). The gist of it is that our client never came up (-. Trying to find out why proved to be a two-day somewhat intense struggle for Steve and I who were the main leads dealing with our man in Paris. The first major realization is that all of us on the whole team had done a real crappy job dealing with Indigo Service exceptions not catching the variety of exceptions that could come up including the service not being there. We did have a Global Exception Handler and had a custom dialog with the nice error message. While realizing our shortfalls, the immediate mystery was why the Global Exception Handler did not catch and show these particular exceptions. Left to their own devices, these exceptions would bubble up and evetually show themselves as CAB exceptions. Our global handler handled the Application.ThreadException. What we forgot was to handle the AppDomain.UnhandledException event. It would be something like this: Application.ThreadException += new ThreadExceptionEventHandler(Application_ThreadException); AppDomain.CurrentDomain.UnhandledException Read More...