ECML - Electronic Commerce Modeling Language
Einkaufen im Internet ist kein Paradies. Abgesehen von Sicherheitsbedenken, nimmt uns ein weiterer Umstand den Spaß: Immer wieder neue Formulare wollen mit immer wieder den selben Daten gefüllt werden. Diesem Problem stellt sich eine Allianz mehrerer Unternehmen. Wer kennt das nicht, da will man Online einkaufen, füllt brav alle Formularfelder aus und drückt auf den Button "Absenden". Unglücklicherweise erhält man eine Fehlermeldung, da beim Feld "E-Mail" der Punkt vor der Top-Level-Domain vergessen wurde. Also noch einmal von vorn: Name, Vorname, Kreditkartennummer und so weiter ... Diesem Hindernis beizukommen, wurde ein Schema entwickelt, dass eine gewisse Vereinheitlichung gängiger Bestellformulare zur Folge hat. Damit wird es möglich, das Ausfüllen der Felder über Softwarelösungen zu automatisieren. So genannte "elektronische Brieftaschen" (digital wallets) sorgen dafür, dass nur die wichtigen, gewollten und richtigen Informationen an den Händler übertragen werden. Einmal gemachte Angaben werden gespeichert und beim der nächsten Begegnung mit einem ECML konformen Formular per "Knopfdruck" an die entsprechenden Felder übergeben. Die aktuelle Spezifikation ECML 1.1 (RFC 3106) legt zahlreiche Felder fest, die genutzt werden können. Verantwortlich für diese Initiative sind: AOL, American Express, Brodia, Compaq, CyberCash, Discover, Financial Services Technology Consortium, IBM, MasterCard, Microsoft, Novell, SETCo, Sun Microsystems, Trintech, und Visa, kurz ECML-ORG. Feld | NAME | min. Anzahl der Zeichen | ship to title | Ecom_ShipTo_Postal_Name_Prefix | 4 | ship to first name | Ecom_ShipTo_Postal_Name_First | 15 | ship to middle name | Ecom_ShipTo_Postal_Name_Middle | 15 | ship to last name | Ecom_ShipTo_Postal_Name_Last | 15 |
ship to name suffix | Ecom_ShipTo_Postal_Name_Suffix | 4 |
ship to company name | Ecom_ShipTo_Postal_Company | 20 |
ship to street line1 | Ecom_ShipTo_Postal_Street_Line1 | 20 |
ship to street line2 | Ecom_ShipTo_Postal_Street_Line2 | 20 |
ship to street line3 | Ecom_ShipTo_Postal_Street_Line3 | 20 |
ship to city | Ecom_ShipTo_Postal_City | 22 |
ship to state/province | Ecom_ShipTo_Postal_StateProv | 2 |
ship to zip/postal code | Ecom_ShipTo_Postal_PostalCode | 14 |
ship to country | Ecom_ShipTo_Postal_CountryCode | 2 |
ship to phone | Ecom_ShipTo_Telecom_Phone_Number | 10 |
ship to email | Ecom_ShipTo_Online_Email | 40 |
Am Feld StateProv ist die Ausrichtung auf Nordamerika zu erkennen, wo die Bundesstaaten mit zweibuchstabigen Kürzeln zu bezeichnen sind. | |
bill to title |
Ecom_BillTo_Postal_Name_Prefix |
4 |
bill to first name |
Ecom_BillTo_Postal_Name_First |
15 |
bill to middle name |
Ecom_BillTo_Postal_Name_Middle |
15 |
bill to last name |
Ecom_BillTo_Postal_Name_Last |
15 |
bill to name suffix |
Ecom_BillTo_Postal_Name_Suffix |
4 |
bill to company name |
Ecom_BillTo_Postal_Company |
20 |
bill to street line1 |
Ecom_BillTo_Postal_Street_Line1 |
20 |
bill to street line2 |
Ecom_BillTo_Postal_Street_Line2 |
20 |
bill to street line3 |
Ecom_BillTo_Postal_Street_Line3 |
20 |
bill to city |
Ecom_BillTo_Postal_City |
22 |
bill to state/province |
Ecom_BillTo_Postal_StateProv |
2 |
bill to zip/postal code |
Ecom_BillTo_Postal_PostalCode |
14 |
bill to country |
Ecom_BillTo_Postal_CountryCode |
2 |
bill to phone |
Ecom_BillTo_Telecom_Phone_Number |
10 |
bill to email |
Ecom_BillTo_Online_Email |
40 |
|
receipt to title |
Ecom_ReceiptTo_Postal_Name_Prefix |
4 |
receipt to first name |
Ecom_ReceiptTo_Postal_Name_First |
15 |
receipt to middle name |
Ecom_ReceiptTo_Postal_Name_Middle |
15 |
receipt to last name |
Ecom_ReceiptTo_Postal_Name_Last |
15 |
receipt to name suffix |
Ecom_ReceiptTo_Postal_Name_Suffix |
4 |
receipt to company name |
Ecom_ReceiptTo_Postal_Company |
20 |
receipt to street line1 |
Ecom_ReceiptTo_Postal_Street_Line1 |
20 |
receipt to street line2 |
Ecom_ReceiptTo_Postal_Street_Line2 |
20 |
receipt to street line3 |
Ecom_ReceiptTo_Postal_Street_Line3 |
20 |
receipt to city |
Ecom_ReceiptTo_Postal_City |
22 |
receipt to state/province |
Ecom_ReceiptTo_Postal_StateProv |
2 |
receipt to postal code |
Ecom_ReceiptTo_Postal_PostalCode |
14 |
receipt to country |
Ecom_ReceiptTo_Postal_CountryCode |
2 |
receipt to phone |
Ecom_ReceiptTo_Telecom_Phone_Number |
10 |
receipt to email |
Ecom_ReceiptTo_Online_Email |
40 |
|
name on card |
Ecom_Payment_Card_Name |
30 |
card type |
Ecom_Payment_Card_Type |
4 |
card number |
Ecom_Payment_Card_Number |
19 |
card verification value |
Ecom_Payment_Card_Verification |
4 |
card expire date day |
Ecom_Payment_Card_ExpDate_Day |
2 |
card expire date month |
Ecom_Payment_Card_ExpDate_Month |
2 |
card expire date year |
Ecom_Payment_Card_ExpDate_Year |
4 |
card protocols |
Ecom_Payment_Card_Protocol |
20 |
consumer order ID |
Ecom_ConsumerOrderID |
20 |
user ID |
Ecom_User_ID |
40 |
user password |
Ecom_User_Password |
20 |
schema version |
Ecom_SchemaVersion |
30 |
wallet id |
Ecom_WalletID |
40 |
end transaction flag |
Ecom_TransactionComplete |
- |
|
Diese Felder dienen der Kommunikation
zwischen Händler und Käufer. |
merchant home domain |
Ecom_Merchant |
128 |
processor home domain |
Ecom_Processor |
128 |
transaction identifier |
Ecom_Transaction_ID |
128 |
transaction URL inquiry |
Ecom_Transaction_Inquiry |
500 |
transaction amount |
Ecom_Transaction_Amount |
128 |
transaction currency |
Ecom_Transaction_CurrencyCode |
3 |
transaction date |
Ecom_Transaction_Date |
80 |
transaction type |
Ecom_Transaction_Type |
40 |
transaction signature |
Ecom_Transaction_Signature |
160 |
end transaction flag |
Ecom_TransactionComplete |
- |
Die Felder
"Ecom_TransactionComplete" sind versteckte Input-Felder,
die das Ende der Transaktion bezeichnen. |
Das typische Bestellformular eines Internet-Shops könnte so aussehen:
<html>
<head>
<title> ECML Beispiel </title>
</head>
<body>
<form action="http://ecml.server.de"
method="POST">
<h2>Geben Sie hier die Karteninformationen ein.</h2>
Der Name auf der Karte:
<input type="text" name="Ecom_Payment_Card_Name"
size=40><br>
Die Kartennummer: <input type="text" name="Ecom_Payment_Card_Number"
size=19><br>
Gültig bis Ende: <input type="text" name="Ecom_Payment_Card_ExpDate_Month"
size=2><br>
<input type="text" name="Ecom_Payment_Card_ExpDate_Year"
size=4><br>
<input type="hidden" name="Ecom_Payment_Card_Protocol"><br>
<input type="hidden" name="Ecom_SchemaVersion"
value="http://www.ecml.org/version/1.0"><br>
<input type="submit" value="submit">
<input type="reset">
</form>
</body>
</html>
ECML soll kein Ersatz für bereits bestehende Lösungen, wie SET,
XML oder das sichere
Übertragungsprotokoll SSL
sein. Gerade was die Übertragung der Daten angeht, ist und kann ECML kein
Ersatz sein.
Die Zukunft und Probleme
Es stellt sich die Frage, wo und wie diese Daten gespeichert werden.
Mehrbenutzersyteme bergen größere Risiken als der heimische PC. Ob und
wann es eine große Anzahl von Schopbetreibern geben könnte, die dem
ECML-Standard folgen, bleibt abzuwarten. Zur Zeit wird ECML von
Yahoo-Store, beyond.com, Dell Computer, fashionmall.com, healthshop.com,
Nordstrom.com, Omaha Steaks, Reel.com, 1-800-Batteries und
weiteren genutzt.
Artikel, die Sie auch interessieren könnten:
Rubrik: Programmierung
Große oder dynamische Web-Sites sind ohne PHP, CGI, SSI oder Phyton nicht
zu denken... Wir helfen Ihnen dabei.
|