0.0.1 • Published 8 years ago

plxact v0.0.1

Weekly downloads
-
License
GPL-3.0
Repository
-
Last release
8 years ago

Paladin Logic Gateway

A transactional gateway for xTuple

About

The Paladin Logic Gateway is an xTuple extension that provides a REST service through which transactions may be processed against a database. Transactions are defined at the database and processed by handlers, which may be added at any time. The handlers are simply database functions that are registered with the gateway and conform to the gateway API. The handlers are NOT part of the gateway.

The gateway implements additional security measures beyond OAUTH2, including encryption of the transaction, ACL whitelist, transaction keys, and checksums.

Out of the box, no transaction types (capabilities) or handlers are defined. Nor are there any clients on the access control list. Until these are defined and identified, the gateway will reject every transaction sent to it.

Every transaction is a JSON string with a head tag identifying the kind of transaction, the version of the transaction, and a transaction key that must match the one belonging to the requesting client. A body tag then defines the transaction-specific fields. When the transaction is submitted to the gateway, three pieces of information must be sent:

  • The client identifier (must match one in the ACL)
  • The MD5 checksum of the transaction
  • The transaction itself, encoded base64 after optionally being encrypted

The gateway will verify that the transaction originated with a known client, that the client's transaction key matches the one expected, and that the MD5 checksum of the transaction matches what is expected. The gateway decodes and (if applicable) decrypts the transaction. If the transaction passes all validation checks, the gateway then looks for an appropriate handler. What is done with a valid transaction is entirely up to the transaction handler. The gateway simply returns the resulting information encrypted/encoded according to the client's settings, together with the expected MD5 checksum of the resulting data.

Installation

The Paladin Logic Gateway extension requires xTuple web app version 4.8 or later. To install, go to Setup -> Configure -> Database, type plxact into the Install Extension panel, and click the checkbox.

License

The Paladin Logic Gateway (plxact) is Copyright (c) 2015-2016 Paladin Logic, Limited and is licensed under GPLv3.0.

About Paladin Logic

Paladin Logic, Limited is a verified Service-Disabled Veteran Owned Small Business (SDVOSB) that implements, customizes, and innovates complete solutions for your unique business needs.

www.paladinlogic.com