FIDS-Services

Podejście #1

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

Podejście #2

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ę

Made with Slides.com