a little followup

since I didn't see many good news items today (a couple about IBM's DB2 XML features' and its security vulnerabilities), this may be a good time to follow up on the previous post, and conjure up some more commentary on WS & EDI.</p>

I've been working for quite some time now (about 8 months) on an EDI team, that should really be, and is turning into, a B2B team. Until recently, for this group, B2B == EDI. until now, when partners are starting to request XML B2B. So when our customers started talking about XML, that's when people took notice. In researching XML, a choice had to be made to either treat XML like a fancy flat file document format and handle it the same way all of the EDI was handled, or to go 'all-out' on XML, and look at the ways it could improve upon our B2B in ways that EDI could not.

The most obvious benefit of XML is its conduciveness to transport over standard internet protocols like HTTP. Doing everything in XML would mean no more VAN, and no more VAN charges. At the same time, we have to now be able to handle various transports like HTTP, HTTPS, FTP, FTPS, SMTP, AS2, SOAP, etc.

The most obvious drawback of XML is the lack of rigid standards describing and restricting the documents into definite formats. This means that when you start claiming you can do XML, you need to make sure you're in a position to handle DTD, Schemas, Namespaces, and all the associated XML technologies that partners may use with their XML.

(As an amateur economist, I must say that all of the benefits and drawbacks are interchangeable...that is, they are not so much 100% positive, or 100% negative, as they are trade-offs)

Skipping over the details of the other technical differences between EDI and XML, I want to say something about the capabilities of XML B2B systems that EDI systems lack. While EDI messages are highly standardized, every organization we encounter has their own slight modifications they've made to the standard. When humans speak with different dialects in the same language, this is no problem, but when machines encounter any differences in their "communique," things break. So the slight modifications may as well negate whatever automated format establishment you have going with EDI.

XML does nothing differently, except that it embraces flexible message formats. But, with that have come the schema definition standards like DTD and XML Schema. These allow businesses to retain message format validation and definition, but stay flexible to their own messages' requirements. Now the standards are being established by vertical industry standards bodies and are more widely adopted by companies. Which just means more businesses are willing/able to get into B2B.

Up to now, XML B2B has been implemented for predominately the typical B2B activities that EDI handled like Procurement and Remittance thru automated delivery and processing of Invoices, Orders, etc. And I think I've noticed that the standards bodies defining the schemas for these documents are starting to head in the wrong direction. Many are attempting to create schemas for messages that are really not business documents, but more like business properties involved in a B2B process. The danger here is that these standards bodies will attempt to make pseudo distributed systems based solely on the request/response methodology of the more mundane B2B activities. In that sense, they would miss out on processes that could run in parallel, or as flows, or across unkown endpoints using a standardized methodology. I emphasis the last part because all of that could be accomplished by coding into the app by the partners involved, but building complex, cross-industry, large-scale distributed systems would mean getting thousands of partner to agree, and that's not possible when you want to talk about detailed methods for doing business.

Enter Web Services. Using SOAP as a standardized communication package, and its extensions via the WS-* standards (BPEL, WS-Reliabl...), business will be able to coordinate their own processes in the way that suits them, but also expose and describe those processes (via WSDL and UDDI) to others, enabling a true architecture of internet-based, wide-scale distributed systems that will let businesses interact with one another in highly complicated business processes.

This is the kind of long-term effect that an XML architecture can give to an enterprise or company. Rather than just wrapping up your data in cute little '<' and '>' characters, you are given an opportunity to standardize your business processes in a way that will let you do new things with your business partners that could never be done before. It's why I'm on the XML/Web Services high.
</div>

lots of good ones

okay, there were many good reads today/yesterday, and I wish I could go into detail about each, but each time I start to write comments about one, I go off to read another and lose my train of thought. so here they all are.

Web Services re:EDI talks about the co-existence of EDI and Web Services as means of doing B2B ecommerce, which is my focus at all times.

WSDJ gives some practical tips on deploying interoperable web services infrastrcuture(s).</p>

idevnews also gives tips for delivering asynchronous web services.

and apparently, more people in the IT industry are gaining knowledge about web services, though I haven't really encountered this.

I also read a good exercise in understanding BPEL, which is swiftly becoming my favorite WS-* specification, even if it is a glorified process-charting language like UML.

WSDJ (a great resource, obviously) has an article on consuming services, talking about RSS as an example of REST-based web services, server-to-server consumption, hybrid client/server apps (like World of Warcraft's UI aspect), and composite applications, which are the most interesting to me.

that's the lot for today. I had some good reads, but like I said, I couldn't keep focused on any particular one long enough to extend on it.
</div>

WS-RetailIndustry

this is a great read about the evolution of web usage up to and including/highlighting web services in the retail industry.

It talks about the benefits to retailers of outsourcing IT solutions (particularly fulfillment systems), and I think web services is something that enables organizations to easily outsource entire IT systems and processes.

I'd suggest everyone who needs some real-world, applicable evidence of the benefits of web services to read it, since most of the time you just hear the generic "we've used web services and they're just great.... .... ....?"

more links

still being skimpy on the discussions, but there are a few items of interest.</p>

Harry Fuecks has PHP predictions for 2005, and even though I agree with his premise to date, I don't like his characterization of SOA. I think PHP developers should seriously consider at least learning about SOA so they know when to apply it, even though it doesn't apply to every app or script, it's the best tool that exists for its purpose.

Web Services are being used to load live data into Excel spreadsheets, DUH!

that's really all I can report now. I did catch up on some other web services and xml news like XLink and such, but none of it really hit my area.
</div>

great OS read

I've only been able to find it in hard-copy from Infoworld, but if someone can find it on the web somewhere, the article is called "Opening up the Code," and it's in the 12.04.2004 issue. Good quotes there from Bruce Perens :</p>

"It [Open Source] is only good for nondifferentiating software, just as buying from Microsoft is only good for nondifferentiating software, because everybody can get either one of those things. Your competitor can have the same stuff as you."

This one hit like a revelation. I've been focused on an open-source project that will primarly be used by developers, and so I've found it hard to see benefits in opening up/giving away the labor (or lack thereof) I put into making development tools so that other developers can make money. But when looking at it from the proper perspective - the customer's, Perens has hit on what I now see has been the biggest power behind the open-source movement. He sums it up nicely with:

"...they [companies] can spend less in a cost center for nondifferentiating software than they otherwise would, and then they can take some of their software budget and move it over to the differentiators..."

I've also heard the phrase, "commoditization of the software stack." and that struck with me while reading this article. it really does make all the sense in the world for customers to use open-source software where they can. and the most valuable services will be those of analyzing a companies systems and advising when to apply OS, when to do in-house, and when to buy proprietary.

in developing for developers, as I'd like to do, it's hard to be compensated for your work by developers who are used to getting their tools for free. from what I can tell, the common approaches to this are either dual-licensing strategies (MySQL), where you make the development tool, offer it under GPL, and under a more commercial-friendly paid license that will be paid by commercial production-level developers, or keeping it completely GPL and getting the OS community to support the development of the tool, making it much less expensive to develop.

I'd prefer the latter approach, but no-one else seems all that interested in php web services. if you or someone you love is suffering from lack of things to do, contact me immediately.
</div>

Home / groovecoder by groovecoder is licensed under a Creative Commons Attribution-ShareAlike CC BY-SA
Home / groovecoder by is licensed under a Creative Commons Attribution-ShareAlike CC BY-SA