Welcome to Windows Communication Foundation (WCF)
Top Tasks :

WCF Team Bloggers

Browse by Tags

All Tags » Indigo AKA WCF;Web Services/XML;Workflow   (RSS)
Sorry, but there are no more tags available to filter with.

  • VS2008 and .NET 3.5 SP1 Enhancements for Service Developers

    Today we released the betas for VS2008 sp1 and .NET 3.5 sp1. Scott did a good job (as usual :-)) running through the top-level enhancements, so I won't parrot it all here.. but I'd like to go through the next level of detail on what new goodies we have for service developers. The most interesting/exciting feature for service developers is what we call Data Services (previously known as "Astoria"). The best way to explain how Data Services fits into the overall "services platform" that .NET provides is through a picture: As a service developer, .NET offers me a layered stack - if I want to write "to the metal", I can build a service on top of System.Net and HttpListener (which is a managed wrapper on top of HTTP.SYS - our kernel HTTP driver). Not many people end up doing that, because there are lots of good pieces that we've already written for you.. WCF provides the next layer. WCF gives you some modular pieces, such as channels (HTTP, TCP, MSMQ, etc); Serialization, which is a fancy word for pouring objects into a serialized formats such as XML, binary, JSON, and deserializing back into objects; and what we call "Syndication", which are some classes that support various data publishing microformats such as RSS and ATOM. Finally, we have a layer called Service Model that ties all of this stuff together in a coherent, approachable programming model. WCF is a powerful but general framework, so the next layer up consists of particular scenarios that we wanted to significantly simplify. I think of two canonical scenarios for writing services: "resource-oriented" services, where you model your service as a bunch of resources and offer request/response, HTTP-based access to those resources; and "operation-oriented" services, where you want to create a new "operation" that wraps a more involved operation that often has to coordinate state changes across multiple resources. Operation-oriented services become more attractive the more asynchrony you need in your service implementation.. the canonical example is "book a trip" which in turn composes other asynchronous services, such as "book the airfare", "book the hotel", etc. We realized that most operation-oriented services are actually most easily modeled as workflows.. and that's why we invested heavily in .NET 3.5 in Workflow Services, which is a pretty deep integration between WCF and Workflow. Resource-oriented services became easier to write in .NET 3.5 via our REST support that we added to WCF. But we thought Read More...
  • .NET Framework 3.5 Beta1 is Live on the Web

    Last week we posted beta1 of Visual Studio "Orcas", which turns out to be a big release for the Connected Framework team. A few days ago we also posted a "standalone" version of the corresponding beta1 release of the .NET Framework 3.5, which is the framework that ships with Orcas. While the .NET Framework has a bunch of new interesting features, like LINQ support and integration of ASP.NET AJAX into the framework, we feel especially proud of the work we've done in our areas of responsibility - WCF and WF. Tools VS Orcas now has a decent Add Service Reference dialog, there are a few new project and item templates that get you started, and there's an "Auto-Host" for self-hosted WCF services (kind of like Cassini is for Websites - you can create a service using a template, hit F5, and the service just runs - without having to write a host for it). In beta2 we are also going to deliver a "Test Form" - which launches when you hit F5 on a service, so that you can interrogate it for its contract and endpoints, and invoke operations on those endpoints, without having to write a custom client. WCF/WF Integration Lots of our customers tell us they use these two technologies together, and they have to write a bunch of glue code to do that. It turns out that we purposefully avoided having either technology take a dependency on the other back in the .NET FX 3.0 days, to reduce risk to either project. But for 3.5, we've done some really nice things.. Durable Services : we greatly enhanced our duplex / async messaging story by offering the ability to create long-running "durable" services - i.e. services where you have some long-running process and you want to have a programming model where you can rely on your previous state getting reconstituted when processing messages. The canonical example is a shopping cart - each user represents a "conversation" and each of the interactions with the shopping cart service is routed to the proper service instance. And given that we already had a continuation runtime with WF, where program state can be durably "freeze-dried" between interactions and then "thawed out" when the next operation is invoked, we have a nice framework for reliably and efficiently implementing long-running processes. And the coolest thing is that we were able to implement all this by using "standard" extensibility points in WCF - a set of behaviors to allow dispatching into an active workflow, and a "context channel" that can carry a cookie that helps the dispatcher Read More...

Copyright © 2006 Microsoft Corporation. All Rights Reserved. | Terms of Use | Privacy Statement | Contact Us