The origin of the project is the desire for an easily accessible place for data exchange on the Internet. Inspired by JSON-Storages the idea of a feature-rich equivalent based on XML, XPath and XSLT was born. The focus should be on a public, volatile and short-term data exchange for (static) web-applications and IoT.
Just exchange data without an own server landscape.
Just exchange data without knowing and managing all clients.
XML-Micro-Exchange is a RESTful volatile NoSQL stateless micro datasource for the Internet. It is designed for easy communication and data exchange of web-applications and for IoT or for other Internet-based modules and components. The XML based datasource is volatile and lives through continuous use and expires through inactivity. They are designed for active and near real-time data exchange but not as a real-time capable long-term storage. Compared to a JSON storage, this datasource supports more dynamics, partial data access, data transformation, and volatile short-term storage.
Why all this?
- Static web-applications on different clients want to communicate with each other, e.g. for games, chats and collaboration.
- Smart sensors want to share their data and smart devices want to access this data and also exchange data with each other.
- Clients can establish dynamically volatile networks.
In this communication are all participants.
No one is a server or master, all are equal and no one has to know the other.
All meet without obligation.
- RESTful
The REST API supports the HTTP methods OPTIONS, GET, POST, PUT, PATCH, DELETE. - XPath
XPath axes and functions are used for access, navigation and addressing of targets in the data source and it is an integral part of the URI with dynamic and functional effects. - Multible axes and targets
An XPath axis can address several elements and attributes simultaneously, which can be changed with one call. - XPath Functions
PUT and PATCH support XML structures and static values (text), as well as XPath functions that allow dynamic values. - Data Query
Data can be queried in the form of XML structure or substructure if the XPath notation represents an axis, otherwise the XPath is interpreted as an XPath function and responded with the result as text. Thus XPath provides a dynamic syntax for queries. - Data Transformation
The POST method supports data transformation via XSLT. Similar to GET, data can be queried and then transformed with an XSLT template transmitted via POST. - JSON Support
All requests can be responded by the service in JSON format. - Security
This aspect was deliberately considered and implemented here only in a very rudimentary form. The storage(-key) with a length of 1 - 64 characters and the individual root element can be regarded as secret. In addition, HTTPS is supported but without client certificate authorization. - ACME Challenge Support
Support of ACME HTTP-01 challenge for automated certificate management e.g. with Let's Encrypt + Cerbot. - Containerization
XML-Micro-Exchange is also available as a container image on Docker Hub: https://hub.docker.com/r/seanox/xmex
LIZENZBEDINGUNGEN - Seanox Software Solutions ist ein Open-Source-Projekt, im Folgenden Seanox Software Solutions oder kurz Seanox genannt.
Diese Software unterliegt der Version 2 der Apache License.
Copyright (C) 2024 Seanox Software Solutions
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Seanox XML-Micro-Exchange 1.4.1
Complete package without Node.js to use as a Windows service.
Seanox XML-Micro-Exchange 1.4.1
https://hub.docker.com/r/seanox/xmex
Before using, you must read, understand and agree to Terms of Service and Privacy Policy.
Web site and documentation
https://xmex.seanox.com/
Service Endpoint URL
https://xmex.seanox.com/xmex!
65536 Storages x 64 kB
Please do not get confused, the API is online.
Requests without storage identifier (see manual)
are responded with status 400.
See also OpenAPI YAML
or open OpenAPI YAML in a GUI.
It is a small server (1 Core, 1 GB, 10 GB SSD) in a big data center -- but
apparently enough.
Sponsors are always welcome.
The project needs if possible more power.
It costs about 5 Euro per month for 65536 x 1024 kB with double CPU cores and
double memory.
Example Multiplayer Snake (Online)
https://xmex.seanox.com/snake.html
- Table Of Contents
- Motivation
- Installation
- Configuration
- Terms
- Getting Started
- API
- Statistic
- Error Handling
- Development
- Build
- Test
BF: Statistic: Correction of the calculation of inbound / outbound
BF: Build: Optimization / correction of the release info process
CR: Build: Updated dependencies
CR: Build: Enhancement of Ant task clean for cleaning temporary test data
CR: Build: Renamed Ant libxml to install
CR: Build: Change from .credentials to environment variables
CR: Statistic: Changed execution time in seconds (was previously in minutes)
NT: Releases only as attachments on the GitHub release page
NT: Harmonization of version numbers for the different implementations