Körbar koreografi
Körbar koreografi representerar en decentraliserad form av tjänstesammansättning , som involverar samarbete mellan flera enskilda enheter. Det är en förbättrad form av tjänstekoreografi . Körbara koreografier kan intuitivt ses som godtyckliga komplexa arbetsflöden som exekveras i system som tillhör flera organisationer eller myndigheter.
Körbara koreografier är faktisk kod skapad för att koda systembeteende från en global synvinkel. Beteendet hos huvudenheter i ett system ges i ett enda program. Koreografier förbättrar programvarans kvalitet, eftersom de beter sig som körbara ritningar av hur kommunicerande system ska bete sig och ger en kortfattad bild av de meddelandeflöden som ett system skapar.
Körbar kontra icke-körbar koreografi
I nästan alla applikationer måste affärslogiken separeras i olika tjänster. Orkestreringen representerar hur dessa tjänster är organiserade och sammansatta . Den resulterande tjänsten kan integreras hierarkiskt i en annan sammansättning.
Tjänstekoreografi är en global beskrivning av de deltagande tjänsterna, som definieras av utbyte av meddelanden, regler för interaktion och överenskommelser mellan två eller flera slutpunkter. Koreografi använder ett decentraliserat tillvägagångssätt för tjänstsammansättning.
Inom industrin anses begreppet koreografi i allmänhet vara icke-körbart . Standarder, som de som föreslagits av Web Services Choreography Description Language, presenterar koreografin som en mer formell modell för att beskriva kontrakt mellan autonoma enheter (vanligtvis distinkta organisationer) som deltar i en sammansättningstjänst som analyseras globalt. Ur detta perspektiv måste själva kompositionen implementeras centralt genom de olika orkestreringsmekanismer som görs tillgängliga av företag: naiv kodkomposition eller användning av specifika orkestreringsspråk och motorer som BPEL (Business Process Execution Language), regelmotorer, etc.
Inom området akademisk forskning föreslås begreppet exekverbar koreografi som en metod att inte längre ha den kontraktuella delen och den faktiska delen av koden som två olika artefakter som kan vara osynkroniserade eller kräva subjektiva tolkningar. Exempel är "An Executable Calculus for Service Choreography" eller "En exekverbar koreografiram för dynamiska tjänsteorienterade arkitekturer". Få av dessa tillvägagångssätt har också haft en praktisk effekt, ofta på artiklar eller åtminstone forskningsprojekt . Blockkedjans verkliga genombrott de senaste åren har uppmärksammat det akademiska samfundet och industrin ännu mer, begreppet " smarta kontrakt ", som kan ses som en speciell form av körbar koreografi.
Typer av körbara koreografier
Verifierbara koreografier
Körbara koreografier är ett mer allmänt begrepp och är inte nödvändigtvis verifierbara koreografier om de inte använder idén om en webbplats som betraktas som en säkerhetskontext för exekvering av kod. Som exempel på tillvägagångssätt för programmering med hjälp av körbara koreografier kan vi lista det europeiska projektet CHOReOS, programmeringsspråket Chor, webbtjänstmodelleringen i "Choreographing Web Services" av några aspekter relaterade till sammansättningen av webbtjänster med hjälp av pi-kalkyl. Den verifierbara termen introducerades för att belysa möjligheten att verifiera svärmkommunikation. Den explicita närvaron av exekveringsplatsidén leder till möjligheten att utveckla verifieringsalgoritmer som kan ses i artikeln "Levels of privacy for e-Health systems in the cloud era".
Krypterade koreografier
Krypterad kryptografi förutsätter att de, förutom verifiering, erbjuder lösningar på högre nivå för avancerade kryptografiska metoder utan att programmerare behöver bli kryptografispecialister. Distribuerade applikationer kan byggas från delsystem som tillåter identifiering eller verifiering av arkitektoniska punkter som avslöjar hemliga data. Ett programmeringssystem som använder krypterade koreografer garanterar till exempel, eller åtminstone hjälper till, att minimera situationer där en person (lagligt licensierad eller hackare) innehar både krypterad privat data och krypteringsnycklar relaterade till samma resurser. På detta sätt har administratörerna eller programmerarna för dessa delsystem färre möjligheter att utföra interna attacker mot integritet (nivån med frekventa attacker). Även om vissa applikationer inte kan använda detta tillvägagångssätt, kan krypterade koreografier minimera säkerhetsriskerna som orsakas av personer inuti som administrerar eller programmerar dessa system. Således är antalet punkter med diskret tillgång till data (helst aldrig) formellt säkerställt. Denna form av koreografi är användbar för att göra det möjligt för företag att med kod säkra tillämpningen av den lagstiftning eller säkerhetsregler som antas.
Implementeringen av krypterade koreografier innebär till exempel förekomsten av lagringssystem som använder kryptografiska tekniker med praktisk implementering av homomorf kryptering , såsom CryptDB-implementeringen från MIT. En metod som också kan kallas "lagrings-, uppdelnings- och anonymiseringsmetod" med hjälp av krypterade koreografier, kan leda till att idealet om att ha total "suveränitet" (inom lagens gränser) över privata uppgifter publicerades i artikeln "Privat datasystem som möjliggör självständig lagring som hanteras av körbara koreografier". Den här artikeln presenterar hur koreografier anonymiserar och delar upp data på ett sätt som säkerställer att data inte kan kopieras av en enda administratör eller hackare som bara kontrollerar en av de deltagande noderna. De implementerade mekanismerna kan även innefatta gränssnitt som är lätta att använda av programmerare för avancerade kryptografiska metoder.
Serverlösa koreografier
Serverlös datoranvändning är en molnberäkningsmodell där molnleverantören dynamiskt hanterar allokeringen av datorresurser. Serverlösa koreografier involverar automatisering av lanseringsmetoder med virtualiserings- och automationstekniker.
Implementeringen av denna avancerade typ av koreografi kräver utveckling av nya affärsmodeller för att underlätta molnbaserad applikationshosting utan någon friktion relaterad till betalning, installation etc. Tor-konceptet är till exempel ett exempel för sådana serverlösa system. Det mest kända exemplet är Amazon Lambda som har stor kommersiell framgång som låter programmerare ignorera installationsdetaljer och underlätta dynamisk skalbarhet av system. Blockkedjor kan betraktas som exempel på serverlösa databaser.
Serverlösa koreografier förutsätter att molnexekvering och lagring sker med hjälp av krypterade koreografier. Genom att använda denna form av koreografi kommer värdföretag eller individer som hanterar fysisk och logisk värdinfrastruktur inte att kunna påverka värdinstallationer eller applikationer. Serverlösa koreografier erbjuder möjligheten att utveckla distribuerade, decentraliserade system och potentialen att formellt säkra avancerade integritetsegenskaper.