En titt på mutter og bolter for serviceorientert arkitektur
Service-Oriented Architecture (SOA) er en stil med programvaredesign der tjenester leveres til de andre komponentene av applikasjonskomponenter, gjennom en kommunikasjonsprotokoll over en Nettverk. Prinsippene er uavhengige av leverandører og annen teknologi. I tjenesteorientert arkitektur kommuniserer et antall tjenester med hverandre på en av to måter: gjennom formidling av data eller gjennom to eller flere tjenester som koordinerer en aktivitet. Dette er bare en definisjon av serviceorientert arkitektur. En artikkel på Wikipedia går mye mer i detalj.
Karakteristikk av serviceorientert arkitektur
Mens de definerende begrepene Service-Oriented Architecture varierer fra selskap til selskap, er det seks hovedprinsipper som overordner det brede konseptet med serviceorientert arkitektur. Disse kjerneverdiene inkluderer:
Forretningsverdi
Strategiske mål
Iboende interoperabilitet
Delt tjenester
Fleksibilitet
Evolusjonær forbedring
Hver av disse kjerneverdiene kan sees på et kontinuum fra eldre format distribuert databehandling til Serviceorientert arkitektur til cloud computing (noe som ofte blir sett på som et utløp av serviceorientert arkitektur).
Serviceorientert arkitekturmønster
Det er tre roller i hver av de serviceorienterte arkitektoniske byggesteinene: tjenesteleverandør; tjenestemegler, serviceregister, tjenestelager; og tjenesteanmoder / forbruker.
Tjenesteleverandøren arbeider i forbindelse med service-registeret, og diskuterer hvorfor og hvordan tjenestene som tilbys, for eksempel sikkerhet, tilgjengelighet, hva de skal lade med mer. Denne rollen bestemmer også tjenestekategorien og om det må være noen handelsavtaler.
Tjenestemegleren gjør informasjon om tjenesten tilgjengelig for de som ber om det. Meglerens omfang bestemmes av den som implementerer den.
Tjenesteanmoderen finner oppføringer i meglerregisteret og binder dem deretter til tjenesteleverandøren. De har kanskje ikke tilgang til flere tjenester; som avhenger av tjenesteanmoders evne.
Implementering Service-Oriented Architecture
Når det gjelder implementering av serviceorientert arkitektur (SOA), er det et bredt spekter av teknologier som kan brukes, avhengig av hva ditt endelige mål er og hva du prøver å oppnå.
Vanligvis implementeres serviceorientert arkitektur med webtjenester, noe som gjør de «funksjonelle byggesteinene tilgjengelige over standard internett protokoller. ”
Et eksempel på en webtjenestestandard er SOAP, som står for Simple Object Access Protocol. I et nøtteskall er SOAP» en meldingsprotokollspesifikasjon for utveksling av strukturert informasjon i implementeringen av webtjenester i datanettverk. Selv om SOAP ikke ble godt mottatt først, har det siden 2003 fått større popularitet og blir mer brukt og akseptert. Andre alternativer for implementering av serviceorientert arkitektur inkluderer Jini, COBRA eller REST.
Det er viktig å merke seg at arkitekturer kan «operere uavhengig av spesifikke teknologier», noe som betyr at de kan implementeres på en rekke måter, inkludert meldinger, for eksempel ActiveMQ, Apache Thrift og SORCER.
Hvorfor serviceorientert arkitektur er viktig
Det er mange fordeler med serviceorientert arkitektur, spesielt i en nettjenestebasert virksomhet. Vi vil kort beskrive noen av disse fordelene her:
Bruk Serviceorientert arkitektur for å lage gjenbrukbar kode: Dette reduserer ikke bare tiden som brukes på utviklingsprosessen, men det er ingen grunn til å gjenoppfinne kodingshjulet hver gang du trenger å lage en ny tjeneste eller prosess. Serviceorientert arkitektur tillater også for bruk av flere codi ng språk fordi alt går gjennom et sentralt grensesnitt.
Bruk Service-Oriented Architecture for å fremme interaksjon: Med Service-Oriented Architecture blir en standard form for kommunikasjon på plass, slik at de forskjellige systemene og plattformene kan fungere uavhengig av hverandre. Med denne interaksjonen er Service-Oriented Architecture også i stand til å jobbe rundt brannmurer, slik at «selskaper kan dele tjenester som er viktige for driften.”
Bruk serviceorientert arkitektur for skalerbarhet: Det er viktig å kunne skalere en virksomhet for å møte kundens behov, men visse avhengigheter kan komme i veien for den skalerbarheten. Ved å bruke serviceorientert arkitektur reduseres klient-service-interaksjonen, noe som gir større skalerbarhet.
Bruk serviceorientert arkitektur for å redusere kostnadene: Med serviceorientert arkitektur er det mulig å redusere kostnadene mens du fortsatt er » opprettholde ønsket produksjonsnivå. ” Bruk av serviceorientert arkitektur gjør det mulig for bedrifter å begrense mengden analyser som kreves når de utvikler tilpassede løsninger.
Hvordan serviceorientert arkitektur og cloud computing fungerer sammen
Først er det viktig å merke seg at Tjenesteorientert arkitektur kan fungere med eller uten cloud computing, selv om flere og flere bedrifter flytter fillagring til skyen, så det er fornuftig å bruke cloud computing og serviceorientert arkitektur sammen.
I et nøtteskall kan bruker computing enkelt og umiddelbart implementere tjenester skreddersydd til kravene i deres klienter, «uten å måtte konsultere en IT-avdeling.»
En ulempe ved å bruke Service-Oriented Architecture og cloud computing sammen er at noen aspekter av den ikke blir evaluert, for eksempel sikkerhet og tilgjengelighet ility. Når du bruker cloud computing, er brukerne ofte prisgitt leverandøren.
Det er en ganske stor utfordring bedrifter står overfor når de kombinerer cloud computing og Service Oriented Architecture er integrasjonen av eksisterende data og systemer i skyen. løsning. Det må være kontinuitet fra begynnelse til slutt for at det skal være en sømløs overgang. Det er også viktig å huske på at ikke alle IT-aspekter kan outsources til skyen – det er noen ting som fortsatt må gjøres manuelt.
Du kan lese mer om hvordan serviceorientert arkitektur og sky databehandling fungerer sammen her.
Forskjellen mellom serviceorientert arkitektur og SaaS
Vi har snakket ganske mye om hva Service-Oriented Architecture er og hvordan den kan brukes til å fremme din virksomhet. Men det er også SaaS (Software as a Service), som også kan brukes til å fremme virksomheten din. Du lurer kanskje på hva SaaS er og hvordan det skiller seg fra serviceorientert arkitektur. Kort fortalt er ressursene som er tilgjengelige gjennom SaaS programvare. En nøkkelkomponent er at SaaS-infrastrukturen er «tilgjengelig for, men skjult, for brukere.» En fordel med SaaS er at brukerne ikke trenger å både installere og vedlikeholde programvare, noe som eliminerer kompliserte krav. Med SaaS trenger ikke kunden heller noen forhåndslisensiering, noe som fører til lavere kostnader fordi leverandører bare opprettholder et enkelt program.
Forskjeller mellom serviceorientert arkitektur og mikrotjenester
Microservices, også kjent som Microservice Architecture, er en «arkitektonisk stil som strukturerer en applikasjon som en samling av små autonome tjenester, modellert rundt et forretningsdomene.»
Mens mikroservices og Service-Oriented Architecture er like på noen måter kommer de viktigste forskjellene i deres funksjonalitet. Tjenester er åpenbart hovedkomponenten i begge deler. Det er fire grunnleggende typer tjenester:
Funksjonell tjeneste: disse definerer kjernevirksomhet
Bedriftstjeneste: Disse implementerer funksjonaliteten definert av funksjonstjenestene
Søknad tjeneste: disse er begrenset til spesifikt applikasjonsinnhold
Infrastrukturtjeneste: implementerer ikke-funksjonelle oppgaver som godkjenning, revisjon, sikkerhet og logging
Som du ser, hver av disse tjenestene bygger på den før den, og skaper et system som ikke bare er enkelt å bruke, men som gir deg en rekke måter å administrere virksomheten på. Som med alle funksjoner, handler det om å finne ut hva som fungerer best for deg og din virksomhet.
Du kan lese mer om serviceorientert arkitektur og mikrotjenester her.
Noen endelige tanker På serviceorientert arkitektur
Som du kan forestille deg, serviceorientert arkitektur kan være litt vanskelig å knekke, men når du forstår mutter og bolter på den og fordelene den kan gi din bedrift, vil du være begeistret over at du oppdaget den.
Vi har levert flere gode serviceorienterte arkitekturressurser gjennom hele denne artikkelen, og har et par nye artikler som kommer til å ta et dypere dykk i konseptet og gi deg enda flere ressurser for å hjelpe deg med å presse virksomheten din til neste nivå.
Uansett hvilken retning du bestemmer deg for når du skal tilby tjenester til kundene dine, er det viktig å huske på at forskjellige ting vil fungere for forskjellige mennesker. Selv om du ikke kan tilby tilpassede tjenester for hver enkelt klient du har tatt på deg, kan du tilby en rekke tjenester som passer til de vanligste behovene til kundene dine.
I fremtidige artikler vil vi se på på Web 2.0 og dykk dypere inn i Service-Oriented Architecture Microservices.