54 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			54 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
# XML Tools
 | 
						|
Content of this project is a service hosting tools for xml documents including xslt transformer,
 | 
						|
xpath selector and xsd validator.
 | 
						|
 | 
						|
## About project
 | 
						|
Service is split into three microservices.
 | 
						|
1. JavaSpark web application serving REST API for XSD, XML, XSLT tools 
 | 
						|
2. Spring application serving REST mock service
 | 
						|
3. Nginx hosting static documents. 
 | 
						|
 | 
						|
Main page is hosted on port 8086.
 | 
						|
 | 
						|
## JavaSpark backend
 | 
						|
Backend is hosted by default on port 8081. Rest api documentation is contained in OpenApi document
 | 
						|
openapi.yml
 | 
						|
 | 
						|
Rest API accepts xml documents, given querry and processor version to call requested xml engine to perform given
 | 
						|
operation and finally returns outcome in response body.
 | 
						|
 | 
						|
## Flask Python backend
 | 
						|
 | 
						|
This is module providing support for processing XMLs using libxml library. It consumes same JSON as Java backend.
 | 
						|
 | 
						|
 | 
						|
## Mocked services
 | 
						|
MockedServices is a tool that allows developer to create, in easy and simple way, http server mocked endpoints for integration tests
 | 
						|
 | 
						|
## Frontend
 | 
						|
All the static files are available by default on port 8086 and are located within folder.
 | 
						|
 | 
						|
To preview given document user is required to post GET request to following path:
 | 
						|
```aidl
 | 
						|
/tools/{document name}
 | 
						|
```
 | 
						|
Documents are hosted by docker container running on ngix image and to modify container content
 | 
						|
one must modify Dockerfile located in Frontend folder. Files published must be located in ngix directory
 | 
						|
within created container.
 | 
						|
 | 
						|
## How to run
 | 
						|
 | 
						|
### Localy
 | 
						|
In order to run application use
 | 
						|
```aidl
 | 
						|
docker-compose up --build -d
 | 
						|
```
 | 
						|
Which will launch service on localhost.
 | 
						|
 | 
						|
### Remote
 | 
						|
To launch service on remote host, exchange ssh keys with destination server and declare docker context ex. DEV.
 | 
						|
Then use following command
 | 
						|
```aidl
 | 
						|
docker-compose up --context DEV --build -d 
 | 
						|
```
 |