|
|
Browse by Tags
All Tags » Agile and Extre... » WCF (RSS)
-
There! Enough things in one title? The thing is that Steve Eichert and my whirlwind day covered all of that and more. Let me explain. So, for two weeks, Steve and I have been off discussing/pairing on some big ticket "Infrastructure" items. There are many things on the list and we have been applying both heavy design discussions on the whiteboard with practical prototypes or solutions. These areas have covered the whole spectrum from what will the world look like in 3 months, 6 months, a year, 3 years to caching architecture to workflow to to parallel computing to replacements for CAB to Services to reporting and much more. Yesterday, we spent a day on our "Reporting Strategy or Reporting Architecture." Being a large Enterprise platform, it is very important to have a comprehensive Reporting story on both the Smart Client side as well as on the Server side. I'll just leave it very generally that there are certain kind of reports for us that are really "Statements" and then Ad-Hoc Reporting. My story for most of the last year and half has been SQL Server Reporting Services . I have had good experiences with it at Adesso even as reporting on Oracle. Of course, there is that "small footprint" of having a "reporting database" for SQL Server but virtually all the "Enterprise Reporting" solutions require some footprint. However, lately it has become totally apparent to us that virtually every single Bank customer of ours is an Oracle shop only other than very small hedge funds and we have really de-emphasized SQL Server. Its still in our CI build and code gen but we are now optimizing for Oracle. Anyway, we wanted to keep the Statement stuff simple. Forget a whole reporting thing for that. We really only need to generate pretty much canned statements with customizable logos and footers. So Steve and I began to look at a whole bunch of HTML to PDF or .NET libraries for PDF generation. We ended up feeling real good Read More...
|
-
Ever hear the story of the guy who responded to ScottW's Facebook NJ Developers and DonXML 's same email and gets addicted to Facebook ? CLR/Rotor Phil Haack has a most excellent tip on an easier way to see the Rotor code. Instead of doing the whole multi-hour Rotor unzipping and building dance, you can view most of the code online here ! Design Patterns/UI/CAB/Software Design/Agile Jeremy continues his brilliant series with his Build Your Own CAB #14 . I'm not going to quote the whole title as it has too many buzzwords to type :) Speaking of buzzwords, Chris combines a mouthfull in his most excellent post: NUnit, NBehave, DSLs, Fluent Interfaces - and other popular gibber jabber. You should read it. Windsor/IoC Jeremy Jarrell has started an excellent series on tools that we Agile developers use. The first piece is an excellent down-to-earth tutorial on Windsor, the Inversion of Control (IoC) container piece of the Castle Project , the same guys that bring you MonoRail IronRuby Scott Hanselman continues the Iron Ruby juice with a WPF Sample in IronRuby talking via C# to Wesabe WCF/Distributed .NET Matevz Gacnik has an interesting post where he managed to get distributed transaction scenario working using WCF , MTOM and WS-AtomicTransactions . [tags: CLR, C#, Rotor, WPF, LINQ, DLR, IronRuby, Castle, Windsorm MTOM, Distributed Transactions, Design Patterns, CAB, UI Design] Read More...
|
-
TGIF!! I am super busy right now designing a multi-CPU/multi-threaded Parallel Calculation Engine and diving into the science of Parallel Computing. I'll have some links when I get a chance. Windows Workflow Tomas talks about Silver , the integration of WF + WCF. The marriage is sorely needed because, as I have posted here , the current situation well, sucks. Silver uses Queues and bypasses EDS completely, which is what anyone needs to do to have any real success of communication into Workflows. Because we could not use Orcas here, we actually implemented our own version of the mechanism to avoid the hell that is EDS. Jon Flanders , the guy that helped me with the above, also worked on the PageFlow Sample that has been updated to V1.1 Even more interesting is that he has working on this project for hosting Workflows inside of BizTalk. This is very interesting as developing your own host is so not trivial, but I totally challenge Paul's assertion that " No BizTalk Experience Required ." Architecture Steve Jones has a post YAGNI, Requirements and why scaling isn't always important that I totally agree with and is in-line with what I try to do as an " Agile Architect ": "Split information exchange from the business services, and worry about the scaling that is appropriate for your information exchange. Don't worry about technical purity and some "wonder" architectural approach. Don't over engineer because if you do X (or R) then it will scale to 100,000 users, but your requirements say "6". Software Design/Agile/XP/Design Patterns/CAB Number 11 for Jeremy in his continuing excellent series on UI Design Patterns in Build your own CAB #11 - Event Aggregator Jeremy has another big AMEN post for me in his Design for Testability , which really goes with my Writing Maintainable Code post, "" Done, done, done " isn't just writing code. It's writing code and verifying that that code works correctly. Read More...
|
-
Software Design/Agile/XP Ayende provides the substance and answers to Frans in the Working software over Comprehensive documentation and Documentation can be ambiguous in the most insidious ways . Since these posts substantially cover what I like to think I would say and believe (and say it better), I'll let them be the pointers from my Writing Maintainable Code post as they pretty much say it all See also Ayende's earlier Understanding Bad Code WCF/CardSpace Rick Strahl on Hosting a WCF Service in a non-.NET Client Getting CardSpace Tokens Programmatically Technorati Tags: Software Design , Agile Development , Extreme Programming , WCF , Indigo , CardSpace Read More...
|
-
I have been working with the Office Live Services Beta for some months now. They just went live with my site over the weekend (although I still have to work on the domain name transfer) and it looks pretty good! I have a new Header and Home Page design. I have added my How-To STS/Window Authentication with ADAM/AD, Roles in AzMan with WCF to the refurbished WCF page . I added a new Domain Driven Design page under Software Engineering . My Presentations, as always are here . Hey, what else am I going to do while I am waiting for my flight? I would like and appreciate any and all feedback as comments here. What's good? What's bad? Knowing my blog and its subjects, what would you like to see? Technorati Tags: .NET , Windows Communication Foundation , WCF , Software Architecture , INETA , MVP , .NET Framework 3 , Microsoft Share this post: Email it! | bookmark it! | digg it! | reddit! | kick it! Read More...
|
-
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...
|
-
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...
|
-
Architecture/SOA Blaine Wastell has posted that PAG planning an update of the Smart Client Software Factory to be released in late April of this year. They are encouraging feedback at http://www.codeplex.com/smartclient and enter critical items into the issue tracker ( http://www.codeplex.com/smartclient/WorkItem/List.... ). From where I sit, they have their Priority 1 stuff right with WPF Interoperability. We absolutely need to be able to move to WPF with the existing CAB/SCBAT infrastructure I have been listing posts on WS-RM and its implementation in WCF. Harry Pierson, has an autopost that builds on his recent epiphany about WCF and long running services. He speaks about his conversation with Shy and " At some point in the three years between March 2003 and February 2006, WS-RM went from being the enabler of long running services to "yet another misnamed WS-* protocol". And with it, WCF lost (never had?) the ability to support long running services (as I've written previously )." The main point is that it does not support RM-based durable messaging. As Harry says, "As I said before, lack of support for WS-RM based durable messaging isn't that big a deal. As long as you understand WCF's sweet spot - the current version's sweet spot anyway - and don't try and make it be something it's not, you should be fine. Furthermore, Shy mentions the need for an "interoperable Queued Messaging specification" and wrote that it's something he "expect that we will get to it in the near future". Here's hoping that spec is less flexible than WS-ReliableMessaging." CLR/Tools/Agile/TDD The most indispensable tool in the .NET universe, Reflector, has gone through a big update to V5! As Jamie states , "This is a significant update with lots of refinements and new features. Perhaps most significantly it includes support for C# 3.0 language features such as LINQ query expressions, lambda expressions and extension methods. See my screencast about using Reflector 5.0 from VS Orcas." He also Read More...
|
-
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...
|
-
Data/ADO.NET Orcas Two from the ADO.NET team: Entity Client and Nulls - LINQ to DataSets Part 3 Software Architecture/SOA/CAB Udi answers, Can or should SOA be implemented without Web Services? David Chappell on The Three Faces of SOA Eric Newcomer: WS-* vs. REST is not the question Another architect with a chronicle of How CAN and TDD helps doing better designs WCF/CardSpace Richard Turner gives an insightful report on RSA2007 especially on the "demo showed Wachovia 's website running on Corillian 's online banking platform using Arcot Systems ' security engine to generate managed cards and process token requests." Corrillian and Wachovia's work will be important for all of this in this sector as more and more backs embrace CardSpace and Identity management. We are seeing a lot of movement in this area. Jorgen provides some great links on Interoperability with WCF . This is an area that I am becoming more involved with Java systems communicating with our WCF Services. Dr. Nick continues with More Poison Message Handling Tomas on Writing a WCF Transport Channel - Part 1 Agile Architecture Uncertain Planning Nick talks about The minimum amount of architecture needed for Test Driven Design . .NET Framework 3/WF .NET Framework 3.0 training kit for WF, WCF and CardSpace [via Mike ] .NET 3.0 Middleware Technologies Day: Third Incarnation David Chappell: Why Workflow Matters WF, WCF and CardSpace training materials posted Technorati Tags: .NET , Smart Client , PAG , CAB , Software Architecture , Windows Communication Foundation , WCF , Windows Workflow , WF , Agile Architecture , TDD , .NET Framework 3 , ADO.NET , Orcas , Microsoft I'm listening to Street Life by Roxy Music on the album Stranded (Remastered) Share this post: Email it! | bookmark it! | digg it! | reddit! | kick it! Read More...
|
-
I have already said my piece on the Vista launch but also Office 2007 launches today which really rocks. The much better Outlook 2007 is worth the price of admission alone IMHO. Vista and Office Launches Vista Launch Page Bill Gates Keynote European Launch Windows Vista Upgrade Advisor Office 2007 Launch Page Nial Kennedy on launch in San Francisco Microsoft Debuts Vista in Global Marketing Blitz Robert McLaws posts on all those great Vista Updates that finally showed up last night on my Update. Can someone get me to stop playing Hold 'Em Ultimate Extra, my fingers hurt -) Software Architecture/SOA Pablo asks "CRUD Service for Service - Is a Bad Practice?" I think it depends, and as Robert Wilczynski says in the comments, some kinds of CRUD are fine, but the greater anti-pattern is chatty contract/interface. What's your thoughts? Pablo also talks about Services in .NET Part 1 Edward has started a new series of posts about factory basics called 'Factories 201', and he has kicked that off with a post entitled "What are they (concretely)?" [via Jezz Santos ] Arnon continues his excellent architectural writings on his Architect Blog with What Is SOA Anyway?: Part I, Ambiguity and Anyway? Part II, Hype Soma talks about Software Factories [via Harry ] WCF/Web Services/Workflow William Tay makes the very real case for why WS-ReliableMesaging is vital. I mean, when people *** about WS-*, I don't get how its not obvious that "the main characteristics of Web services is communication over unreliable communication channels such as the Internet employing unreliable data transfer protocols such as HTTP, SMTP and FTP" and many of us need things like WS-RM and other standards to build real service-oriented systems that actually do something. Luckily for me, Indigo bakes all this goodness in so it's just an attribute to me The master, David Chappell, tells us What's Really Important About SCA ( Service Component Architecture )? YAY! Mark Mercuri tells us the good news that the current Read More...
|
-
Completely buried with two projects and the main one is going to CTP #2 at a major back in Paris/London next week so going to scrape this together quickly. I have also been pairing with Steve back on the main project on solving performance problems - yesterday, he and I optimized a section of the system where an operation was taking 25 to 30 minutes and got it down to 30 seconds! Now that's a good boost! I have much in my head concerning where we are at and my current feelings on being agile, architecture and such but they will have to wait. I tried to blog about the Apple iPhone announcement but couldn't muster up enough interest... Architecture and SOA, Agile SOA and BI Impendence Mismatch Arnon has great comments on a presentation (via Shahid Sah's blog) by Ron Jacobs on the Software Architect's Role. he says, "In this presentation, entitled Architects and the Architecture of Software , Ron compares the architect's role to that of an explorer, advocate, and designer," and "However, I would personally replace "advocate" with "mentor", and "explorer" with a "polymath" or "Renaissance" man. I'd also add a leader and visionary (although Ron mentions that as part of the discussion on explorer)." I agree with his additions, at least how I see my role. He also has some outstanding comments on Agile Iterations and what I really want to write about (and finding) when I have time: "To me, that is just a reminder why JEDUF is important. I find that in projects that are large or overly complex "sacrificing" one, two, or even three iterations for handling technical risks and forming a candidate architecture goes a long way ( and I don't care if this makes my project not agile. I am fine if it is pliant , lagum or what-not)." I am actually finding its quite a bit more than 1-3 Iterations depending on the project and environment. Actually this ties in with Jim's Design Maps . Cazz on Building Software Factories Today Richard Venyard on SOA Algebra WCF/Indigo Harry finds Indigo daunting Read More...
|
-
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...
|
-
I have lots of stuff collected up today. Software Architecture/SOA Arnon Rotem-Gal-Oz has made available his wonderful SOA deck which makes a nice complement to mine Nick Mallik makes the point of Iterative..agile..architecture Hanselminutes on Architecture from Barcelona Udi reports on the state of the usual in the Microsoft community with Dataset - O/R Mapping Rumble at TechEd MVP Dinner Ayende Ajax: What the hell is all the buzz about? Rich Veryard on Business Case for SOA 3 BPEL-WS-* Interoperability WCF/Indigo The Indigo team lets loose in a well deserved celebration Three from Nicholas Allan, Modifying the Binding of a Service , Handling Message Encoder Errors , When to Wait for Messages Pablo has a great piece on X.509 Certificates for WSE and WCF - Part 2 Karsten on WCF Calls Hanging without any Debug or Fault Information Agile The newest Carnival of Agilists is up Vista Jeff Sandquist points to a very cool Vista utility: Simon Ferquel has written an Mac OS X like Expose application for Windows Vista. You can download here Technorati Tags: Software Development , Software Architecture , Agile , Agile Development , SOA , Windows Communication Foundation , WCF , Windows Vista , Microsoft Share this post: Email it! | bookmark it! | digg it! | reddit! | kick it! Read More...
|
-
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...
|
|
|
|