Wednesday, February 27, 2002

Sam is blogging the WSDL Interop event.

Now, so am I. All kinds of interesting discussions so far.

Sunday, February 24, 2002

I disagree with some of Paul Prescod's notions about XML and Web services. In particular, I'm not sure how much of REST applies to the "real" Web. In fairness though, I have to say that I haven't completely made up my mind on this.

On one notion though, I am in complete agreement: SOAP Encoding and SOAP RPC are hard for interop.

Also, he says that optional features in a spec are bad, because of interop. Again, I agree completely. A good spec says MUST or MUST NOT. MAY and SHOULD are usually compromises that do nothing for interop. There are exceptions to this rule, but not many.

Interop = mandatory features.

Well, it's been a budy week. Tomorrow, I fly out to Boston to prep for the WSDL interop event.

Don Box bet me that I wouldn't keep my blog up that long. And I have to admit that I'm not that regular at posting. But, it's still happening baby! I plan to keep posting at least once a week or so. Some weeks I hope to post everyday. We'll see.

Sunday, February 17, 2002

Been a busy week! I'll write more later. In the meantime, two very interesting articles.

Tuesday, February 12, 2002

Simon has DIME working!

What is WS-I?

I think a lot of people are trying to figure out what this organization is about, and how it differs from the W3C, SOAPBuilders, and apple pie.

I don't have any answers yet.

Saturday, February 09, 2002

Well, tonight I'm working on asynchronous messaging. Mostly I writing about WS-Routing (use to be called SOAP-RP) and WS-Referral.

Fun.

Friday, February 08, 2002

I did a chat yesterday on MSDN about Web services interop. Simon Fell had some tough questions! When the transcript is up. I'll link to it.

In the meantime check out this chat.

Simon just made used the .NET WSDL engine for a nicely integrated solution with Radio.

WSDL is love.

PS I'm hoping that we'll get that content-type problem fixed is our next release. In the meantime, download the WSDL locally and all is goodness.

Don Box on the Importance of Being WSDL.

Lot of people love this. Lot of people don't. I love it. Not surprising, since I'm on the WSDL Working Group at the W3C, and I own Microsoft's premier WSDL engine: System.Web.Services.Description and wsdl.exe in the .NET Framework.

Tuesday, February 05, 2002

Tonight I've been working on my book's last chapter. Not that I'm to that point, but I thought it would be good to get a stake in the ground. The chapter is called The Future of Web Services. I want to discuss topics that go beyond the current GXA roadmap, and delve into more far reaching territory: like brokering and the advent of Web services aimed at the consumer.

What do you think should be in this chapter? What is the future of Web services? One Year from now? Three years? Ten years? Let me know.

James disagrees with my feelings on using UDDI for transport-agnostic rollover: "Sure, if it wasn't for the total lack of reliability, security, and less than stellar performance. IMHO, UDDI is too fat for serious runtime fail over. I mean think about it, if you're a manufacturer and you need to order some parts for immediate shipment, but you can't get a hold of your favorite supplier, are you going to go trudging around through the yellow pages looking for a replacement or are you going to already have a replacement lined up and programmed into the speed dialer on your phone? It just doesn't make sense to wait until something fails to go out discover a replacement service."

I agree. Using the public UDDI for roll-over doesn't make sense. I mean using UDDI within the enterprise and behind the firewall. Using the public UDDI servers doesn't make sense for performance specific operations.

In general, I think the scenario of using UDDI to find partners to interact with is overblown, or at least years away. I don't think those scenarios warrant UDDI, or any programmatic approach. (Maybe someday in the far, far future.) For my purposes UDDI is for programmatic discovery of specific endpoints that implement specific tModels where you already have an existing relationship - usually behind the firewall, or (in some cases and much more rarely) in established B2B relationships.

Monday, February 04, 2002

Neat - o!

I searched on my name at google, and the first hit back was my blog. Cool. I was hoping that would happen soon.

But then I hit the images tab. And guess what? Pictures! Of me! Creepy, but cool all at once. :-)

