start | find | index | login or register | edit
2001-12-07
by earl, 5848 days ago
BTW In future, with REBOL/Core 3.0, we have been told that REBOL will have modules, which should alleviate most of the currently existing namespace issues. - Larry Palmiter on REBOL-L

Edd Dumbill on developerWorks: Bird's-eye BEEP - "While debate continues on reusing HTTP as a convenient way to connect applications, a new protocol called BEEP -- Blocks Extensible Exchange Protocol -- has been standardized by the Internet Engineering Task Force (IETF). Making use of XML itself, BEEP does for Internet protocols what XML has done for documents and data."

Auf developerWorks findet sich auch ein ganz feiner artikel zur XML-nahen "Subelement content vs. tag attributes" debatte.

More on BEEP: auf der offiziellen page finden sich ein paar sehr interessante docs. vor allem BEEP: Building Blocks for Application Protocols - eine praesentation von Marshall Rose die extrem klar und verstaendlich erlaeutert worum es geht.

bevor da jetzt eine ausfuehrliche erlaeuterung kommt, kurze zusammenfassung: sehr interessant. keine ahnung wie muehsam zum implementieren :) (siehe auch beep-ruby und pybeep)

BEEP so wie ich es verstehe :)

BEEP ist im prinzip als transport fuer andre protokolle gedacht. auf der schicht von zB raw TCP, HTTP/SMTP aber auch messaging dingen wie zB Jabber oder IBM's MQSeries (die jetzt irgendwo websphere im namen traegt).

dazu unterscheiden wir zwischen "application protocols" und "exchange protocols". XML-RPC bzw SOAP waeren in diesem modell application protocols. XML-RPC bindet sich an HTTP als exchange protocol.

BEEP is here and wants to be your next exchange protocol. und zwar ein ueberaus universell einsetzbares. wenn man sich obige praesentation durchliest, wird man schnell feststellen, dass die urspruenglichen entwickler verstehen, welche maxime dabei zu verfolgen sind.

BEEP will also "exchange protocol" sein. dazu sieht es im prinzip folgendermassen aus: derzeit gibt es ein binding an TCP - A und B verbinden sich ueber TCP und dann wird ueber diese connection BEEP gefahren. BEEP intern, kennt zwei wesentliche konzepte: channels und profiles.

ueber eine TCP connection, koennen n channels multiplexed werden. ein channel hat ein gewisses profile. ein profile definiert welches "application protocol" ueber diesen channel gesprochen wird. ein profile definiert also die datenstruktur der messages innerhalb eines channels.

wie gesagt, ueber eine connections koennen mehrere channels multiplexed werden. welche profiles dann die einzelnen channels verwenden ist vollkommen egal (brauchen nicht alle das gleiche profile haben). ein channel existiert immer: der channel 0 ueber den das BEEP channel management profile (XML application) gesprochen wird. ueber diesen channel koennen andre channels ins leben erweckt und auch wieder geschlossen werden.

dass ansprechende an beep: das ding kuemmert sich dann um alle restlichen probleme. framing, encoding, reporting (status/error handling), authentication und privacy.

genug for now. lest die praesentation ;)

ah ja, Using SOAP in BEEP - ein soap profile darf natuerlich nicht fehlen ;) man beachte die schlichte eleganz, mit der sich SOAP und BEEP vereinen.
powered by vanilla
echo earlZstrainYat|tr ZY @.
earl.strain.at • esa3 • online for 6125 days • c'est un vanilla site