OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help



   Re: [xml-dev] Hook Stuff Together

[ Lists Home | Date Index | Thread Index ]

Micah Dubinko wrote:
> HST. I like that. I still find it hard to believe that all the complexity of
> SOAP+WSDL+UDDI (or pick any other acronyms from the list [1]) is a net
> benefit. Or a Net benefit.

How about XForms? ;)

Standards are like social programs. People always want to fewer of them
until they want one more.

> 1. Define a layered system, where the simple cases really are simple

The simple cases really are simple. You can use XML-RPC. Or even better,

 * http://www.focusresearch.com/gregor/sw/XPC/XPC-0.2.html

Or just HTTP.

> 2. Defend the complexity they introduce; explain the phenomenal benefits
> that more than offset the complexity

Every feature exists because somebody asked for it. That person will
scream that the benefits are phenomenonal. Exactly like public programs.
I don't think there is any easy way to separate the wheat from the
chaff. Sometimes really smart people totally misunderstand the
cost/benefit ratio of a feature.

I'm not saying that complexity is not a problem. I'm saying that I don't
know of a systematic way to reduce it other than "being vigilante." Once
you figure out the right amount of complexity you can apply that
algorithm to governments and we'll all pay the "right" amount of taxes
for the "right" set of social programs. Slowing down helps, because
people get experience before standardizing. But industry screams when
things slow down because they have to ship product.

> 3. Work with vendors to produce useful tools for "hooking stuff together"
> with XML (including "low-tech" methods like XMLchucker or XMLbaton)

I don't understand how much easier you expect things to get. You don't
need any new standards to do XMLChucker or XMLBaton. Here's a rough
start to my "xmlchucker.py". Finishing it (checking error conditions,
adding FTP support, etc.) would take about an hour:

import urllib, httplib, urlparse
from xml.dom import minidom

def fetch(uri):
    return minidom.parse(urllib.urlopen(uri)) 
    # todo, add streaming support...three lines

def chuck(uri, xml):
    scheme, location, path = urlparse.urlparse(uri)[0:3]
    if scheme=="http":
        conn = httplib.HTTPConnection(location)
        conn.request("PUT", path, xml, {"Content-type": "text/xml"})
    elif scheme=="ftp":
        pass # todo
    elif scheme=="file":
        pass # todo

def remove(uri)
    scheme, location, path = urlparse.urlparse(uri)[0:3]
    if scheme=="http":
        conn = httplib.HTTPConnection(location)
        conn.request("DELETE", path)
    elif scheme=="ftp":
        pass # todo
    elif scheme=="file":
        pass # todo

def fetch_and_remove(uri):
    dom = fetch(uri)
    return dom

def test():
    print fetch("http://www.constantrevolution.com/content.xml";)

Maybe you had more in mind for XMLChucker and XMLBaton but it seems to
me that they are already trivially solved by the widely deployed specs
we have today. Giving them formal names and specifications just confuses
the specification landscape further, in my opinion.

Or maybe XMLChucker is supposed to be a streaming XML where events are
XML elements, rather than full documents. In that case you could juse
use Jabber, which uses exactly that model.

 Paul Prescod


News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS