WS-BPEL
(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
- Definer forretningsprosesser som samhandler med eksterne enheter gjennom webtjenesteoperasjoner definert ved hjelp av WSDL 1.1 og som manifesterer seg som webtjenester .
- Definer forretningsprosesser ved å bruke et XML-basert språk. Ikke definere en grafisk tolkning av prosesser eller gi en bestemt designmetodikk.
- Definer en serie webtjeneste-orkestreringskonsepter som er ment å brukes av interne eller eksterne visninger av en forretningsprosess.
- Gi hierarkiske og grafiske kontrollsystemer som lar bruken være så sammensmeltet og sømløs som mulig. Dette vil redusere fragmenteringen av prosessmodelleringsrommet.
- Gi enkle datamanipuleringsfunksjoner som kreves for å definere prosessdata og kontrollflyter.
- Støtt en prosessforekomstidentifikasjonsmetode som tillater definisjon av forekomstidentifikatorer på applikasjonsmeldingsnivå. Forekomstidentifikatorer må defineres av partnere og kan endres.
- 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.
- Definer en langsiktig transaksjonsmodell som er basert på utprøvde teknikker som omfang og kompensasjonshandlinger, for å gi failover for deler av langsiktige forretningsprosesser.
- Bruk webtjenester som modell for prosessdekomponering og montering.
- 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
Se også
- Business Process Management (BPM)
- arbeidsflyt
- XML Process Definition Language
- Nok et arbeidsflytspråk
- BPEL4People
- BPELScript
Eksterne lenker
SOA-kalender. «Informasjon av interesse i BPEL, BPM.» .
Standarder (på engelsk)
- WS-BPEL 2.0-spesifikasjon (OASIS-standard)
- OASIS WSBPEL TC nettside
- OASIS WSBPEL TC-utgaveliste
- Siste redaktørkopier av OASIS WSBPEL TC-spesifikasjoner
- BPEL4WS 1.1-spesifikasjonen
- Webtjenester Koreografi Beskrivelse Språk
BPEL og forretningsprosesssider
- Eclipse STP BPMN Diagram Editor
- Orkester, åpen kildekode BPEL-motor, designer, admin og sanntidsovervåkingsverktøy ( ødelagt kobling tilgjengelig på Internet Archive ; se historikk , første og siste versjon ).
- ActiveBPEL, åpen kildekode BPEL-server og BPEL-eksempler
- Business Process Management Initiative nettsted
- Business Modeling Forum
- BPEL ressursveiledning
- Tjenesteinteraksjonsmønstre (med BPEL-kodeeksempler)
- Tjenesteinteraksjonsmønstre (med BPMN-diagrammer som samsvarer med BPEL-kodeeksempler)
- Open Source BPMS (Eclipse og Apache-basert)
- Apache ODE, åpen kildekode BPEL-server
- NetBeans Enterprise Pack
- BPEL for Windows Workflow Foundation
Artikler om BPEL (på engelsk)
- BPEL BluePrints: Web Services Orchestration Using BPEL - presentert av Java BluePrints Solutions Catalog ( brutt lenke tilgjengelig på Internet Archive ; se historikk , første og siste versjon ).
- Beskrivelse av de kommende endringene fra BPEL 1.1 til BPEL 2.0
- Oracle-artikkel: Veving av webtjenester sammen
- BPEL for programmerere og arkitekter (lysbilder)
- Løftet om bærbare forretningsprosesser
- BPEL og Java
- Prosessentrisk realisering av SOA: BPEL beveger seg inn i rampelyset Arkivert 4. juli 2008 på Wayback Machine .
- Validerer BPEL-spesifikasjoner ved hjelp av OCL
- IBM-artikkel: Business Process Choreography in WebSphere: Combining the Power of BPEL and J2EE
- BPEL Primer
- WS-BPEL-utvidelse for delprosesser, BPEL-SPE
- Analyse av sammensetningsspråk for netttjenester: Tilfellet med BPEL4WS
- BPEL Begone - Hvor nyttig er denne standarden?
- Mønsterbasert evaluering av IBM WebSphere BPEL ( brutt lenke tilgjengelig på Internet Archive - se historikk , første og siste versjon ).
- BPEL i SCA monteringsmodell