Screen-1
Content Provider
Service
Screen-1
Content Provider
Service
/api/services/register
cp-service-registry
- servive1
- servive2
- servive3
Screen-1
Content Provider
Service
/api/services/register
cp-service-registry
- servive1
- servive2
- servive3
/api/cp/configuration
serviceConfiguration.json
properties:
- font: Arial
- fontSize: 10
UI
Service
CP-Service-Starter
application.yml
content-provider:
register-url: http://cp-address:8080/api/services/register
config: classpath:serviceConfig.json
serviceConfig.json
{
"viewUrl": "http://localhost:8080/home",
"properties": [
{
"name": "font",
"type": "text",
"required": true,
"validatorRegexp": ".*",
"options": [
"Arial",
"Times"
],
"description": "This is a font definition"
}
]
}
build.gradle
dependencies {
compile 'pl.ppl.fids.contentprovider.service:service-starter:1.0.0-SNAPSHOT'
}
Zelety:
- Prosta implemntacja mechanizmu
- Stosunkowo łatwy dewelopment prostych serwisów
- Tworzenie serwisów w dowolnym języku (REST + json)
Wady:
- Długie URL'e
Note: można kompresować:
http://localhost:8080/?fontName=courier&fontSize=200&backgroundColor=red -> http://goo.gl/5mvwmj
- Mogą być problemy z tworzeniem konfigurowalnych mechanizmów wewnętrznych
Screen-1
Content Provider
Service Runner
/api/services/register
cp-service-registry
- servive1
- servive2
- servive3
/api/cp/configuration
serviceConfiguration.json
properties:
- font: Arial
- fontSize: 10
UI
Screen-1
Content Provider
Service Runner
UI
execute service
POST /api/cp/service
@body = configuration
C1
C2
C3
Service Runner
service-runner/
/service
-service.jar
-serviceConfig.json
-run.sh
-stop.sh
-service-runner.jar
-service-runner.cfg
start
stop
status
register
Service
Run Service
/$SERVICE-RUNNER-HOME/service/run.sh fontName arial fontSize 100 backgroungColor red
Stop Service
/$SERVICE-RUNNER-HOME/service/stop.sh
Zelety:
- Łatwy dewelopment nawet złożonych serwisów
- Tworzenie serwisów w dowolnym języku (REST + json)
Wady:
- Bardziej złożona implemntacja mechanizmu
- Większa wydajność serwisów
- Brak długich URL'ów
- Większa zasobożerność serwisów
Dziękuję