… come and get yer Service Factory!


That’s right ladies and gentlemen, the December release of the Web Service Software Factory and a VB.NET version is now available for your consumption, modification, and production pleasures 🙂


Okay, I’m just going to do 3 things in this post since I know there will be many more to follow:



  1. Lay some links on ya. For downloading the Service Factory releases and more info.

  2. Share my favorite new features of the Service Factory with you.

  3. Give you a sense of what is to come in the near and not-so-near future.

Links



Favs


WSDL-first support. This feature definitely wasn’t the most challenging to include, but I still love it. I’ve spent a lot of time over the years monkeying around with WSDL files. The fact that Service Factory has a single recipe (wizard) that will take a single WSDL and generate the service interface, service implementation, binding configuration (config file), and all of the associated DataContracts/XmlSerializable types is just freakin’ sweet. You have to see it even if you don’t define all your contracts in WSDL first.


Versioning guidance. This is a favorite of mine because … well, I wrote it haha. No, seriously … it’s no secret this is a topic that is near and dear to my heart. I have labeled the topic “emerging guidance” in the Service Factory documentation because I want to gather more evidence from customers that this approach is actually working for them before I propose we call it a “proven practice”. I have spoken with a number of customers who have taken this approach and it is working well for them. I haven’t spoken to anyone it didn’t work for, but I’d love to hear from you. If you’re interested in reading or sharing, I’ve also posted the topic on my blog here. Personally, I think the “strategy” section of the guidance is still weak on content, but more on that in the “futures” section of this post. I also plan to do a webcast on it.


WCF Code analysis. This one turned out to be the sleeper feature – we didn’t expect this to turn out so sweet. As you may know, FxCop has been integrated into Visual Studio 2005 under the name Code Analysis. Well, we took all of the same rules that used to be the Security Analyzer back in the WSE days and converted them all to code analysis rules. They also work against the code AND the config files (something FxCop hasn’t done historically). I know, pretty sweet, huh? Well, when we showed this to the WCF team, they asked if we could include some of the rules that they fire at run-time so they could be run at design-time (like the ones that make sure all the binding stuff is consistent). “Sure”, we said. So there are about a dozen of them too … and it’s all integrated into Visual Studio … even if you’re not using Service Factory.


Recipe runner. Okay, now I’m cheating a little. This isn’t actually a feature … and it’s not really included in Service Factory. One thing we learned while building the July release was that testing GAX recipes is feakin’ hard. Well, harder than it should be. So the team took a couple of months at the beginning of this version to get it right. The result is something we call RecipeRunner. Those of you who are creating your own recipes or heavily modifying the ones we provide will really like this if you care about testing, which you should. We’ll be making it available on the community site in the near future.


There are loads more things that are new and way cool in this release, but I want you to discover some of them for yourself too. Of course I’ll be mentioning them as time goes on and in some mini videos. Oh, that brings me to the last item on my agenda.


Futures


Blogcasts. The very next things you’re going to start seeing are more of the blogcasts I did some months back. Many of them are outdated now and I need to do more of them now that the WCF Service Factory has released. The feedback was very positive (thank you) and because I claim to listen to you, I promise to do more of them shortly.


HOL exercises. I’ve already began the process of converting the existing hands-on lab (HOL) to WCF. Additionally, we’ll be adding a bunch of new exercises. What I need from you is some details so we’re sure they are helpful. This is what we have in mind:



  • Modifying a guidance package – There is already a how-to in the Service Factory documentation, but customers are always telling me they need more help. If you tell me what kind of changes you’re making to guidance packages I will try to create an exercise that illustrates how to make that change.

  • Building a service agent – A service agent is that layer of code on the consumer side that invokes the proxy (that’s right, you’re NOT suppose to do it in the button’s click event handler :). It manages things like retries, response caching, offline support, asynchronicity, etc. I need you to tell me what kind of challenges YOU (not your neighbor) need. That will help me get this exercise right.

  • Versioning – this will build on the topic I mentioned earlier and will walk you through how to evolve a service in a number of ways.

  • Message validation – The reference implementation already illustrates this. But would you find a HOL exercise valuable? If not, cool, I’ll spend that energy somewhere else. If so, also cool.

  • Exception shielding – The reference implementation also illustrates this. Same question …

  • Create a code analysis rule – I think this is also covered in the VS documentation, but I’ve never looked for it. Are you going to be writing your own rules? If so, would you find a HOL exercise helpful?

  • Workflow Foundation – we actually did a lot of work with this, but had to pull it at the last minute (yeah, sometimes cutting scope at the last minute hurts). We might be in a position to create an exercise as a result of what we already have. We’ll see.

v3 planning. We have already began the planning process for v3. But because we JUST started, we don’t have a lot to share just yet. I can tell you (if you didn’t already guess) that a service domain specific language (DSL) is the primary theme of the next version. I will be sharing everything with you around the features and their priorities as soon as we have something to share. As always, we’ll be counting on you to steer us where you need us to go. All of this communication will naturally happen on the Service Factory community site, which will be moving to CodePlex in the very near future. More on that later too.


Okay, it’s getting late and the weather is getting nasty so I’m heading home. Until next time, you have a lot to keep you busy 😀 Looking forward to your feedback. Thanks!

