-
Notifications
You must be signed in to change notification settings - Fork 11
LIXA is a free Scalable Distributed Transaction Manager for Microservices and Modern Applications based on XA
License
tiian/lixa
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
_ _____ __ _ | | |_ _\ \/ / / \ LIXA | | | | \ / / _ \ LIbre XA | |___ | | / \ / ___ \ a free and open source XA Transaction Manager |_____|___/_/\_\/_/ \_\ http://www.tiian.org/lixa/ ********* ABSTRACT: LIXA, acronym of LIbre XA, is an open source and free software Transaction Manager that implements: - XTA, XA Transaction API, an interface specifically designed to supply TXaaS (Transaction as a Service) features in a FaaS (Function as a Service) ecosystem. - the distributed transaction processing "XA specification" and the "TX (transaction demarcation) specification" according to the X/Open CAE Specification LIXA is a Transaction Manager but it's not a Transaction Monitor: this is the distinguishing feature of the project: it enables every application container, like a web server or a shell, to become an XA compliant application server. The client/server architecture of LIXA allows many application containers to point a single LIXA state server: this is ideal where horizontal scalability is a must and many identical application containers must refer to the same transactional environment. ******** LICENSE: LIXA is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. LIXA is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. ****************** LICENSE EXCEPTION: A piece of LIXA (liblixab, liblixac, liblixta and switch file wrappers) is distributed under the terms of GNU Lesser General Public License version 2.1 as published by the Free Software Foundation. The license exception allows the usage of the * LIBRARIES * provided by the LIXA project under the terms of GNU Lesser General Public License version 2.1. *************** SPECIAL THANKS: August 1st, 2016: Christian Ferrari thanks Globetom Holdings (Pty) Ltd for its donation to Emergency NGO, an international charity that promotes a culture of peace, solidarity and respect for human rights providing free, high quality medical and surgical treatment to the victims of war, landmines and poverty. ************** DOCUMENTATION: Documentation is available in these places: - local directory doc/manuals/index.html after tarball extraction - http://www.tiian.org/lixa/manuals/html/index.html - http://www.tiian.org/lixa/manuals/xta/C/index.html - http://www.tiian.org/lixa/manuals/xta/CPP/index.html - http://www.tiian.org/lixa/manuals/xta/Java/index.html Some important things you should check in the documentation before going on: 1. check LIXA dependency looking at "Installation/System requirements" 2. understand LIXA installation procedure describe at "Installation/Configure, build and install" 3. if you are interested in the test procedure (after build), take a look to "Installation/Checking" 4. how to understand what's happening inside LIXA code is explained in "In Depth/Tracing" 5. examples are described in chapter "Development" Doxygen source code documentation: how to extract from LIXA source code the documentation of files, structs and functions (you must install Doxygen http://www.stack.nl/~dimitri/doxygen/ before you can use it). Please update doxygen.conf.in and change /var/www/lixa to a suitable destination in your system. Use "configure" (see above) to produce "doxygen.conf" file. If you installed Graphviz (http://www.graphviz.org/), configure should detect it and would produce data and headers dependencies too. ****************** DOCKER CONTAINERS: Docker images managed by the LIXA project are available in DockerHub: https://hub.docker.com/u/lixa ******************** DEPENDENCIES REPORT: O.S. Feature Packages Ubuntu Basic make gcc libglib2.0-dev libxml2-dev uuid-dev pkg-config automake Ubuntu MySQL mysql-server libmysqlclient-dev Ubuntu PostgreSQL postgresql libpq-dev Ubuntu GnuCOBOL open-cobol Ubuntu C++ g++ CentOS Basic gcc glib2-devel libxml2-devel libuuid-devel autoconf net-tools CentOS MySQL mysql-server/mariadb-server mysql-devel/mariadb-devel CentOS PostgreSQL postgresql postgresql-server postgresql-devel RHEL 7.3 Basic gcc glib2-devel libxml2-devel libuuid-devel autoconf net-tools libtool Ubuntu Python swig python-dev python-setuptools Ubuntu Python3 swig python3-dev python3-setuptools RHEL 7.5 Python swig python-devel Ubuntu <= 18.04 Java default-jdk rng-tools libmysql-java https://jdbc.postgresql.org/download/postgresql-42.2.5.jar Ubuntu 20.04 Java default-jdk rng-tools libmariadb-java libpostgresql-jdbc-java CentOS 7.x Java java-1.8.0-openjdk* rng-tools mysql-connector-java CentOS 8.x Java java-1.8.0-openjdk* rng-tools mariadb-java-client postgresql-jdbc - Optional packages: O.S. Feature Packages Ubuntu doxygen doxygen graphviz Ubuntu docbook xsltproc docbook-xml docbook-xsl Additional libraries are necessary for commercial third party Resource Managers like Oracle DB, IBM DB2 and IBM MQ: additional details are available in the "LIXA Reference Guide" manual. Enjoy LIXA! Ch.F.
About
LIXA is a free Scalable Distributed Transaction Manager for Microservices and Modern Applications based on XA
Resources
License
Security policy
Stars
Watchers
Forks
Packages 0
No packages published