summaryrefslogtreecommitdiff
path: root/libeufin
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2019-09-19 16:44:08 +0200
committerFlorian Dold <florian.dold@gmail.com>2019-09-19 16:44:08 +0200
commitd3292b7fabd97d691cd63040513b087136571ce0 (patch)
tree30397b5eb96514b08c041d5cfd473b80bd84ebcf /libeufin
parentee31cf54de46d3a8264d12950524c7fddae54b41 (diff)
downloaddocs-d3292b7fabd97d691cd63040513b087136571ce0.tar.gz
docs-d3292b7fabd97d691cd63040513b087136571ce0.tar.bz2
docs-d3292b7fabd97d691cd63040513b087136571ce0.zip
ebics
Diffstat (limited to 'libeufin')
-rw-r--r--libeufin/architecture.rst58
-rw-r--r--libeufin/ebics.rst7
-rw-r--r--libeufin/index.rst1
3 files changed, 66 insertions, 0 deletions
diff --git a/libeufin/architecture.rst b/libeufin/architecture.rst
new file mode 100644
index 00000000..e5cad890
--- /dev/null
+++ b/libeufin/architecture.rst
@@ -0,0 +1,58 @@
+LibEuFin Architecture
+#####################
+
+Sandbox
+=======
+
+* the sandbox's EBICS API emulates the behavior of a real bank's EBICS
+ interface
+
+* *(Only in the future)*: FinTS API and other FinTech APIs
+
+* the sandbox's management API allows an administrator to:
+
+ * create new **bank** accounts
+ * create new **EBICS subscriber** accounts
+
+ * a subscriber has (optionally?) a SystemID (for technical subscribers),
+ a UserID and a PartnerID
+ * each bank account has a list of subscribers than can access it
+
+ * delete accounts
+ * ...
+
+* the sandbox's "miscellaneous" API provides public functionality that is not covered
+ directly by EBICS, such as:
+
+ * a way to get the transactions in form of a JSON message, to check if it matches the EBICS response
+
+ * you could call it a "reference history"
+
+ * publicly accessible key management functionality, for example for the EBICS INI process
+
+ * this is the "electronic version" of sending an HIA/INI letter
+
+* things that we do **not** want to implement right now:
+
+ * Distributed electronic signatures. For now, it is enough for every order
+ to be signed just by one authorized subscriber.
+
+Nexus
+=====
+
+The Nexus takes JSON requests and translates them into API calls for the
+respective real bank accounts (EBICS, FinTS, ...). It also stores the bank
+transaction history to enable a linearlized view on the transaction history
+with unique transaction identifier, which some of the underlying banking APIs
+don't provide directly.
+
+``libeufin-nexus-httpd`` is the binary (or wrapper around the Java invocation)
+that runs the HTTP service.
+
+
+CLI Tools
+=========
+
+The Sandbox and Nexus are only HTTP services. The CLI tools are used to
+actually access them.
+
diff --git a/libeufin/ebics.rst b/libeufin/ebics.rst
index a6abe664..90a98a65 100644
--- a/libeufin/ebics.rst
+++ b/libeufin/ebics.rst
@@ -1,6 +1,13 @@
EBICS
#####
+.. warning::
+
+ This document summarizes and clarifies some aspects of the EBICS protocol
+ that are important to LibEuFin. Both version 3.0 and 2.5 are discussed here.
+
+ It is not a specification, and it does not replace the official EBICS specification.
+
EBICS Glossary
==============
diff --git a/libeufin/index.rst b/libeufin/index.rst
index d265b389..8e6472b7 100644
--- a/libeufin/index.rst
+++ b/libeufin/index.rst
@@ -7,3 +7,4 @@ LibEuFin is a project providing free software tooling for European FinTech.
:glob:
ebics
+ architecture