Comments (24)

  1. Ashith Raj says:

    Great news for all the SOA folks. Kudos to ServiceFactory Team.

    Versioning guidance does cover various strategy, If HOL for these in place will be good reference.

    I like the WCF Code analysis feature of this release.

    Blogcasts are great source to get started. MSDN Webcasts are more prefered.

  2. James Bender says:

    I would LOVE to see a HOL for modifing the guidance package!

    I just sold my client (after much debate, demonstration and POC work) to use Service Factory to build their net Enterprise Platform and I know we are going to need to change the recipies a bit. I’ve struggled with some of it, but the part that has me worried is teaching others how to do it once I’m gone in a couple months. Anything that would help me do that would be a God-send!

    Thanks!

  3. Tim Stevens says:

    Hi Don.

    Great to see WSDL first in there. Thanks. Can’t wait to break it with horrible schema!

    So… can we think about XSD interoperability and showing how usable any WSDL is by non M$FT clients?

    http://www.w3.org/2002/ws/databinding/

  4. Yex says:

    "As you may know, FxCop has been integrated into Visual Studio 2005 under the name Code Analysis."

    Just for clarity, I think it should be pointed out that this is only available if you’re using Visual Studio Team System. Users of non-Team-System versions of Visual Studio don’t get this feature integrated. Please school me if I’m mistaken.

    I know it seems a bit unrelated, but the statement piqued my interested enough to look for it and look into it, that’s what I discovered.

  5. Don Smith announced a new release of the ServiceFactory in his blog. I wrote about the Factory, already. Although I haven’t had the time to investigate the new release, the thing that intrigued me the most was the WSDL-First feature. This might

  6. LockSmithDon says:

    Ashith, thanks for stating that MSDN webcasts are preferred. I was considering only doing the blogcasts, but now I’ll make time for doing some webcasts too.

    Thanks James, I’ve put a pri 1 on the "modifying a GP" exercise. It will get done. Any particular modifications that are bubbling to the top?

    Hey Tim! Yeah, I’ve pinged Paul, but it’s time to take that conversation to the next level.

    Hey Bob. Yes, you are correct. The code analysis feature is only in the team editions of VS. Can’t say exactly why, but it’s true. I’m real interested to see how people use this feature – it has limitless opportunities.

  7. John Kattenhorn says:

    Hi Don,

    Thanks for the HUP, my ten pence (I’m from the UK!!). I’d love HOL on exception shielding and validation, i’d also like to see the client side proxy stuff as well.

    Can you tell me whether any of the oracle work made into the December release ?

    Thanks

    John

  8. LockSmithDon says:

    Hey John, thanks for the feedback. Good to know we’re on the right track for the new exercises.

    None of the Oracle work is in the December release. Honestly, it was never our intention to do so. The work you did is great and is still just as applicable and appropriate today. We didn’t make any changes to the data access guidance package, so it should just … work.

  9. It is here.The Web Service Software Factory (also known as the Service Factory) is an integrated collection…

  10. Sam Gentile says:

    More awesome news today on something we use on our project and I really love from Christian : It is here

  11. James Bender says:

    Hey Don,

    We’ve talked about a few before I went on vacation, but the few that I remember through the post vacation haze are:

    Have our request objects inherit from a base request to accomodate some home-grown security stuff

    Chagne the recipies to generate names that are more in line with the clients codeing standards

    When generating entities from the database, add a regular expression to "de-database-name-ize" the resulting classes so that they don’t have to do a lot of editing, a la the Coho Winery HOL

    When (if) I start to re-generate my brain cells lost over New Years, I can post some more.

  12. Via Don : the December 2006 release of the Web Service Software Factory is now available! This is a major

  13. John says:

    Hi,

    Great post and thanks for all the hard work on the factory (I’ve been looking forward to it).

    Building a service agent – Could you please collaborate with the Website factory team on this one please.  

    Anything on exception shielding and validation would also be a plus as well as hol on authorization/authentication.

    Thanks,

    John

  14. andlju says:

    Hi Don,

    When creating a Message Contract in the WCF solution, the wizard only allows me to create Request messages. Is this by design? Am I supposed to always return a Data Contract type from the service interface?

    Cheers,

    Anders

  15. Previous posts in this series: LEAP Day 1 , LEAP Day 2 Day 3 On the third and last day with sessions,

  16. LockSmithDon says:

    James, thanks. And yes, I’m sure I have those emails. I’ll be sure to look ’em up.

    John, yes. We will absolutely coordinate with the Web Client Software Factory team for this.

    Anders, the "Create Message Contract" recipe doesn’t decide which way the message will go. You should use this recipe to create both request and response messages. This is a little different than the associated recipe in the ASMX guidance package that can create both at the same time. I can’t remember why we changed it … hmmm … that’s imbarassing 🙂

    Thanks for all the links and trackbacks everyone!

  17. Yazid Arezki says:

    Where is the link for the labs hands on?

    TIA

    Yaz

  18. The patterns & practices team has been really busy lately delivering quality software. Check out

  19. Anton says:

    I really love this. Excellent work Don and team. Where can I get some documentation detailing all the patterns used in the Service Factory? I guess most is from the Service Patterns but Don you mentioned some additional patterns used in one of your videos.

  20. LockSmithDon says:

    Thanks Anton! Have a look in the documentation. I know we list a number of patterns (at varying levels) that we adhere to.

  21. Loosing of performance on Service Layer Category WCF The architecture one modern application in this

  22. Sam Gentile says:

    More awesome news today on something we use on our project and I really love from Christian : It is here

  23. As with all conferences you tend to flag part way through, you start to think of the flight home and