Etch (protocol)

Last updated
Apache Etch
Developer(s) Apache Software Foundation
Stable release
1.4.0 / August 6, 2014;9 years ago (2014-08-06)
Repository
Type remote procedure call framework
License Apache License 2.0
Website etch.apache.org

Etch was an open-source, cross-platform framework for building network services, first announced in May 2008 by Cisco Systems. [1] Etch encompasses a service description language, a compiler, and a number of language bindings. It is intended to supplement SOAP and CORBA as methods of communicating between networked pieces of software, especially where there is an emphasis on portability, transport independence, small size, and high performance. Etch was designed to be incorporated into existing applications and systems, enabling a transition to a service-oriented architecture. It was derived from work on the Cisco Unified Application Environment, the product acquired by Cisco as part of the Metreos acquisition.

Contents

History

The mid-2008 release was planned to supported Java and C#. A second wave of support was supposed to include Ruby, Python, JavaScript, and C. [1]

In July 2008, Etch was released under the Apache 2.0 license.

As part of the open source process, Etch was submitted to the Apache Incubator to be accepted as a new podling. [2] On August 25, 2008, the formal vote was proposed [3] and was eventually passed. In September 2008 Etch entered the start-up phase within the Apache Incubator.

Cisco announced the Unified Application Environment had its "end of life" on February 8, 2012. [4]

In January 2013, Etch has become an Apache top-level project. [5]

Etch was marked as a "retired" project in December 2016. [6] No replacement project has been announced or specified.

See also

Related Research Articles

In distributed computing, a remote procedure call (RPC) is when a computer program causes a procedure (subroutine) to execute in a different address space, which is written as if it were a normal (local) procedure call, without the programmer explicitly writing the details for the remote interaction. That is, the programmer writes essentially the same code whether the subroutine is local to the executing program, or remote. This is a form of client–server interaction, typically implemented via a request–response message-passing system. In the object-oriented programming paradigm, RPCs are represented by remote method invocation (RMI). The RPC model implies a level of location transparency, namely that calling procedures are largely the same whether they are local or remote, but usually, they are not identical, so local calls can be distinguished from remote calls. Remote calls are usually orders of magnitude slower and less reliable than local calls, so distinguishing them is important.

<span class="mw-page-title-main">Interface description language</span> Computer language used to describe a software components interface

An interface description language or interface definition language (IDL) is a generic term for a language that lets a program or object written in one language communicate with another program written in an unknown language. IDLs are usually used to describe data types and interfaces in a language-independent way, for example, between those written in C++ and those written in Java.

<span class="mw-page-title-main">NetBeans</span> Integrated development environment software for software development

NetBeans is an integrated development environment (IDE) for Java. NetBeans allows applications to be developed from a set of modular software components called modules. NetBeans runs on Windows, macOS, Linux and Solaris. In addition to Java development, it has extensions for other languages like PHP, C, C++, HTML5, and JavaScript. Applications based on NetBeans, including the NetBeans IDE, can be extended by third party developers.

Web Services for Remote Portlets (WSRP) is an OASIS-approved network protocol standard designed for communications with remote portlets.

BeanShell is a small, free, embeddable Java source interpreter with object scripting language features, written in Java. It runs in the Java Runtime Environment (JRE), dynamically executes standard Java syntax and extends it with common scripting conveniences such as loose types, commands, and method closures, like those in Perl and JavaScript.

<span class="mw-page-title-main">Apache Geronimo</span> Open-source web application server

Apache Geronimo is an open source application server developed by the Apache Software Foundation and distributed under the Apache license.

Apache Harmony is a retired open source, free Java implementation, developed by the Apache Software Foundation. It was announced in early May 2005 and on October 25, 2006, the board of directors voted to make Apache Harmony a top-level project. The Harmony project achieved 99% completeness for J2SE 5.0, and 97% for Java SE 6. The Android operating system has historically been a major user of Harmony, although since Android Nougat it increasingly relies on OpenJDK libraries.

