Enduro/X

Italic text

Enduro/X
Developer(s) ATR Baltic
Stable release 2.4.2 / 22 Feb 2016
Development status Active
Written in C, Go
Operating system GNU/Linux
Type Application server Message-oriented middleware Enterprise Messaging System SOA
License GPL v2 or Commercial
Website

Enduro/X is an open source middleware platform for distributed transaction processing. It is built on proven APIs such as X/Open group's XATMI and XA. Platform is designed for building real-time microservices based applications with clusterization option. Enduro/X functions as extended drop-in replacement alternative for Oracle (R) Tuxedo (R). The platform uses in-memory POSIX Kernel queues which insures high interprocess communication throughput.

Services

The platform allows runtime system patching, without service interruption. The system monitors running processes, and restarts them after a crash or hang. System configuration can be dynamically reloaded and it provides a cluster facility, allowing two or more instances to be joined in peer-to-peer manner. Enduro/X is written in C and provides native APIs for C/C++.

Technology

Currently Enduro/X works on GNU/Linux kernels starting from 2.6.12. The most critical Linux feature is epoll() on POSIX queues. This Linux functionality allows true mechanics for one queue - multiple servers, where Enduro/X servers are polling over the queues.

Features

Application Server for Go (ASG)

ASG is bindings project on top of the Enduro/X. Authors considers these binding as application server for go, because Golang projects are linked statically and by default there is no such thing as components. Enduro/X allows to run separate executable binaries, which represents stateless services. These services can be reloaded on the fly without service interruption. Also platform allows to run distributed transaction processing by using Golang. Developers provides modified Oracle DB OCI8 drivers for Go, which supports XA transactions. Enduro/X ASG provides first ever distributed transaction facility for Golang.

Enduro/X-PHP

Full client bindings are available for PHP5. Client PHP processes might compile a loadable module or compile the Enduro/X process inside the PHP. When PHP process is running as client, it must be present in Enduro/X Application environment, that could be done when application is hosted under the same user where PHP app runs (apache or so) or for the PHP user creating a micro environment which further connects to main application server via tpbridge process. Module is available here .

Enduro/X-Perl

Client and server bindings are available for Perl scripting language. Perl module is available here


This article is issued from Wikipedia - version of the Thursday, May 05, 2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.