Et kig på møtrikker og bolte i serviceorienteret arkitektur
Serviceorienteret arkitektur (SOA) er en stil med softwaredesign, hvor tjenester leveres til de andre komponenter af applikationskomponenter gennem en kommunikationsprotokol over en netværk. Dens principper er uafhængige af leverandører og andre teknologier. I serviceorienteret arkitektur kommunikerer et antal tjenester med hinanden på en af to måder: gennem videregivelse af data eller gennem to eller flere tjenester, der koordinerer en aktivitet. Dette er kun en definition af serviceorienteret arkitektur. En artikel på Wikipedia går meget mere i detaljer.
Karakteristik af serviceorienteret arkitektur
Mens de definerende begreber serviceorienteret arkitektur varierer fra virksomhed til virksomhed, er der seks nøgleprincipper der overordner det brede koncept med serviceorienteret arkitektur. Disse kerneværdier inkluderer:
Forretningsværdi
Strategiske mål
Iboende interoperabilitet
Delte tjenester
Fleksibilitet
Evolutionær forfining
Hver af disse kerneværdier kan ses på et kontinuum fra ældre format distribueret computing til Serviceorienteret arkitektur til cloud computing (noget der ofte ses som et offshoot af serviceorienteret arkitektur).
Serviceorienteret arkitekturmønstre
Der er tre roller i hver af de serviceorienterede arkitekturblokke: tjenesteudbyder; servicemægler, service register, servicelager; og serviceanmodning / forbruger.
Tjenesteudbyderen arbejder sammen med service-registreringsdatabasen og diskuterer, hvorfor og hvordan de tjenester, der tilbydes, såsom sikkerhed, tilgængelighed, hvad der skal opkræves med mere. Denne rolle bestemmer også servicekategorien, og om der skal være nogen handelsaftaler.
Servicemægleren stiller oplysninger om tjenesten til rådighed for dem, der anmoder om den. Mæglerens omfang bestemmes af den, der implementerer den.
Serviceanmoderen lokaliserer poster i mæglerregistret og binder dem derefter til tjenesteudbyderen. De kan muligvis ikke få adgang til flere tjenester; det afhænger af serviceanmoders evne.
Implementering af serviceorienteret arkitektur
Når det kommer til implementering af serviceorienteret arkitektur (SOA), er der en bred vifte af teknologier, som kan bruges, afhængigt af hvad dit endelige mål er, og hvad du prøver at opnå.
Typisk implementeres serviceorienteret arkitektur med webtjenester, hvilket gør de “funktionelle byggesten tilgængelige over standardinternet protokoller. ”
Et eksempel på en webservicestandard er SOAP, der står for Simple Object Access Protocol. I en nøddeskal er SOAP” en meddelelsesprotokolspecifikation til udveksling af struktureret information i implementeringen af webtjenester i computernetværk. Selvom SOAP ikke blev godt modtaget i starten, har det siden 2003 vundet mere popularitet og bliver mere udbredt og accepteret. Andre muligheder for implementering af serviceorienteret arkitektur inkluderer Jini, COBRA eller REST.
Det er vigtigt at bemærke, at arkitekturer kan “fungere uafhængigt af specifikke teknologier”, hvilket betyder, at de kan implementeres på en række forskellige måder, inklusive messaging, såsom ActiveMQ, Apache Thrift og SORCER.
Hvorfor serviceorienteret arkitektur er vigtig
Der er mange fordele ved serviceorienteret arkitektur, især i en webservicebaseret virksomhed. Vi beskriver kort nogle af disse fordele her:
Brug Serviceorienteret arkitektur til at skabe genanvendelig kode: Dette reducerer ikke kun den tid, der bruges på udviklingsprocessen, men der er ingen grund til at genopfinde kodningshjulet, hver gang du har brug for at oprette en ny service eller proces. Serviceorienteret arkitektur tillader også til brug af flere codi ng sprog, fordi alt kører gennem en central grænseflade.
Brug serviceorienteret arkitektur til at fremme interaktion: Med serviceorienteret arkitektur er en standard form for kommunikation på plads, der tillader de forskellige systemer og platforme at fungere uafhængige af hinanden. Med denne interaktion er Serviceorienteret arkitektur også i stand til at omgå firewalls, så “virksomheder kan dele tjenester, der er vigtige for driften.”
Brug serviceorienteret arkitektur til skalerbarhed: Det er vigtigt at være i stand til at skalere en virksomhed for at imødekomme klientens behov, men visse afhængigheder kan komme i vejen for denne skalerbarhed. Brug af serviceorienteret arkitektur reducerer klient-service-interaktionen, hvilket giver mulighed for større skalerbarhed.
Brug serviceorienteret arkitektur til at reducere omkostninger: Med serviceorienteret arkitektur er det muligt at reducere omkostningerne, mens du stadig er ” opretholde et ønsket outputniveau. ” Brug af serviceorienteret arkitektur giver virksomheder mulighed for at begrænse den krævede analyse, når de udvikler brugerdefinerede løsninger.
Hvordan serviceorienteret arkitektur og cloud computing fungerer sammen
Først er det vigtigt at bemærke, at Tjenesteorienteret arkitektur kan arbejde med eller uden cloud computing, selvom flere og flere virksomheder flytter filopbevaring til skyen, så det giver mening at bruge cloud computing og serviceorienteret arkitektur sammen.
I en nøddeskal giver brug af cloud computing brugerne mulighed for nemt og øjeblikkeligt at implementere tjenester, der er skræddersyet til kravene i deres klienter, “uden at skulle konsultere en IT-afdeling.”
Et fald ved at bruge Serviceorienteret arkitektur og cloud computing sammen er, at nogle aspekter af det ikke evalueres, såsom sikkerhed og tilgængelighed ility. Når man bruger cloud computing, er brugerne ofte udvalgt af udbyderen.
Der er en ret stor udfordring, som virksomheder står over for, når de kombinerer cloud computing og serviceorienteret arkitektur er integrationen af eksisterende data og systemer i skyen opløsning. Der skal være kontinuitet fra start til slut for at der skal være en problemfri overgang. Det er også vigtigt at huske på, at ikke alle it-aspekter kan outsource til skyen – der er nogle ting, der stadig skal gøres manuelt.
Du kan læse mere om, hvordan serviceorienteret arkitektur og sky computing arbejder sammen lige her.
Forskellen mellem serviceorienteret arkitektur og SaaS
Vi har talt en hel del om, hvad serviceorienteret arkitektur er, og hvordan den kan bruges til at fremme din forretning. Men der er også SaaS (Software as a Service), som også kan bruges til at fremme din virksomhed. Du undrer dig måske over, hvad SaaS er, og hvordan det adskiller sig fra serviceorienteret arkitektur. Kort sagt er de tilgængelige ressourcer via SaaS softwareapplikationer. En nøglekomponent er, at SaaS-infrastrukturen er “tilgængelig for, men skjult, for brugere.” En fordel ved SaaS er, at brugerne ikke behøver både at installere og vedligeholde software, hvilket eliminerer komplekse krav. Med SaaS behøver kunden heller ikke nogen forhåndslicenser, hvilket fører til lavere omkostninger, fordi udbydere kun opretholder en enkelt applikation.
Forskelle mellem serviceorienteret arkitektur og mikroservices
Microservices, også kendt som Microservice Architecture, er en “arkitektonisk stil, der strukturerer en applikation som en samling af små autonome tjenester, modelleret omkring et forretningsdomæne.”
Mens mikroservices og serviceorienteret arkitektur ligner hinanden på nogle måder kommer de vigtigste forskelle i deres funktionalitet. Tjenester er naturligvis hovedkomponenten i begge dele. Der er fire grundlæggende typer tjenester:
Funktionel service: disse definerer kerneforretningsaktiviteter
Virksomhedstjeneste: disse implementerer funktionaliteten defineret af de funktionelle tjenester
Applikation service: disse er begrænset til specifikt applikationsindhold
Infrastrukturtjeneste: implementerer ikke-funktionelle opgaver såsom godkendelse, revision, sikkerhed og logning
Som du kan se, hver af disse tjenester bygger på den ene før den og skaber et system, der ikke kun er let at bruge, men som giver dig en række forskellige måder at styre din virksomhed på. Som med enhver funktionalitet er det et spørgsmål om at finde ud af, hvad der fungerer bedst for dig og din virksomhed.
Du kan læse mere om serviceorienteret arkitektur og mikrotjenester her.
Nogle sidste tanker Om serviceorienteret arkitektur
Som du kan forestille dig, serviceorienteret arkitektur kan være lidt af en hård møtrik at knække, men når du først har forstået møtrikker og bolte og fordelene, det kan give din virksomhed, vil du være begejstret for, at du opdagede den.
Vi har leveret adskillige fremragende serviceorienterede arkitekturressourcer i hele denne artikel og har et par nye artikler til rådighed, der vil gå dybere ned i konceptet og give dig endnu flere ressourcer til at hjælpe dig med at skubbe din virksomhed til det næste niveau.
Uanset hvilken retning du beslutter at gå, når du leverer tjenester til dine kunder, er det vigtigt at huske på, at forskellige ting fungerer for forskellige mennesker. Selvom du ikke kan levere tilpassede tjenester til hver enkelt klient, du har påtaget dig, kan du levere en række tjenester, der passer til dine kunders mest almindelige behov.
I fremtidige artikler vil vi se på på Web 2.0 og dybere dybere ned i Serviceorienteret Microservices for arkitektur.