FM4: ajamahukas protsess

Mustri tüüp: funktsionaalne muster
Peamine kasusaaja:
automatiseeritud süsteem
Eesmärk
: andmete pärimine, andmete saatmine
Allikas
: Teadaolev praktika
Teenuste arv:
2

Abstract

FM4: Long running task is used when an information system has implemented some long running process and needs to allow another information system to use that process. The main idea of this pattern is to separate the process input and output into separate services.

The service used for task input:

  • Service producer is the information system that has implemented the process;
  • Service is based on the primitive "PM2: Data push service";
  • Service input is the input required for the process;
  • Service output is the process instance identificator.

There are two approaches for creating the service used for process output.

  • If the output of the process will be retrieved by the information system that uses the process:
    • Service producer is the information system that has implemented the process;
    • Service is based on the primitive "PM1: Data pull service";
    • Service input is the process instance identificator
    • Service output is the output of the process instance.
  • If the output of the task will be sent by the system that has implemented the long running task:
    • Service producer is the information system that started the task;
    • Service is based on the primitive "PM2: Data push service";
    • Service input is the identificator and output of the process instance;
    • Service output is conformation of receving the output of the process.

Sissejuhatus

Muster kirjeldab üle X-tee ajamahuka protsessi kasutamist. Täpsemalt olukorda, kus infosüsteem on implementeerinud ajamahuka protsessi ja soovib võimaldada teisel infosüsteemil selle protsessi kasutamist.

Käesoleva mustri korral eraldatakse protsessi parameetrid ja tulemus eraldi X-tee teenusteks. See tähendab, et ühe teenusega saadetakse protsessi parameetrid ja teise teenusega saadakse protsessi tulemus.

Protsessi parameetrite teenuse korral:

  • teenuse osutaja on protsessi omav infosüsteem;
  • teenuse tarbija on protsessi kasutav infosüsteem.

Protsesi tulemuse teenuse korral on kaks varianti:

  • kui protsessi tulemuse pärib protsessi kasutav infosüsteem (kirjeldatud peatükis "Lahendus (pärimine)"):
    • teenuse osutaja on protsessi omav infosüsteem;
    • teenuse tarbija on protsessi kasutav infosüsteem;
  • kui protsessi tulemuse saadab protsessi omav infosüsteem (kirjeldatud peatükis "Lahendus (saatmine)"):
    • teenuse osutaja on protsessi kasutav infosüsteem;
    • teenuse tarbija on protsessi omav infosüsteem.

Probleem

Käesolev muster sobib kasutamiseks olukorras, kus on vajalik lahendada andmete vahetus eelnevalt nimetatud poolte vahel ning:

  • protsessi parameetrite ja tulemuse edastamine sama X-tee teenusega muudaks selle teenuse latentsuse liiga suureks;
  • protsessi omava infosüsteemi käideldavus on tagatud alati, kui keegi soovib protsessi kasutada;
  • protsessi kasutava infosüsteemi käideldavus on tagatud ainult protsessi parameetrite saatmise hetkel;
    • kui protsessi tulemus saadetakse protsessi omava infosüsteemi poolt, siis peab protsessi kasuatava infosüsteemi käideldavus olema tagatud alati, kui soovitakse protsessi tulemust saata.

Lahendus (pärimine)

Antud lahendus sobib olukorras, kus protsessi kasutava infosüsteemi jaoks ei ole protsessi tulemuse saamine aegkriitiline. Antud lahenduse korral vastutab protsessi tulemuse edastamise eest protsessi kasutav infosüsteem.

Protsessi omavas infosüsteemis:

  • kirjeldatakse X-tee teenus, mis võimaldab protsessi kasutaval infosüsteemil protsessi parameetrite saatmist (protsessi parameetrite teenus);
  • kirjeldatakse X-tee teenus, mis võimaldab protsessi kasutaval infosüsteemil protsessi tulemuse pärimist (protsessi tulemuse teenus);
  • arendatakse ajamahukas protsess ja selle käivitamine;
  • arendatakse ajamahuka protsessi tulemuse salvestamine;
  • määratakse infosüsteemid, mis võivad protsessi parameetrite ja tulemuse teenuseid kasutada.

Protsessi kasutavas infosüsteemis:

  • arendatakse protsessi parameetrite määramine;
  • arendatakse protsessi parameetrite teenuse kasutus;
  • arendatakse protsessi tulemuse teenuse kasutus;
    • teenust kasutatakse peale protsessi parameetrite saatmist perioodiliselt, kuni protsessi tulemuse saamiseni;
  • arendatakse protsessi tulemuste salvestamine.

Teenuste kirjeldus

Protsessi parameetrite teenus järgib primitiivi "PM2: andmete saatmise teenus":

  • teenuse sisendiks on protsessi parameetrid;
  • teenuse väljundiks on protsessi isendi identifikaator, mille kaudu on hiljem võimalik protsessi väljundit pärida.

Protsessi tulemuse teenus järgib primitiivi "PM1: andmete päringu teenus":

  • teenuse sisendiks on esimese teenuse vastusena saadud identifikaator;
  • teenuse väljundiks on protsessi tulemus.

Mustri käitumine

Järgneval joonisel esitatakse protsessi omava ja protsessi kasutava infosüsteemi (teenuse osutaja) vaheline suhtlus.


Joonis 4.4 Mustri FM4 järgnevusdiagramm kui protsessi tulemuse pärib protsessi kasutav infosüsteem.

Infosüsteemi spetsiifiliste protsesside esitamiseks on viidatud järgnevusdiagrammidele "Infosüsteemi äriprotsess" ja "Ajamahukas protsess".

Järgnevusdiagrammi lihtsustamiseks on välja jäetud teenuste sisendi ja väljundi koostamise ning valideerimisega seonduvad tegevused.

Protsessi kasutava infosüsteemi poolel on eristatud äriloogika ja teenusloogika kihid.

  • Äriloogika kiht:
    • täidab infosüsteemi spetsiifilist äriprotsessi;
    • määrab protsessi parameetrid;
    • edastab protsessi parameetrid teenusloogika kihile;
    • algatab perioodiliselt protsessi tulemuse pärimise, kuni protsess on valmis;
    • täidab infosüsteemi spetsiifilist äriprotsessi peale protsessi tulemuse edukat pärimist.
  • Teenusloogika kiht:
    • tarbib protsessi omava infosüsteemi poolt osutatavaid teenuseid;
    • võtab vastu tarbitud teenuste vastused;
    • tõlgendab vastustes sisalduvad andmed äriloogika kihile sobivaks;
    • teavitab äriloogika kihti teenuse kasutuse tulemustest.

Protsessi omava infosüsteemi juures toimuvad tegevused on lahendatud teenusloogika kihis. Teenusloogika kihis toimuvad järgmised tegevused:

  • protsessi parameetrite vastuvõtmine;
  • protsessi identifikaatori määramine;
  • protsessi isendi loomine ja käivitamine
  • protsessi isendi identifikaatori edastamine protsessi kasutavale infosüsteemile;
  • tulemuse pärimine ja edastamine protsessi kasutavale infosüsteemile.

Lahendus (saatmine)

Antud lahendus sobib olukorras, kus protsessi kasutava infosüsteemi jaoks on protsessi väjundi saamine aegkriitiline. Antud lahenduse korral vastutab protsessi väljundi edastamise eest protsessi omav infosüsteem.

Mustri kirjeldamise hetkel ei ole teada, et antud lahendus oleks praktikas kasutusel.

Protsessi omavas infosüsteemis:

  • kirjeldatakse X-tee teenus, mis võimaldab protsessi kasutaval infosüsteemil protsessi parameetrite saatmist (protsessi parameetrite teenus);
  • arendatakse ajamahukas protsess ja selle käivitamine;
  • arendatakse ajamahuka protsessi tulemuse salvestamine;
  • arendatakse protsessi tulemuse teenuse tarbimine;
    • teenust tarbitakse peale seda, kui protsessi isend on valmis;
  • määratakse infosüsteemid, mis võivad protsessi parameetrite teenust kasutada.

Protsessi kasutavas infosüsteemis:

  • kirjeldatakse X-tee teenus, mis võimaldab protsessi omaval infosüsteemil protsessi tulemuse saatmist (protsessi tulemuse teenus);
  • arendatakse protsessi parameetrite määramine;
  • arendatakse protsessi parameetrite teenuse tarbimine;
  • arendatakse protsessi tulemuse salvestamine;
  • määratakse infosüsteemid, mis võivad protsessi tulemuse teenust kasutada.

Teenuste kirjeldus

Protsessi parameetrite teenus järgib primitiivi "PM2: andmete saatmise teenus":

  • teenuse sisendiks on protsessi parameetrid;
  • teenuse väljundiks on protsessi isendi identifikaator.

Protsessi tulemuse teenus järgib primitiivi "PM2: andmete saatmise teenus":

  • teenuse sisendiks on protsessi isendi identifikaator ja tulemus;
  • teenuse väljundiks on kviteering.

Mustri käitumine

Järgneval joonisel esitatakse protsessi omava ja protsessi kasutava infosüsteemi (teenuse osutaja) vaheline suhtlus.


Joonis 4.5 Mustri FM4 järgnevusdiagramm kui protsessi tulemuse saadab protsessi omav infosüsteem.

Infosüsteemi spetsiifiliste protsesside esitamiseks on viidatud järgnevusdiagrammidele "Infosüsteemi äriprotsess" ja "Ajamahukas protsess".

Järgnevusdiagrammi lihtsustamiseks on välja jäetud teenuste sisendi ja väljundi koostamise ning valideerimisega seonduvad tegevused.

Protsessi kasutava infosüsteemi poolel on eristatud äriloogika ja teenusloogika kihid.

  • Äriloogika kiht:
    • täidab infosüsteemi spetsiifilist äriprotsessi;
    • määrab protsessi parameetrid;
    • edastab protsessi parameetrid teenusloogika kihile;
    • täidab infosüsteemi spetsiifilist äriprotsessi peale protsessi tulemuse saamist.
  • Teenusloogika kiht:
    • tarbib protsessi omava infosüsteemi poolt osutatavat parameetrite teenust;
    • võtab vastu parameetrite teenuse vastuse;
    • võtab vastu tulemuse teenuse sisendi;
    • edastab protsessi tulemuse äriloogika kihile;
    • teavitab protsessi omavat infosüsteemi protsessi tulemuse kättesaamisest.

Protsessi omava infosüsteemi juures toimuvad tegevused on lahendatud teenusloogika kihis. Teenusloogika kihis toimuvad järgmised tegevused:

  • protsessi parameetrite vastuvõtmine;
  • protsessi identifikaatori määramine;
  • protsessi isendi loomine ja käivitamine;
  • protsessi isendi identifikaatori edastamine protsessi kasutavale infosüsteemile;
  • protsessi lõppemise teavituse vastuvõtmine;
  • protsessi vajavale infosüsteemile protsessi tulemuse saatmine.

Lisakaalutlused

Käesoleva mustri kasutamisel tuleks silmas pidada järgnevat:

  • kui kaua protsessi realiseeriv infosüsteem protsessi tulemust alles hoiab ja millisel alusel protsessi tulemused hiljem kustutatakse;
  • protsessi omava ja kasutava infosüsteemi vahel on mõistlik kokku leppida, kui tihedalt üritatakse protsessi tulemusi protsessi algatajale edastada;
  • kui protsessi tulemuse pärib protsessi kasutav süsteem, siis:

Näide

Näitena on toodud käesoleva mustri kasutus rahvastikuregistris. Antud näite korral vastutab protsessi käivitanud infosüsteem tulemuste pärimise eest

Protsessi alustamiseks tarbitakse teenust rr.RR445.

Sisend:

keha (type: RR445Request)
|-> AlgusKP (type: Date, description: “Tellitud perioodi alguse kuupäev“)
|-> LoppKP (type: Date, description: “Tellitud perioodi lõpu kuupäev“)

Väljund:

keha (type: RR445Response)
|-> cTellimuseNr (type: String, description: “Tellimuse number“)


Protsessi tulemuste kättesaamiseks kasutatakse teenust rr.RR71.

Sisend:

keha (type: RR71Request)
|-> cFailiNimi (type: String, description: “Faili nimi“)

Väljund:

keha (type: RR71Response)
|-> ttdata
| |-> ttData.id (type: Integer)
| |-> ttData.cdata (type: String)



Last modified: Monday, 24 October 2016, 1:27 PM