Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
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.346 Aufrufe

Veröffentlicht am

  • Als Erste(r) kommentieren

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

×