Some great pushback from Simon and James on my earlier post about using UDDI for rollover.

It seems to me that the tried and true methods they advocate are great. But, UDDI allows me to find services in a transport agnostic manner (not that UDDI is transport agnostic, but that I can search for other services to take care of my uses that use other transports.)

For instance: my user inputs customer data for my CRM app, and I use a service to send the data. If the server is down, or unavailable, wouldn't using UDDI to find the nearest store-and-forward or caching service be a good idea? This is just off the top of my head. Transport agnostic roll-over seems like a huge win, IMO.

More pushback is welcome.

Sam adds: "Keith Ballenger is starting to document how to write a WSDL. Don't forget to mention wsdl document elements - humans are people too!"

Good point! Consider it added.

BTW, my last name is spelled Ballinger. :-)

Sunday, February 03, 2002

I added a small article tonight. It's from the chapter in my book on WSDL. How to write WSDL.

Feedback appreciated.

What a football game! I was pulling for New England, but just loved the excitement when the Rams tied.

Simon says: "the ASP.NET web services are actually built on top of something called the HTTP pipeline, and there is an ISAPI filter/extension that puts requests into the HTTP pipeline from IIS. Although this is the only thing that ships out of the box, you can write code to host the HTTP pipeline yourself."

This is so true. I've seen at least one example of this that worked with Web services. Basically, you just have to:

1) listen for an incoming request using System.Net.Sockets
2) parse the request enough to create a System.Web.Hosting.SimpleWorkerRequest and then pass that
3) to a created an application host, and then
4) send the response back from the application host

In general though, I would expect to see samples of this you can download. Maybe there already are some out there.

Thankas Sam , Jake, and Simon for the "hello" (and links). As soon as I have time, I'll start adding you and the other blogs I read as well.

Speaking of the indirect conversations that blogs create, I have one wish: that somehow I could notified when someone quotes me, or in some other way refers to my blog. I would hate to come off like a snob because I didn't notice. It isn't so bad for the five to ten blogs I read all the time, but what about someone new who wants to talk?

Well, today I'm writing on discovery for my book. Basically, I'm breaking it up into directory-style discovery using UDDI, and inspection style discovery using WS-Inspection. I'm still trying to wrap my head around all of the use cases for these technologies. Right now, it seems like most people are using DISCO (the precursor to WS-Inspection), but probably unknowingly. I know that adhoc discovery is pretty limited. I also know that UDDI is extremely flexible.

For instance, I would always use UDDI, even within a LAN, for automatic roll-over. How? Well, that's what I'm describing in my book today :-)

Saturday, February 02, 2002

I'll be speaking at the Web Services DevCon this March. The lineup looks fantastic. Check it out.

Lara made homemade veggie chili tonight. It was yummy. So yummy I overate.

I like to make music. Here are some songs I've written and sung (and maybe played a little guitar) on in the past couple years: Always, Prelude, Murphy.

Wow! MSNBC has a misspelled headline!

Dave says: "Keith Ballinger, one of Microsoft's SOAP architects, has a weblog too. Welcome!"

Thanks Dave. Glad to be here.

Looks like Scott needs Web services!

Seriously, micropayments are too expensive with existing technology. Using Web services, I think a general reduction in costs and an increase in competition would result. And, there wouldn't be lock-in with a single service. Web services = interop.

I'm writing a book on Web services. It should be out later this year, most likely in the fall. Let me know what you want me to discuss in it. Currently, I am focusing the book on the senior developer / architect. As a result the book is more theory than code, although I have tons of code in it. It seems like lot's of books are focused on a specific technology, and I certainly am focused on .NET in the book for examples. But I wanted to abstract the concepts when I could.

Looks like Simon is running a poll for the next feature he should implement in pocketSOAP. My vote? Dime!

I think DIME is technically better than MIME for attaching files to SOAP messages. My favorite feature? Chunking :-)

Well, now that I have my own domain name, I thought I would put up a webblog. It seems like Simon, Sam, and Dave are having way too much fun!