Apache Etch.Apache EtchGrandy/FitznerBMW Car IT GmbHFeb. 2011Page 1                  Efficient and feature-rich           ...
Apache EtchGrandy/FitznerBMW Car IT GmbH                  Apache Etch.Feb. 2011Page 2            What is Etch?            ...
Apache EtchGrandy/FitznerBMW Car IT GmbH                  Apache Etch.Feb. 2011Page 3            Network Service Descripti...
Apache EtchGrandy/FitznerBMW Car IT GmbH                  Apache Etch.Feb. 2011Page 4            Symmetric two-way communi...
Apache EtchGrandy/FitznerBMW Car IT GmbH                  Apache Etch.Feb. 2011Page 5            Asynchronous one-way Comm...
Apache EtchGrandy/FitznerBMW Car IT GmbH                  Apache Etch.Feb. 2011Page 6            Error handling & user dat...
Apache EtchGrandy/FitznerBMW Car IT GmbH                  Apache Etch.Feb. 2011Page 7            Non-functional aspects.  ...
Apache EtchGrandy/FitznerBMW Car IT GmbH                   Apache Etch.Feb. 2011Page 8             Architecture.          ...
Apache EtchGrandy/FitznerBMW Car IT GmbH                  Apache Etch.Feb. 2011Page 9            Roadmap.                 ...
Apache EtchGrandy/FitznerBMW Car IT GmbH                  Apache Etch.Feb. 2011Page 10           Find out more.           ...
Nächste SlideShare
Wird geladen in …5
×

Apache Etch Introduction @ FOSDEM 2011

19.040 Aufrufe

Veröffentlicht am

0 Kommentare
2 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

Keine Downloads
Aufrufe
Aufrufe insgesamt
19.040
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
3
Aktionen
Geteilt
0
Downloads
87
Kommentare
0
Gefällt mir
2
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Apache Etch Introduction @ FOSDEM 2011

  1. 1. Apache Etch.Apache EtchGrandy/FitznerBMW Car IT GmbHFeb. 2011Page 1 Efficient and feature-rich network services. BMW Car IT GmbH
  2. 2. Apache EtchGrandy/FitznerBMW Car IT GmbH Apache Etch.Feb. 2011Page 2 What is Etch? framework for building network services Key facts: symmetric sychronous, two-way and asynchronous, one-way error handling timing constraints convenient service description fast & efficient scalable: from phones to backend servers modular architecture language & transport independent
  3. 3. Apache EtchGrandy/FitznerBMW Car IT GmbH Apache Etch.Feb. 2011Page 3 Network Service Description. module org.apache.etch.demo service helloworld{ string hello(string msg) } Node Node process spawn thread wait process request terminate thread process
  4. 4. Apache EtchGrandy/FitznerBMW Car IT GmbH Apache Etch.Feb. 2011Page 4 Symmetric two-way communication. service helloworld{ @Direction(server) string hello(string msg) @Direction(client) string askSomething(string question) } Client Server process
  5. 5. Apache EtchGrandy/FitznerBMW Car IT GmbH Apache Etch.Feb. 2011Page 5 Asynchronous one-way Communication. service helloworld{ @Direction(server) @Oneway void hello(string msg) @Direction(client) @Oneway void howdy(string msg) } Client Server process process process asynchronous
  6. 6. Apache EtchGrandy/FitznerBMW Car IT GmbH Apache Etch.Feb. 2011Page 6 Error handling & user data. service helloworld{ struct User ( string name ) exception UserUnknownException ( string message ) @Timeout(500) void hello(User user, string msg) throws UserUnknownException } Node Node
  7. 7. Apache EtchGrandy/FitznerBMW Car IT GmbH Apache Etch.Feb. 2011Page 7 Non-functional aspects. Programming language independent: Bindings are currently available for - Java - C# - C - Google Go (alpha version), Javascript (alpha version) Transport independent: - default transport is TCP using a binary encoding - adding new transports is simple - XML available e.g. for C#,JavaScript binding Tooling: - Wireshark support - basic Maven integration - Eclipse plugins are underway Efficiency (measured on a desktop system): - ~ 40.000 asynchronous one-way calls per second - ~ 15.000 blocking two-way calls per second
  8. 8. Apache EtchGrandy/FitznerBMW Car IT GmbH Apache Etch.Feb. 2011Page 8 Architecture. fully symmetric, flexible protocol stack for client and server Application Application Stub Remote generated Stub Remote DeliveryService call stubs / forward requests DeliveryService Mailbox Mailbox Mailbox MailboxManager manage requests / responses MailboxManager Mailbox Mailbox Mailbox Messagizer serialization Messagizer Packetizer byte[] Packets Packetizer Transport e.g. TCP, SSL Transport Implemented the same way for Java, C#, C, Go
  9. 9. Apache EtchGrandy/FitznerBMW Car IT GmbH Apache Etch.Feb. 2011Page 9 Roadmap. - more transports (e.g. UDP, Serial, ...) - more languages (first steps for JavaScript, Python exist) - naming service - discovery - web service gateway - more security - better IDE support - better maven integration - message routing, broker - ... Where do you want to go?
  10. 10. Apache EtchGrandy/FitznerBMW Car IT GmbH Apache Etch.Feb. 2011Page 10 Find out more. Website www.incubator.apache.org/etch Mailing Lists etch-dev@incubator.apache.org etch-user@incubator.apache.org Contributors: (initial development done @ Cisco) Rene Barrazza, Seth Call, Scott Comer, James DeCocq, James Dixson, Michael Fitzner, Holger Grandy, J.D. Liau, Youngjin Park, Gaurav Sandhir Speaker contact: Holger.Grandy@bmw-carit.de

×