2. Oracle Tuxedo compatibility
● Compatible with Oracle Tuxedo APIs.
● About 80% of Tuxedo APIs support and
compatibility is expanding with each release.
● Supported buffer formats: UBF(FML), STRING,
CARRAY, JSON, VIEW.
● Have two phase commit – tpbegin(),
tpcommit(), etc.
● Tpforward().
3. Oracle Tuxedo compatibility (cont.)
● Cluster Operations.
● Event broker.
● Conversational IPC.
● Persistent Queues.
● Automatic process restarts.
● Processing PINGing and hand process restarts.
● Multi-threading.
4. Advantages over Tuxedo
● Simple runtime configuration reload (XML ubbconfig equivalent).
● Cluster is based peer-to-peer principles. There are no master node –
basically automatic fault recovery in case of partitioning).
● ATMI service polling extensions, allows to consume/multiplex ATMI and
other resource events into single threaded XATMI server.
● ATMI servers can be booted as stand alone executables, meaning that
simple debugging from IDE environments are possible.
● With version 5.3 clients can set tpcall’s timeout individually.
5. Advantages over Tuxedo (cont.)
● Extensive operations logging. The ATMI and UBF/FML sub-system can be configure
separately, to write logs files with different levels starting from debug...fatal.
● Enduro/X exposes it’s own logger for third party use. Logger includes support for
request logging (i.e. transaction by pan traces support).
● Out of the box client process management, called “CPMSRV” - client process monitor,
with batch client boot and stop, by process tag/subsection masks.
● XATMI service cache with extensive rules for when, what to cache. When to reset, when
to expire. The back-end for cache is high performance memory mapped transactional
LMDB. Cache supports distributed operations.
6. Additional packages
● endurox-connect
– “restin” - ATMI client, Web server, exposes ATMI Services
to “outer world”, supports for fielded buffer, encoded as
JSON.
– “restout” - ATMI server, Web client, exposes “outer world”
as ATMI service in the application domain.
– “tcpgatesv” - Generic TCP driver. Exposes network
connection as “ATMI” service. Multi-role, i.e. can be
configured as TCP server or TCP client. Supports multiple
connections. Different package framing algorithms.
Asynchronous operations.
7. Additional packages (cont.)
● endurox-go – bindings for Go language
● Community packages:
– endurox-python.
– endurox-php.
– endurox-perl.
8. Future developments
● Java support in progress (java multi-processing, POJO
Application server).
● .NET Core support.
● Porting Enduro/X to Windows OS.
● Asynchronous logger.
● “Latent Command Framwork” - for streaming dynamic
commands to domain binaries (i.e. request for config reload,
change log levels on the fly, etc).
● Enduro/X version for System V IPC Queues.
● And more...
9. Operating System support
● Linux (Mavimax even helped on Linux Kernel patch from version
4.5. for better e-poll operations when polling on multiple Posix
queues, see EPOLLEXCLUSIVE flag).
● FreeBSD.
●
IBM AIX (round robin dispatching and slower operations than
Linux/FreeBSD, due to missing poll on Q).
●
Oracle Solaris (round robin dispatching and slower operations than
Linux/FreeBSD, due to missing poll on Q)
●
MacOS (experimental).
10. Project quality
● Standard C99 code.
● Highly commented.
● Highly unit-tested (and integration tested).
● Memory leak detection at unit test time.
● Extensive logging.
● All API functions are documented.
● Manpages for binaries and user guides available.
● Developed from December, 2009.
11. Licensing models
● Binary EULA licensed on Operating System
Instance (i.e. virtual or physical machine) basis,
processes or CPUs does not count – unlimited.
● Source code license per company on one
software title (non middleware).
● Source code license per company on unlimited
number of software titles (non middleware).
12. Support
● Options for support on runtime system, i.e.
depending on support level purchased, different
response times, number of tickets, etc.
● Source code license support – i.e. licensee in
support period can upgrade source code to
latests developments.
● Developer support for working with Enduro/X
middleware (i.e. porting application to) –
time/material based.
13. Current operations
● Citadele HCE system (real time transactions
processing).
● MTB HCE system (real time transactions
processing).
● Auchan Rus Settlement system.
● New implementations in internet banks operating as
ESB.
● Having prospects with Deutsche Telekom AG and
Italian Infocamere SPA.