Library prototypes of the framework for aspect-driven & context-aware services in Java, Python and JavaScript.
See the framework in action in the example e-commerce application.
For library user manual, please refer to the specific implementation folders java/
, nodejs/
or python/
.
central-administration
- Central business context administration for the framework written in Java.src/main/java
- Source files in Javasrc/test/java
- Test files in Java
example
- Contains example e-commerce system implemented using the business context sharing framework.billing
- Billing service in Java using Spring Bootsrc/main/java
- Source files in Javasrc/test/java
- Test files in Java
order
- Order composite service in Java using Spring Bootsrc/main/java
- Source files in Javasrc/test/java
- Test files in Java
product
- Product service in Python using Flaskshipping
- Shipping service in Java using Spring Bootsrc/main/java
- Source files in Javasrc/test/java
- Test files in Java
ui
- User interface of the e-commerce system in Java using Spring Bootsrc/main/java
- Source files in Javasrc/test/java
- Test files in Java
user
- User service in Node.js using Express.js
java
- Java implementation of the framework following Maven project structurebusiness-context
- Implementation of framework for business contexts sharing in Java.src/main/java
- Source files in Javasrc/test/java
- Test files in Java
business-context-aspectj
- Business context AOP weaver implemented in AspectJ for the Java library.src/main/java
- Source files in Javasrc/test/java
- Test files in Java
business-context-grpc
- Business context communication implementation using GRPC for the Java library.src/main/java
- Source files in Javasrc/main/proto
- Protobuffer schemassrc/test/java
- Test files in Java
business-context-xml
- Business context XML description for the Java library.src/main/java
- Source files in Javasrc/test/java
- Test files in Java
nodejs
- Node.js implementation of the frameworkbusiness-context
– Implementation of framework for business contexts sharing in Node.js.business-context-grpc
– Business context communication implementation using GRPC for the Node.js library.business-context-xml
– Business context XML description for the Node.js library.
proto
– GRPC and Protobuffer definitions for business context framework communicationpython
- Python implementation of the frameworkbusiness_context
- Implementation of framework for business contexts sharing in Python.test_*.py
– Python unit test files.
business_context_grpc
- Business context communication implementation using GRPC for the Python library.test_*.py
– Python unit test files.
business_context_xml
- Business context XML description for the Python library.test_*.py
– Python unit test files.
xml
- XML schema and example of business context representation
You can build all the libraries at once and run the example e-commerce system simply
by running the build-and-run-all.sh
script.
Make sure your Docker deamon is running and has enough RAM (about 2GB should suffice).
$ ./build-and-run-all.sh
For testing, you can see the .travis.yml
file and use the commands listed there.
Link to results of CI tests are on the top of this page.
You can also refer to the READMEs in the specific library for concrete testing commands.
This software is provided under MIT License.
## Motivation and architecture
For the motivation and architecture of this framework, please refer to the text of my diploma thesis.