BEER Block Extensible Exchange in Rebol What is it? It is a - - PowerPoint PPT Presentation

beer
SMART_READER_LITE
LIVE PREVIEW

BEER Block Extensible Exchange in Rebol What is it? It is a - - PowerPoint PPT Presentation

BEER Block Extensible Exchange in Rebol What is it? It is a framework to implement your own Application Protocols It solves the encapsulation, extensibility and flow control problems It was inspired by IETF RFC 3080 and 3081


slide-1
SLIDE 1

BEER

Block Extensible Exchange in Rebol

slide-2
SLIDE 2

What is it?

  • It is a framework to implement your own

“Application Protocols”

  • It solves the encapsulation, extensibility and

flow control problems

  • It was inspired by IETF RFC 3080 and 3081
  • More importantly it allows for non-blocking

user-interfaces

slide-3
SLIDE 3

What problems does it solve ?

  • Creation of new application protocols using

the same infrastructure, e.g. SMTP , FTP, HTTP solve the same basic problem, but in different ways “The Wheel Reinvented”

  • BEER brings the best of all under one hood.
  • Simple Framing
  • Robust flow control
  • Asynchrony
slide-4
SLIDE 4

Mechanism ESMTP FTP HTTP1.1 BEER Framing Stuffing Blasting Counting Counting with a trailer Encoding 822-style Binary MIME Binary or Dialects Reporting 3-digit 3-digit 3-digit String Asynchrony Pipelining None Pipelining and Chunking Channels Authentication SASL user/pass user/pass Carl challenge Privacy SASL or TLS None TLS (that’s SSL) Rebol cloak Extensibility Some None Some Profiles

slide-5
SLIDE 5

What are Profiles ?

  • They are your “Application Protocol”
  • You can use blocks or parse to define the syntax

and semantics that each channel can use.

  • Which Profiles are we shipping?
  • Channel management
  • FXP - File Transfer Profile
  • MSP - Message Services Profile (aka LNS)
slide-6
SLIDE 6

TCP Session Listener Initiator

FXP on Channel 1 MSP on Channel 2 Management on Channel 0 FXP on Channel 3

slide-7
SLIDE 7

Channel Exchange Types

  • 1:1 MSG / RPY
  • 1:N MSG / ANS + NUL (N can be zero!)
  • 1:1 MSG / ERR

Note:

  • Channels are processed in parallel = asynchrony
  • Exchange are processed serially = pipelining
slide-8
SLIDE 8

Why do we need it ?

  • We want to create many types of applications each with

different problem domains:

  • New terms Initiator and Listener
  • Client-Server (Traditional approach)
  • P2P (anyone can initiate the requests)
  • For example:
  • Network Monitoring Applications
  • Instant Messaging (think AltMe on Steroids)
slide-9
SLIDE 9

What are we doing with it ?

(Rasta Controller Demo)

slide-10
SLIDE 10

What does it mean for the Rebol community ?

  • BEER pushes Rebol limits => Rebol is more robust
  • Uncovered hidden features
  • Identified issues and requested fixes
  • Proposed enhancements
  • Recommending “Idioms”
  • But more importantly BEER is free as in “free beer”

starting today. http://www.whywire.net/share/beer-sdk.tar.gz

slide-11
SLIDE 11

Richard Smolak Jaime Vargas Ladislav Mecir

Who built it ?