CARVIEW |
Select Language
HTTP/2 200
date: Thu, 09 Oct 2025 04:46:00 GMT
content-type: text/html; charset=iso-8859-1
content-encoding: gzip
last-modified: Fri, 13 Jun 2003 15:37:13 GMT
cache-control: max-age=21600
expires: Thu, 09 Oct 2025 10:45:59 GMT
vary: Accept-Encoding
x-backend: www-mirrors
x-request-id: 98bb3b504f3d9ac4
strict-transport-security: max-age=15552000; includeSubdomains; preload
content-security-policy: frame-ancestors 'self' https://cms.w3.org/ https://cms-dev.w3.org/; upgrade-insecure-requests
cf-cache-status: BYPASS
set-cookie: __cf_bm=E694ScRdFhTKiJfL7bKEircnGVUI.q8waseg6fHd7zs-1759985160-1.0.1.1-9Ci9Aa5DI88eberVItPlKaXFG_8gQ_VdZbx8Oy0qkqiBKoMRK3f_VhjUc3Su1Zr_8O8A_7zdfc33JffftB_MWCQVuiOv2WuI8NFGNILrSJM; path=/; expires=Thu, 09-Oct-25 05:16:00 GMT; domain=.w3.org; HttpOnly; Secure; SameSite=None
server: cloudflare
cf-ray: 98bb3b504f3d9ac4-BLR
alt-svc: h3=":443"; ma=86400
XML Protocol Comparisons
Eric Prud'hommeaux,
but please post comments to
xml-dist-app@w3.org
@(#) $Id: 29-XML-protocol-matrix.html,v 1.41 2003/06/13 15:37:12 eric Exp $
XML Protocol Comparisons
The purpose of this document is to compare and contrast a variety of XML
protocols. It will probably take a while to flesh out the form and content.
Viewers are invited to comment and contribute. The forum for discussing this
page and the data within is xml-dist-app@w3.org. The list and archives are
open, you may join xml-dist-app by sending mailto xml-dist-app-request@w3.org with
the Subject: subscribe
.
Since this document was created in March 2000, W3C chartered the XML Protocol Working Group whose task is to produce a simple XML-based messaging and remote procedure call protocol.
XML syntax | ||||||||
---|---|---|---|---|---|---|---|---|
Protocol | Organization | Architects | Status | ns | schema | DTD | Facets | Example |
generic XML protocols | provide a mechanism to represent arbitrary data. | |||||||
XML-RPC | Userland | Dave
Winer (userland), Bob Atkinson (microsoft), Mohsen Al-Ghosein (microsoft), Don Box (developmentor) |
deployed | 0 | 0 | 1? | [in a POST parameter] <methodCall> <methodName>examples.getStateName</methodName> <params> <param> <value><i4>41</i4></value> </param> </params> </methodCall> |
|
SOAP (mailing list) |
Ariba, Inc. Commerce One, Inc. Compaq Computer Corporation DevelopMentor, Inc. Hewlett Packard Company International Business Machines Corporation IONA Technologies Lotus Development Corporation Microsoft Corporation SAP AG UserLand Software Inc. |
Don Box, DevelopMentor David Ehnebuske, IBM Gopal Kakivaya, Microsoft Andrew Layman, Microsoft Noah Mendelsohn, Lotus Development Corp. Henrik Frystyk Nielsen, Microsoft Satish Thatte, Microsoft Dave Winer, UserLand Software, Inc. |
coded W3C NOTE |
2 | 2 | 0 | <SOAP-ENV:Envelope xmlns:SOAP-ENV="https://schemas.xmlsoap.org/soap/envelope/" SOAP-ENV:encodingStyle="https://schemas.xmlsoap.org/soap/encoding/"/> <SOAP-ENV:Body> <e:Book> <title>My Life and Work</title> <firstauthor href="#Person-1"/> <secondauthor href="#Person-2"/> </e:Book> <e:Person id="Person-1"> <name>Henry Ford</name> <address xsi:type="m:Electronic-address"> <email>mailto:henryford@hotmail.com</email> <web>https://www.henryford.com</web> </address> </e:Person> <e:Person id="Person-2"> <name>Samuel Crowther</name> <address xsi:type="n:Street-address"> <street>Martin Luther King Rd</street> <city>Raleigh</city> <state>North Carolina</state> </address> </e:Person> </SOAP-ENV:Body> </SOAP-ENV:Envelope> |
|
WDDX | Allaire | Simeon Simeonov (Allaire), Nate Weiss (independent/JavaScript), Spike Washburn (Allaire/Java), Rasmus Lerdorf (PHP3), Scott Guelich (Scripted.com/Perl) |
deployed | 0 | 0 | 1 | <?xml version='1.0'?> <!DOCTYPE wddxPacket SYSTEM 'wddx_0090.dtd'> <wddxPacket version='0.9'> <header/> <data> <struct> <var name='s'><string>a string</string></var> <var name='a'><array length='2'> <number>10</number> <string>second element</string></array></var> <var name='obj'><struct> <var name='s'><string>a string</string></var> <var name='n'><number>-12.456</number></var> </struct></var> </struct> </data> </wddxPacket> |
|
XMI | Unisys Corporation Fujitsu IBM DSTC Recerca Informatica Oracle Daimler-Benz Platinum Technology |
deployed (Unisys) (ArgoUML exports XMI) |
1 | 0 | 1 | [UML model in an XMI document] <XMI xmi.version="1.1" xmlns:UML="org.omg/standards/UML"> <XMI.header> <XMI.metamodel name="UML" version="1.3" href="UML.xml"/> <XMI.model name="example" version="1" href="example.xml"/> </XMI.header> <XMI.content> <UML:Class name="C1"> <UML:Classifier.feature> <UML:Attribute name="a1" visibility="private"/> </UML:Classifier.feature> </UML:Class> </XMI.content> </XMI> |
||
Jabber | Jabber.org Open Source Project | Jeremie Miller | deployed | 1 | 0 | 1 | not reviewed yet | <stream:stream xmlns:stream="https://etherx.jabber.org/streams" xmlns="jabber:client" to="jabber.org"> <message to="jeremie@jabber.org"> <subject>Test</subject> <body>This is a test message.</body> </message> <presence> <status>Working on Project XYZ</status> <show>away</show> </presence> </stream:stream> |
ebXML | UN/CEFACT oasis |
from a message from Dick Brooks SOAPAction: ebXML Content-type: multipart/related; boundary="BoundarY"; type="text/xml"; start=" <ebxhmheader111@imacompany.com>" --BoundarY Content-ID: <ebxhmheader111@imacompany.com> Content-Type: text/xml; charset="UTF-8" <?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV='https://schemas.xmlsoap.org/soap/envelope/' xmlns:eb='https://www.ebxml.org/namespaces/messageHeader'> <SOAP-ENV:Header> <eb:MessageHeader mustUnderstand="1" version="1.0"> <From> <PartyId>urn:duns:123456789</PartyId> </From> <To> <PartyId>urn:duns:912345678</PartyId> </To> <CPAId>20001209-133003-28572</CPAId> <ConversationId>20001209-133003-28572</ConversationId> <Service type="proprietary">OrderProcessing</Service> <Action>NewXMLOrder</Action> <MessageData> <MessageId>mid:20001209-133003-28572@imacompany.com</MessageId> <TimeStamp>20010215T111212.000Z</TimeStamp> <TimeToLive>20010215T112233.000Z</TimeToLive> </MessageData> <QualityofServiceInfo deliverySemantics="OnceAndOnlyOnce" messageOrderSemantics="NotGuaranteed" deliveryReceiptRequested="None"/> <Description xml:lang="en">A Purchase Order is attached</Description> </MessageHeader> </SOAP-ENV:Header> <SOAP-ENV:Body> <eb:Manifest id="abc123" version="1.0"> <Reference xlink:href="urn:cid:ebxmlpayload111@imacompany.com" xlink:role="XLinkRole" xlink:type="simple" xlink:label="XLinkLabel"> <Description xml:lang="en-us">Purchase Order 1</Description> </Reference> </Manifest> </SOAP-ENV:Body> </SOAP-ENV:Envelope> --BoundarY Content-ID: <ebxmlpayload111@imacompany.com> Content-Type: text/xml <purchase_order> <po_number>1</po_number> <part_number>123</part_number> <price currency="USD">500.00</price> </purchase_order> --BoundarY-- |
||||||
BizTalk June 2000 spec (graph discussion) |
Microsoft | Satish Thatte | ? | 2 | 2 | 0 | SOAPfacets plus: | <SOAP-ENV:Envelope xmlns:SOAP-ENV="https://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="https://www.w3.org/1999/XMLSchema-instance"> <SOAP-ENV:Header> <dlv:delivery SOAP-ENV:mustUnderstand="1" xmlns:dlv="https://schemas.biztalk.org/btf-2-0/delivery" xmlns:agr="https://www.trading-agreements.org/types/"> <dlv:to> <dlv:address xsi:type="agr:department">Book Order Department</dlv:address> </dlv:to> <dlv:from> <dlv:address xsi:type="agr:organization">Booklovers Anonymous</dlv:address> </dlv:from> </dlv:delivery> <prop:properties SOAP-ENV:mustUnderstand="1" xmlns:prop="https://schemas.biztalk.org/btf-2-0/properties"> <prop:identity>uuid:74b9f5d0-33fb-4a81-b02b-5b760641c1d6</prop:identity> <prop:sentAt>2000-05-14T03:00:00+08:00</prop:sentAt> <prop:expiresAt>2000-05-15T04:00:00+08:00</prop:expiresAt> <prop:topic>https://electrocommerce.org/purchase_order/</prop:topic> </prop:properties> </SOAP-ENV:Header> <SOAP-ENV:Body> <po:PurchaseOrder xmlns:po="https://electrocommerce.org/purchase_order/"> <po:Title>Essential BizTalk</po:Title> </po:PurchaseOrder> </SOAP-ENV:Body> </SOAP-ENV:Envelope> |
Wf-XML mailing list |
Workflow Management Coalition | WfMC Working Group 4 | beta spec V 1.0 due mid-April |
0 due?in?1.0 |
0 due?in?1.0 |
1 |
|
<WfMessage Version= 1.0> <WfMessageHeader> <Request><ResponseRequired>Yes</ResponseRequired></Request> <Key>https://www.XYZcompany.com/wfprocess</Key> <Operation>CreateProcessInstance</Operation> </WfMessageHeader> <WfMessageBody> <CreateProcessInstance.Request> <Key>https://www.XYZcompany.com/wfprocess</Key> <ObserverKey>https://www.mycompany.com/mywork</ObserverKey> <ContextData> <Vehicle> <VehicleType>Car</VehicleType> <Specification> <Manufacturer>Mercedes</Manufacturer> <Model>450SL</Model> </Specification> </Vehicle> <Furniture>chair</Furniture> </ContextData> <StartImmediately>Yes</StartImmediately> </CreateProcessInstance.Request> </WfMessageBody> </WfMessage> |
LOTP | not reviewed yet | |||||||
web service-related XML protocols | protocols with a fixed grammar targeting a particular application domain. | |||||||
WSDL | Ariba International Business Machines Corporation Microsoft | Erik Christensen (Microsoft) Francisco Curbera (IBM) Greg Meredith (Microsoft) Sanjiva Weerawarana (IBM) | not reviewed yet | from Web Services Description Language (WSDL) 1.0 You find find the colorized WSDL examples helpful. <?xml version="1.0"?> <definitions name="StockQuote" targetNamespace="https://example.com/stockquote.wsdl" xmlns:tns="https://example.com/stockquote.wsdl" xmlns:xsd1="https://example.com/stockquote.xsd" xmlns:soap="https://schemas.xmlsoap.org/wsdl/soap/" xmlns="https://schemas.xmlsoap.org/wsdl/"> <types> <schema targetNamespace="https://example.com/stockquote.xsd" xmlns="https://www.w3.org/1999/XMLSchema"> <element name="TradePriceRequest"> <complexType> <all> <element name="tickerSymbol" type="string"/> </all> </complexType> </element> <element name="TradePrice"> <complexType> <all> <element name="price" type="float"/> </all> </complexType> </element> </schema> </types> <message name="GetLastTradePriceInput"> <part name="body" element="xsd1:TradePrice"/> </message> <message name="GetLastTradePriceOutput"> <part name="body" element="xsd1:TradePriceResult"/> </message> <portType name="StockQuotePortType"> <operation name="GetLastTradePrice"> <input message="tns:GetLastTradePriceInput"/> <output message="tns:GetLastTradePriceOutput"/> </operation> </portType> <binding name="StockQuoteSoapBinding" type="tns:StockQuotePortType"> <soap:binding style="document" transport="https://schemas.xmlsoap.org/soap/http"/> <operation name="GetLastTradePrice"> <soap:operation soapAction="https://example.com/GetLastTradePrice"/> <input> <soap:body use="literal" namespace="https://example.com/stockquote.xsd" encodingStyle="https://schemas.xmlsoap.org/soap/encoding/"/> </input> <output> <soap:body use="literal" namespace="https://example.com/stockquote.xsd" encodingStyle="https://schemas.xmlsoap.org/soap/encoding/"/> </output> </operation> </binding> <service name="StockQuoteService"> <documentation>My first service</documentation> <port name="StockQuotePort" binding="tns:StockQuoteBinding"> <soap:address location="https://example.com/stockquote"/> </port> </service> </definitions> | ||||
WIDL | webMethods | Phillip Merrick (webMethods) Charles Allen (webMethods) | from 4. WIDL Examples <WIDL NAME="genericShipping" TEMPLATE="Shipping" BASEURL="https://www.shipping.com" VERSION="2.0"> <SERVICE NAME="TrackPackage" METHOD="Get" URL="/cgi-bin/track_package" INPUT="TrackInput" OUTPUT="TrackOutput" /> <BINDING NAME="TrackInput" TYPE="INPUT"> <VARIABLE NAME="TrackingNum" TYPE="String" FORMNAME="trk_num" /> <VARIABLE NAME="DestCountry" TYPE="String" FORMNAME="dest_cntry" /> <VARIABLE NAME="ShipDate" TYPE="String" FORMNAME="ship_date" /> </BINDING> <BINDING NAME="TrackOutput" TYPE="OUTPUT"> <CONDITION TYPE="Failure" REFERENCE="doc.title[0].text" MATCH="Warning Form" REASONREF="doc.p[0].text" /> <CONDITION TYPE="Success" REFERENCE="doc.title[0].text" MATCH="Foobar Airbill:*" REASONREF="doc.p[1].value" /> <VARIABLE NAME="disposition" TYPE="String" REFERENCE="doc.h[3].value" /> <VARIABLE NAME="deliveredOn" TYPE="String" REFERENCE="doc.h[5].value" /> <VARIABLE NAME="deliveredTo" TYPE="String" REFERENCE="doc.h[7].value" /> </BINDING> </WIDL> | |||||
SCL | org1 org2 | name1 (co) name2 (co) | not reviewed yet | [comment] | ||||
UDDI | ARIBA | not reviewed yet | from UDDI Data Structure Reference <element name="businessEntity"> <type content="elementOnly"> <group order="seq"> <element ref="discoveryURLs" minOccurs="0" maxOccurs="1"/> <element ref="name"/> <element ref="description" minOccurs="0" maxOccurs="*"/> <element ref="contacts" minOccurs="0" maxOccurs="1"/> <element ref="businessServices" minOccurs="0" maxOccurs="1"/> <element ref="identifierBag" minOccurs="0" maxOccurs="1"/> <element ref="categoryBag" minOccurs="0" maxOccurs="1"/> </group> <attribute name="businessKey" minOccurs="1" type="string"/> <attribute name="operator" type="string"/> <attribute name="authorizedName" type="string"/> </type> </element> | |||||
DISCO | Microsoft | not reviewed yet | from Draft: Discovery of Web Services (DISCO) <disco:discovery> <disco:discoveryRef ref='folder/discovery'/> <-- elements from other namespaces --> </disco:discovery> <disco:discovery> <scl:contractRef ref='my1.sdl'> <scl:contractRef ref='my2.sdl' docRef='my.htm'> </disco:discovery> <disco:discovery> <schema:schemaRef ref='my1.xsd' targetNamespace='https://my.org/my1.xsd'/> <schema:schemaRef ref='my2.xsd'/> </disco:discovery> | |||||
NASSL | IBM | Francisco Curbera Sanjiva Weerawarana Matthew J. Duftler | not reviewed yet | from NASSL paper <?xml version="1.0"?> <nsl:serviceDef name="StockQuoteService" version="1.0" xmlns:nsl="https://www.ibm.com/namespaces/NASSL" xmlns:sqs="https://www.getquote.com/ns/StockQuote" xmlns:xsd="https://www.w3.org/1999/XMLSchema"> <nsl:types> <nsl:typeDefs typeModel="https://www.w3.org/1999/XMLSchema"> <xsd:schema targetNamespace="https://www.getquote.com/ns/StockQuote"> <xsd:complexType name="stockquote"> <xsd:element name="date" type="xsd:date"/> <xsd:element name="price" type="xsd:float"/> <xsd:element name="change" type="xsd:float"/> <xsd:element name="volume" type="xsd:int"/> </xsd:complexType> </xsd:schema> </nsl:typeDefs> </nsl:types> <nsl:interfaces> <nsl:interfaceDef name="GetQuote"> <nsl:operationDef name="getQuote"> <nsl:type name="sqs:stockquote"/> <nsl:parameters> <nsl:parameterDef name="symbol" direction="IN"> <nsl:type name="xsd:string"/> </nsl:parameterDef> </nsl:parameters> </nsl:operationDef> </nsl:interfaceDef> </nsl:interfaces> <nsl:implementations> <nsl:implementationDef name="HTTP-POST-GetQuotes"> <nsl:implements interface="GetQuote"/> <nsl:access protocol="HTTP-POST"/> </nsl:implementationDef> <nsl:implementationDef name="RPC-SOAP-HTTP-GetQuotes"> <nsl:implements interface="GetQuote"/> <nsl:access protocol="RPC-SOAP-HTTP"/> <nsl:encoding styles="https://schemas.xmlsoap.org/soap/encoding/ https://www.ibm.com/namespaces/xmi"/> <nsl:protocolExtensions> <operationsURI value="urn:StockQuoteService"/> <methodNamespace value=""/> <action value="urn:get-quote-rpc-soap-http"/> </nsl:protocolExtensions> </nsl:implementationDef> </nsl:implementations> <nsl:providers> <nsl:providerDef> <nsl:provides implementation="HTTP-POST-GetQuotes"/> <nsl:endPoint url="https://www.getquote.com/cgi-bin/getquote.pl"/> </nsl:providerDef> <nsl:providerDef> <nsl:provides implementation="RPC-SOAP-HTTP-GetQuotes"/> <nsl:endPoint url="https://www.getquote.com/ibm-soap-1.2/rpcrouter.jsp"/> </nsl:providerDef> </nsl:providers> </nsl:serviceDef> | ||||
domain-specific XML protocols | protocols with a fixed grammar targeting a particular application domain. | |||||||
ICE | GCA | Neil Webber, Vignette
Corporation Conleth O'Connell, Vignette Corporation Bruce Hunt, Adobe Systems, Inc. Rick Levine, Sun Microsystems, Inc. Laird Popkin, Sothebys.com |
deployed | 0 | 0 | 1 | <?xml version="1.0"?> <!DOCTYPE ice-payload SYSTEM "https://www.ice-ag.org/ICE.dtd"> <ice-payload payload-id="1998-07-05T02:02:23@xyz.com" timestamp="02:02:23,449" ice.version="1.0"> <ice-header> <ice-sender sender-id="4af37b30-2c35-11d2-be4a-204c4f4f5020" name="XYZ Corporation" role="subscriber"/> <ice-user-agent>Acme Ray Gun ICE System, V0.9beta</ice-user-agent> </ice-header> <ice-request request-id="1998-07-05T02:02:23@xyz.com-1"> <ice-nop/> </ice-request> </ice-payload> |
|
IOTP | Commerce One | David Burdett | ? | 0 | 0 | 1 | <BrandList ID='M1.2' XML:Lang='us-en' ShortDesc='Purchase book including s&h' PayDirection='Debit' > <Brand ID ='M1.30' BrandId='MasterCard' BrandName='MasterCard Credit' BrandLogoNetLocn='ftp://otplogos.mastercard.com/mastercardcredit' ProtocolAmountRefs='M1.33'> </Brand> <Brand ID ='M.31' BrandId='Visa' BrandName='Visa Credit' BrandLogoNetLocn='ftp://otplogos.visa.com/visacredit' ProtocolAmountRefs='M1.33'> </Brand> <Brand ID ='M1.32' BrandId='AmericanExpress' BrandName='American Express' BrandLogoNetLocn='ftp://otplogos.amex.com' ProtocolAmountRefs ='M1.33' > </Brand > <ProtocolAmount ID ='M1.33' PayProtocolRef='M1.35' CurrencyAmountRefs='M1.34'> </ProtocolAmount> <CurrencyAmount ID ='M1.34' Amount='10.95' CurrCode='USD'/> <PayProtocol ID ='M1.35' ProtocolId='SCCD1.0' ProtocolName='Secure Channel Credit/Debit' PayReqNetLocn='https://www.example.com/etill/sccd1' > </PayProtocol> </BrandList> |
|
eCo | not reviewed yet | |||||||
XMOP | not reviewed yet | |||||||
XIOP (spec) |
Financial Toolsmiths AB | Anders W. Tell (Financial Toolsmiths AB) | Alpha 2Q 2000 | "https://xiop.org/" | 0 due in 1.0 | 0 due in 1.0 | reviewed by Anders
Tell no peer review yet... |
from https://xiop.sourceforge.net/doc/xiop_examples_1_2.html <typecode> <tk_struct repoid="IDL:/TheStruct:1.0" name="TheStruct" members="3"> <tk_struct_member name="first"> <typecode> <!-- first members typecode --> <tk_octet/> </typecode> </tk_struct_member> <tk_struct_member name="next"> <typecode> <tk_long/> </typecode> </tk_struct_member> <tk_struct_member name="last"> <typecode> <tk_string max-length="100"/> </typecode> </tk_struct_member> </tk_struct> </typecode> |
P3P | W3C | Lorrie Cranor
(AT&T), Marc Langheinrich (ETH Zurich), Massimo Marchiori (W3C/MIT), Martin Presler-Marshall (IBM), Joseph Reagle (W3C/MIT) |
deployment status | namespace | schema | dtd | not reviewed yet | from example 3.1 <POLICY xmlns="https://www.w3.org/2000/P3Pv1" discuri="https://www.catalog.example.com/PrivacyPracticeBrowsing.html"> <ENTITY> <DATA-GROUP> <DATA ref="#business.name">CatalogExample</DATA> <DATA ref="#business.contact-info.postal.street.line1">4000 Lincoln Ave.</DATA> <DATA ref="#business.contact-info.telecom.telephonenum.number">3926753</DATA> </DATA-GROUP> </ENTITY> <DISPUTES-GROUP> <DISPUTES resolution-type="independent" service="https://www.PrivacySeal.example.org" short-description="PrivacySeal.example.org"> <REMEDIES><correct/></REMEDIES> <IMG src="https://www.PrivacySeal.example.org/Logo.gif"/> </DISPUTES> </DISPUTES-GROUP> <ACCESS><nonident/></ACCESS> <STATEMENT> <PURPOSE><admin/><develop/></PURPOSE> <RECIPIENT><ours/></RECIPIENT> <RETENTION><stated-purpose/></RETENTION> <DATA-GROUP> <DATA ref="#dynamic.clickstream.server"/> <DATA ref="#dynamic.http.useragent"/> </DATA-GROUP> </STATEMENT> </POLICY> |
CCPP | W3C | Franklin
Reynolds (Nokia Research Center) Johan Hjelm (W3C/Ericsson) Spencer Dawkins (Nortel) Sandeep Singhal (IBM) |
testing | 1 | RDF | 0 | not reviewed yet | [from Inline example] <?xml version="1.0"?> <rdf:RDF xmlns:rdf="https://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:prf="https://www.w3.org/TR/WD-profile-vocabulary#"> <rdf:Description about="HardwarePlatform"> <prf:Defaults Vendor="Nokia" Model="2160" Type="PDA" ScreenSize="800x600x24" CPU="PPC" Keyboard="Yes" Memory="16mB" Bluetooth="YES" Speaker="Yes" /> <prf:Modifications Memory="32mB" /> </rdf:Description> <rdf:Description about="SoftwarePlatform"> <prf:Defaults OS="EPOC1.0" HTMLVersion="4.0" JavaScriptVersion="4.0" WAPVersion="1.0" WMLScript="1.0" /> <prf:Modifications Sound="Off" Images="Off" /> </rdf:Description> <rdf:Description about="EpocEmail1.0"> <prf:Defaults HTMLVersion="4.0" /> </rdf:Description> <rdf:Description about="EpocCalendar1.0"> <prf:Defaults HTMLVersion="4.0" /> </rdf:Description> <rdf:Description about="UserPreferences"> <prf:Defaults Language="English"/> </rdf:Description> </rdf:RDF> |
E-Speak | hp | ??? | deployed? | namespace | schema | dtd | not reviewed yet | [comment] |
transport/transfer protocols | Transport and Transfer protocols designed to carry XML protocol payloads. | |||||||
BXXP app design protocol Note - these are broken links. Try incrementing the numbers at the end of the URL to see where they are now. older HTML version of protocol draft |
- no research on this topic yet - | |||||||
Transaction Internet
Protocol (part deux) |
Microsoft Tandem |
J. Lyon (Microsoft) K. Evans (Tandem) J. Klein (Tandem) |
||||||
HTTP-NG (architecture) |
A layered distributed object system with underlying protocol support. | |||||||
WorldOS | WorldOS Corp. | Lucas Gonze | deployed | 0 | 0 | 0 | <?xml version="1.0" encoding="UTF-8"?> <msg> <protocol> <id>WorldOS</id> <version>0.1</version> <definition>https://www.worldos.org/WorldOS.xml</definition> <checksum>-1</checksum> <function>debug</function> </protocol> <funcdata /> </msg> |
|
non-XML protocols | non-XML protocols that may have some interesting lessons for us. | |||||||
XDR | XDR is Sun's RPC data format. | |||||||
RACE | Global Financial Networks Limited | Charles Kilkenny (Global Financial Networks Limited) | draft | N/A | N/A | N/A | not independently reviewed yet |
Facets
Below is the list of facets I have defined for characterizing these protocols.
- serialization
- format for storing primitive data types (int, char, string),
structures, and matrices
grammar types:- custom
- The XML schema is specific to the application, doesn't (intentionally) share characteristics with other applications. These almost always reflect the application data structure closely.
- automatic
- Generated XML that uses element names derived from application data structures through some type of mapping or rules.
- fixed
- Generated XML that uses fixed element names to serialize application data structures.
- implicit (contextual)
- does not carry detailed data types in the serialization or an external schema
- explicit
- data types with elements or in an external schema
- extensibility
- a mechanism allowing features and functionality to be added beyond what the architects can predict. Some protocols mention extensibility as a requirement without defining the mechanism. Generally, protocols that use namespaces and specify what to do with unknown namespaces get extensibility for free.
- skinnyness
- reduces to a minimal line protocol for communication between non-naive agents. This implies removing all schema information. Pairing this with interface discovery requires sufficient parameter identification that a naive agent may also participate with additional schema information.
- protocol
- definition of requests and responses. This implies state transitions and defined error messages when state transitions fail.
- interface discovery
- machine-readable markup allowing a naive application to access the typed data. Supporting schemas in turn supports interface discovery.
- transactions (ACIDity)
- atomicity and state clarity that allows an action to be partially completed and then undone. (ACID == atomicity, consistency, isolation and durability)
- remote procedure
- The protocol explicitly supports sending requests to a remote system to execute a designated function, method, or procedure defined by an application using the protocol rather than functions defined in or by the protocol itself.
- business process
- modeling of business workflow conventions
- security
- rules on how data should be digitally signed to prove authenticity and authorization of requested actions
- routing
- message forwarding from agent to agent depending on attributes of the message
- packaging
- Construction of multi-document messages including non-XML documents as attachments. Usually includes mechanisms for constructing URI references to packaged documents.