rickgaribay.net

Space shuttles aren't built for rocket scientists, they're built for astronauts. The goal isn't the ship, its the moon.
posts - 303, comments - 180, trackbacks - 35

My Links

News

Where's Rick?


AgileAlliance deliver:Agile 2019- 4/29
Desert Code Camp, PHX - 10/11
VS Live Austin, TX - 6/3
VS Live SF - 6/17


About Me
Hands on leader, developer, architect specializing in the design and delivery of distributed systems in lean, agile environments with an emphasis in continuous improvement across people, process and technology. Speaker and published author with 18 years' experience leading the delivery of large and/or complex, high-impact distributed solutions in Retail, Intelligent Transportation, and Gaming & Hospitality.

I'm currently a Principal Engineer at Amazon, within the North America Consumer organization leading our global listings strategy that enable bulk and non-bulk listing experiences for our WW Selling Partners via apps, devices and APIs.

Full bio

Note: All postings on this site are my own and don’t necessarily represent the views of my employer.



Check out my publications on Amazon Kindle!





Archives

Post Categories

Published Works

AZ.NET User Group: Introducing the ABCs of WCF

Thanks to all for coming and especially to Tim for always being a great host and to Lorin for his excellent facilitation- you guys made my job easy.

It was great to see everyone again. We had a blast talking about WCF, going until almost 10:00 pm! And, talk about Christmas in May! What great giveaways we had. Hope everyone enjoys the copies of CoDe Magazine and I look forward to your feedback on the article.


Download: Code

Download: Deck

- - -
I will be presenting at the May 8th AZ.NET User Group meeting. This will be a great primer on WCF as well as a brief introduction to service orientation. I will also have some fantastic free resources on CD from IDesign including samples, labs and best practices for getting started with WCF.
 
Date: Tuesday, May 8th, 6:00 pm to 9:00 pm.
 
 
Topic: Introducing the ABCs of WCF
 
Abstract:
 
This session will provide an introduction to service orientation along with the fundamentals of Windows Communication Foundation (WCF), the new framework for building distributed applications in .NET 3.0. The WCF API unifies ASMX Web Services, .NET Remoting, distributed transactions and messaging into a single programming model that makes true service orientation tenable. (Level 200)
 
 

Print | posted on Wednesday, April 11, 2007 10:01 AM | Filed Under [ Speaking Events ]

Feedback

Gravatar

# re: AZ.NET User Group: Introducing the ABCs of WCF

I'm going to try and make this event tonight. I'm bringing with a couple job descriptions of some WEB Design and application design jobs I have that are pretty hot right now.

Anyone know of any E-Commerce web designers, and junior level .NET developers with Cold Fusion MX 7 version exp?

Thanks,

-Trish
602-912-2806
5/8/2007 2:33 PM |
Gravatar

# re: AZ.NET User Group: Introducing the ABCs of WCF

I did have a couple of questions which I didn't get chance to ask so I thought I'd post them here.

I think you said that the design objectives (achievements?) of DCOM+ were not fully met with ASPX.

Perhaps another way of asking that question is "What were the most important problems that WCF intended to address?" (Perhaps 'most important' in the sense of most important from your point of view, as a real world implementer, so this might exclude things that were missing before, but for which there were already known solutions readily available)

To what extent does WCF bypass the standards process that brought us SOAP?

You asked if anyone had produced a service using SOAP that was successfully consumed first try by a different system.

I can just about answer yes to that question. I use the ebay SOAP interface, and after I got started with VS 2003 I never had a problem (With the original version of Visual Studio it simply wouldn't generate stubs that worked at all)

However, I can't tell you how much trouble eBay had in making sure this would happen, but they are certainly not creating the SOAP interface with .NET

There are two problems that I find with SOAP (as implemented by the wizard in Visual Studio), and I'm not sure that WCF addresses them directly.

The first is Authentication. I know that WCF handles this, but is it done in an agnostic way? i.e. is it, or will it be used by other vendors?

Will I be able to tap into authentication just as simply as I can generate stubs from a WSDL?

The second is network connectivity lapses. I see from your presentation that WCF offers some tools to help this, but these appear to be tools rather than a solution. Again, the question is whether a service on a foreign system (i.e. not windows) will be able to advertise the method it is using to solve intermittent connectivity

Finally, if I could have one wish, it is that Microsoft would do more to make existing tools more robust - and do a little less on developing new tools that almost work.

SOAP would be a case in point. The stubs are great, but when I get an exception in a stub it is not always easy to diagnose the reason. I had no clue how to get a trace of the SOAP messages until eBay introduced me to the Trace Extension, which I now use for logging all SOAP requests and responses.

Thanks again for a very interesting evening.

Robert.
5/10/2007 3:40 PM | Robert Wilkinson
Gravatar

# re: AZ.NET User Group: Introducing the ABCs of WCF

Robert,

Thanks so much for attending the talk and especially for sharing your insightful questions with the community! I'll do my best to address as many of them as possible.

>> "What were the most important problems that WCF intended to address?"
I think if I had to sum it up in one word, it would be complexity.

>> To what extent does WCF bypass the standards process that brought us SOAP?
It does not bypass it at all, but instead fully supports it. For example, basicHttpBinding gives you WS-I Basic Profile support out of the box. Support for other specifications such as WS-Security and WS-Reliability, for example, are provided by appropriate bindings that deliver on specified design goals such as security, transactions and reliability.

>> You asked if anyone had produced a service using SOAP that was successfully consumed first try by a different system. I can just about answer yes to that question.

You are lucky! In all seriousness, it is possible and a company like eBay I am sure ensured adherance to WS-STAR or at least WS-I, but you'd be surprised how many apps just don't get it.

>> Authentication. I know that WCF handles this, but is it done in an agnostic way? i.e. is it, or will it be used by other vendors?
Absolutely. If you are an intranet developer, you will want to continue to leverage Windows (NTLM or Kerberos). For true interoperable scenarios, X509 certificates can be used for message security and you are always free to implement your own security. I recommend this excellent article by Michele Bustamante for more info: http://www.code-magazine.com/Article.aspx?quickid=0611051

>> the question is whether a service on a foreign system (i.e. not windows) will be able to advertise the method it is using to solve intermittent connectivity
Remember that it is both the service's and client's responsibility to support a given design goal based on policy. So, if a client is to consume a transactional service, it must know how to communicate with a durable resource manager and enlist the service in the transaction scope. The short answer is that WCF abstracts much of this but still requires knowledge/understanding on the development and infrastructure end. That said, there are various transaction options available, some of which may not require a DTC or equivelent.

>> when I get an exception in a stub it is not always easy to diagnose the reason
I think that behind the service, all exceptions handling semantics that you are already familiar with apply. Between services, Fault Contracts should be leveraged to provide rich information, while guarding specific detail from the caller. Also, in WCF, you can toggle detailed exception info flow to the client by using the includeExceptionDetailInFaults switch as follows :

<serviceDebug includeExceptionDetailInFaults="true" />

Thanks again for some great questions and if there is anything I can do to help you get started with WCF, let me know!
5/14/2007 9:08 PM | Rick G. Garibay
Comments have been closed on this topic.

Powered by: