close

WS-BPEL

Gå til navigasjon Gå til søk

(Web Services) Business Process Execution Language , WS-BPEL (på spansk, Business Process Execution Language with Web Services ), er et språk standardisert av OASIS for sammensetningen av webtjenester . Den er utviklet fra WSFL og XLANG , begge språk orientert mot beskrivelsen av webtjenester . I utgangspunktet består det av et XML-basert språk designet for sentralisert kontroll av påkallingen av forskjellige webtjenester, med noe ekstra forretningslogikk som hjelper programmering i det store . Før standardiseringen ble den kalt BPEL4WS.

Formål

Storskala programmering refererer generelt til storskala programvareutvikling som involverer store utviklings-, evolusjons- og vedlikeholdsprosesser. På den annen side refererer detaljert programmering til å bygge små, selvstendige programvarekomponenter. Utviklingen av BPEL stammer fra behovet for å håndtere forskjellige språk mellom storskala programmering og detaljert programmering, siden begge typer utvikling krever ulik grad av kommunikasjon med andre tjenester.

BPEL-språket

BPEL er et orkestreringsspråk , ikke et koreografisk språk (se Web Service Choreography ). Den største forskjellen mellom de to er omfanget. En orkestreringsmodell gir et omfang spesifikt fokusert på en bestemt deltakers syn (f.eks. en peer-to-peer-modell). I stedet omfatter en koreografisk modell alle deltakerne og deres tilknyttede interaksjoner, og gir et globalt syn på systemet. Forskjellene mellom orkestrering og koreografi er basert på analogier: orkestrering beskriver en sentral kontroll av atferd som en dirigent, mens koreografi omhandler distribuert kontroll av atferd der individuelle deltakere utfører prosesser basert på eksterne hendelser, som i en dans. koreografisk hvor dansere reagerer på oppførselen til jevnaldrende.

Gjennom et XML BPEL-dokument er en forretningsanalytiker i stand til å representere den tilhørende logikken og elementene den vil være relatert til. Disse elementene vil være webtjenester og logikken i BPEL-prosessen.

Hvis vi forestiller oss en viss forretningsflyt, med en inngang A og en utgang Z, kan den bestå av mange interne prosesser som vil bli lansert avhengig av tidligere verdier og svar. BPEL ville være ansvarlig for å orkestrere hele prosessen, bestille hvilken prosess som skal kjøres (webtjeneste) og til hvilket tidspunkt.

Dette språket ble unnfanget av datagiganter som Oracle , BEA Systems , IBM , SAP og Microsoft , blant andre.

Det er et språk på høyt nivå som tar konseptet med en tjeneste et steg videre ved å gi metodedefinisjon og støtte for arbeidsflyter og forretningsprosesser.

Fokuset på moderne forretningsprosesser, pluss bakgrunnen til WSDL- og XLANG-språkene, førte til at BPEL tok i bruk webtjenester som sin eksterne kommunikasjonsmekanisme. Dermed er BPEL-meldingsfasilitetene avhengige av bruken av WSDL for å beskrive innkommende og utgående meldinger .

I tillegg til å tilby fasiliteter for å muliggjøre sending og mottak av meldinger, muliggjør BPEL-programmeringsspråket også:

  • En egenskapsbasert meldingskorrelasjonsmekanisme.
  • Variabler av typen XML og WSDL.
  • En utvidbar komponentspråkmodell for å tillate skriving av uttrykk og spørringer på flere språk: BPEL støtter XPath 1.0 som standard.
  • Strukturerte programmeringskonstruksjoner inkludert "hvis-så-elseif-else", "mens", "sekvens" (tillater kjøring av kommandoer i rekkefølge) og "flyt" (tillater kjøring av kommandoer parallelt).
  • Et scoping-system som tillater innkapsling av logikk med lokale variabler , feilbehandlere , kompensasjonsbehandlere og hendelsesbehandlere .
  • Serialiserte omfang for å kontrollere tilgang til variabler .

BPEL-designmål

  1. Definer forretningsprosesser som samhandler med eksterne enheter gjennom webtjenesteoperasjoner definert ved hjelp av WSDL 1.1 og som manifesterer seg som webtjenester .
  2. Definer forretningsprosesser ved å bruke et XML-basert språk. Ikke definere en grafisk tolkning av prosesser eller gi en bestemt designmetodikk.
  3. Definer en serie webtjeneste-orkestreringskonsepter som er ment å brukes av interne eller eksterne visninger av en forretningsprosess.
  4. Gi hierarkiske og grafiske kontrollsystemer som lar bruken være så sammensmeltet og sømløs som mulig. Dette vil redusere fragmenteringen av prosessmodelleringsrommet.
  5. Gi enkle datamanipuleringsfunksjoner som kreves for å definere prosessdata og kontrollflyter.
  6. Støtt en prosessforekomstidentifikasjonsmetode som tillater definisjon av forekomstidentifikatorer på applikasjonsmeldingsnivå. Forekomstidentifikatorer må defineres av partnere og kan endres.
  7. Gi muligheten for implisitt opprettelse og avslutning av prosessinstanser, som en grunnleggende livssyklusmekanisme. Avanserte livssyklusoperasjoner som "suspender" og "fortsett" kan bli lagt til i fremtidige utgivelser for å forbedre livssyklushåndteringen.
  8. Definer en langsiktig transaksjonsmodell som er basert på utprøvde teknikker som omfang og kompensasjonshandlinger, for å gi failover for deler av langsiktige forretningsprosesser.
  9. Bruk webtjenester som modell for prosessdekomponering og montering.
  10. Bygg på (godkjent og foreslått) webtjenestestandarder så mye som mulig, på en modulær og utvidbar måte.

WS-BPEL og BPMN

Det er ingen standard grafisk spesifikasjon for WS-BPEL-komposisjoner. Business Process Modeling Notation (BPMN) er imidlertid en standardnotasjon for forretningsprosesser som også inkluderer automatisk oversettelse til kjørbar WS-BPEL-kode [ 1 ]

Referanser

  1. BPMN FAQ Object Management Group/Business Process Management Initiative

Se også

Eksterne lenker

SOA-kalender. «Informasjon av interesse i BPEL, BPM.» . 

Standarder (på engelsk)

BPEL og forretningsprosesssider

Artikler om BPEL (på engelsk)