The Internet Communications Engine, or Ice, is an open-source RPC framework developed by ZeroC. It provides SDKs for C++, C#, Java, JavaScript, MATLAB, Objective-C, PHP, Python, Ruby and Swift, and can run on various operating systems, including Linux, Windows, macOS, iOS and Android.

Apache Derby is a relational database management system (RDBMS) developed by the Apache Software Foundation that can be embedded in Java programs and used for online transaction processing. It has a 3.5 MB disk-space footprint.

The Advanced Message Queuing Protocol (AMQP) is an open standard application layer protocol for message-oriented middleware. The defining features of AMQP are message orientation, queuing, routing, reliability and security.

OPC Unified Architecture is a cross-platform, open-source, IEC62541 standard for data exchange from sensors to cloud applications developed by the OPC Foundation. Distinguishing characteristics are:

<span class="mw-page-title-main">Apache Jena</span> Open source semantic web framework for Java

Apache Jena is an open source Semantic Web framework for Java. It provides an API to extract data from and write to RDF graphs. The graphs are represented as an abstract "model". A model can be sourced with data from files, databases, URLs or a combination of these. A model can also be queried through SPARQL 1.1.

Apache Tuscany was an open-source software project for developing and running software applications using a service-oriented architecture (SOA).

<span class="mw-page-title-main">Apache Sling</span> Java web framework

Apache Sling is an open source Web framework for the Java platform designed to create content-centric applications on top of a JSR-170-compliant content repository such as Apache Jackrabbit. Apache Sling allows developers to deploy their application components as OSGi bundles or as scripts and templates in the content repository. Supported scripting languages are JSP, server-side JavaScript, Ruby, Velocity. The goal of Apache Sling is to expose content in the content repository as HTTP resources, fostering a RESTful style of application architecture.

<span class="mw-page-title-main">Google Wave</span> Software framework for real-time collaborative editing online

Google Wave, later known as Apache Wave, is a discontinued software framework for real-time collaborative online editing. Originally developed by Google and announced on May 28, 2009, it was renamed to Apache Wave when the project was adopted by the Apache Software Foundation as an incubator project in 2010.

<span class="mw-page-title-main">Apache ActiveMQ</span> Software message broker

Apache ActiveMQ is an open source message broker written in Java together with a full Java Message Service (JMS) client. It provides "Enterprise Features" which in this case means fostering the communication from more than one client or server. Supported clients include Java via JMS 1.1 as well as several other "cross language" clients. The communication is managed with features such as computer clustering and ability to use any database as a JMS persistence provider besides virtual memory, cache, and journal persistency.

<span class="mw-page-title-main">Apache Stanbol</span>

Apache Stanbol is an open source modular software stack and reusable set of components for semantic content management. Apache Stanbol components are meant to be accessed over RESTful interfaces to provide semantic services for content management. Thus, one application is to extend traditional content management systems with semantic services.

Apache Kafka is a distributed event store and stream-processing platform. It is an open-source system developed by the Apache Software Foundation written in Java and Scala. The project aims to provide a unified, high-throughput, low-latency platform for handling real-time data feeds. Kafka can connect to external systems via Kafka Connect, and provides the Kafka Streams libraries for stream processing applications. Kafka uses a binary TCP-based protocol that is optimized for efficiency and relies on a "message set" abstraction that naturally groups messages together to reduce the overhead of the network roundtrip. This "leads to larger network packets, larger sequential disk operations, contiguous memory blocks [...] which allows Kafka to turn a bursty stream of random message writes into linear writes."

<span class="mw-page-title-main">SNAMP</span>

SNAMP is an open-source, cross-platform software platform for telemetry, tracing and elasticity management of distributed applications.

References

  1. 1 2 James Turner (May 22, 2008). "Cisco Systems' New Client/Server Messaging Protocol Announced". CIO Magazine. Archived from the original on August 28, 2008. Retrieved July 17, 2013.
  2. Proposal to accept Etch into the Apache Incubator
  3. Apache Incubator vote thread
  4. "Cisco Unified Application Environment". Archived from the original on June 5, 2013. Retrieved July 17, 2013.
  5. "Apache Board just decided: Etch is becoming an Apache TLP".
  6. "Apache Etch has been retired".