Een blik op de moeren en bouten van servicegerichte architectuur
Service-Oriented Architecture (SOA) is een stijl van softwareontwerp waarbij services aan de andere componenten worden geleverd door toepassingscomponenten, via een communicatieprotocol via een netwerk. De principes zijn onafhankelijk van leveranciers en andere technologieën. In een servicegeoriënteerde architectuur communiceren een aantal services met elkaar, op twee manieren: door gegevens door te geven of via twee of meer services die een activiteit coördineren. Dit is slechts één definitie van servicegerichte architectuur. Een artikel op Wikipedia gaat veel meer in detail.
Kenmerken van servicegerichte architectuur
Hoewel de bepalende concepten van servicegerichte architectuur van bedrijf tot bedrijf verschillen, zijn er zes kernprincipes dat overkoepelt het brede concept van Service-Oriented Architecture. Deze kernwaarden zijn onder meer:
Bedrijfswaarde
Strategische doelen
Intrinsieke interoperabiliteit
Gedeelde diensten
Flexibiliteit
Evolutionaire verfijning
Elk van deze kernwaarden kan worden gezien op een continuüm van gedistribueerd computergebruik in een ouder formaat tot servicegerichte architectuur en cloud computing (iets dat vaak wordt gezien als een uitloper van servicegerichte architectuur).
Servicegerichte architectuurpatronen
Er zijn drie rollen in elk van de Service-Oriented Architecture-bouwstenen: serviceprovider; servicemakelaar, serviceregister, servicerepository; en service aanvrager / consument.
De serviceprovider werkt samen met het serviceregister en debatteert over het waarom en hoe van de aangeboden services, zoals beveiliging, beschikbaarheid, wat te vragen en meer. Deze rol bepaalt ook de servicecategorie en of er handelsovereenkomsten moeten zijn.
De servicemakelaar stelt informatie over de service beschikbaar aan degenen die daarom vragen. De omvang van de makelaar wordt bepaald door degene die het implementeert.
De serviceaanvrager lokaliseert vermeldingen in het makelaarsregister en bindt ze vervolgens aan de serviceprovider. Ze hebben al dan niet toegang tot meerdere services; dat hangt af van de mogelijkheden van de serviceaanvrager.
Implementatie van servicegerichte architectuur
Als het gaat om het implementeren van servicegerichte architectuur (SOA), is er een breed scala aan technologieën die kan worden gebruikt, afhankelijk van wat uw einddoel is en wat u probeert te bereiken.
Service-Oriented Architecture wordt doorgaans geïmplementeerd met webservices, waardoor de functionele bouwstenen toegankelijk zijn via standaard internet protocollen. ”
Een voorbeeld van een webservicestandaard is SOAP, wat staat voor Simple Object Access Protocol. In een notendop: SOAP is een berichtprotocolspecificatie voor het uitwisselen van gestructureerde informatie bij de implementatie van webservices in computer netwerken. Hoewel SOAP aanvankelijk niet goed werd ontvangen, heeft het sinds 2003 aan populariteit gewonnen en wordt het steeds vaker gebruikt en geaccepteerd. Andere opties voor het implementeren van Service-Oriented Architecture zijn Jini, COBRA of REST.
Het is belangrijk op te merken dat architecturen onafhankelijk van specifieke technologieën kunnen werken, wat betekent dat ze op verschillende manieren kunnen worden geïmplementeerd, inclusief berichten, zoals ActiveMQ; Apache Thrift; en SORCER.
Waarom servicegerichte architectuur belangrijk is
Servicegeoriënteerde architectuur heeft veel voordelen, vooral in een op webservices gebaseerd bedrijf. We zullen hier in het kort enkele van die voordelen beschrijven:
Gebruik Servicegeoriënteerde architectuur om herbruikbare code te maken: dit vermindert niet alleen de tijd die aan het ontwikkelingsproces wordt besteed, maar er is ook geen reden om het codeerwiel opnieuw uit te vinden elke keer dat u een nieuwe service of een nieuw proces moet maken. voor het gebruik van meerdere codi ng talen omdat alles via een centrale interface verloopt.
Gebruik servicegerichte architectuur om interactie te bevorderen: met servicegerichte architectuur wordt een standaardvorm van communicatie ingevoerd, waardoor de verschillende systemen en platforms kunnen functioneren onafhankelijk van elkaar. Met deze interactie kan Service-Oriented Architecture ook rond firewalls werken, waardoor “bedrijven services kunnen delen die essentieel zijn voor de bedrijfsvoering.”
Gebruik servicegerichte architectuur voor schaalbaarheid: het is belangrijk om een bedrijf te kunnen schalen om aan de behoeften van de klant te voldoen, maar bepaalde afhankelijkheden kunnen die schaalbaarheid in de weg staan. Het gebruik van servicegerichte architectuur vermindert de interactie tussen klant en service, wat een grotere schaalbaarheid mogelijk maakt.
Gebruik servicegerichte architectuur om kosten te verlagen: met servicegerichte architectuur is het mogelijk om de kosten te verlagen terwijl u nog steeds ” het handhaven van een gewenst outputniveau. ” Door servicegerichte architectuur te gebruiken, kunnen bedrijven de hoeveelheid analyse beperken die nodig is bij het ontwikkelen van maatwerkoplossingen.
Hoe servicegerichte architectuur en cloudcomputing samenwerken
Ten eerste is het belangrijk op te merken dat Servicegeoriënteerde architectuur kan met of zonder cloud computing werken, hoewel steeds meer bedrijven bestandsopslag naar de cloud verplaatsen, dus het is logisch om cloud computing en servicegerichte architectuur samen te gebruiken.
In een notendop: met cloud computing kunnen gebruikers eenvoudig en onmiddellijk services implementeren die zijn afgestemd op de vereisten van hun klanten, “zonder een IT-afdeling te hoeven raadplegen.”
Een nadeel van het samen gebruiken van servicegerichte architectuur en cloud computing is dat sommige aspecten ervan niet worden geëvalueerd, zoals beveiliging en beschikbaarheid. iliteit. Bij het gebruik van cloud computing zijn gebruikers vaak overgeleverd aan de provider.
Er is een vrij grote uitdaging waarmee bedrijven worden geconfronteerd bij het samenvoegen van cloud computing en servicegerichte architectuur, is de integratie van bestaande gegevens en systemen in de cloud oplossing. Er moet continuïteit zijn van begin tot eind om een naadloze overgang te garanderen. Het is ook belangrijk om in gedachten te houden dat niet elk IT-aspect aan de cloud kan worden uitbesteed – er zijn enkele dingen die nog handmatig moeten worden gedaan.
U kunt meer lezen over hoe servicegerichte architectuur en cloud computers werken hier samen.
Het verschil tussen servicegerichte architectuur en SaaS
We hebben nogal wat gesproken over wat servicegerichte architectuur is en hoe het kan worden gebruikt om uw bedrijf vooruit te helpen. Maar er is ook SaaS (Software as a Service), die ook kan worden gebruikt om uw bedrijf vooruit te helpen. U vraagt zich misschien af wat SaaS is en hoe het verschilt van Service-Oriented Architecture. Kortom, de middelen die via SaaS beschikbaar zijn, zijn softwareapplicaties. Een belangrijk onderdeel is dat de SaaS-infrastructuur “beschikbaar is voor, maar verborgen voor gebruikers”. Een voordeel van SaaS is dat gebruikers niet zowel software hoeven te installeren als te onderhouden, waardoor complexe vereisten worden geëlimineerd.Met SaaS heeft de klant ook geen voorafgaande licenties nodig, wat leidt tot lagere kosten omdat providers alleen onderhouden een enkele applicatie.
Verschillen tussen servicegerichte architectuur en microservices
Microservices, ook bekend als Microservice Architecture, is een “architectonische stijl die een applicatie structureert als een verzameling kleine autonome services, gemodelleerd rond een zakelijk domein”.
Terwijl microservices en servicegerichte architectuur vergelijkbaar zijn in sommige opzichten zitten de belangrijkste verschillen in hun functionaliteit. Diensten zijn uiteraard de belangrijkste component van beide. Er zijn vier basistypen van services:
Functionele service: deze definiëren de kernbedrijfsactiviteiten
Enterprise-service: deze implementeren de functionaliteit die is gedefinieerd door de functionele services
Applicatie service: deze zijn beperkt tot specifieke applicatie-inhoud
Infrastructuurservice: implementeert niet-functionele taken zoals authenticatie, auditing, beveiliging en logboekregistratie
Zoals u kunt zien, heeft elk van deze services bouwt voort op het voorgaande en creëert een systeem dat niet alleen gemakkelijk te gebruiken is, maar u ook verschillende manieren biedt om uw bedrijf te beheren. Zoals met elke functionaliteit, is het een kwestie van uitzoeken wat het beste werkt voor jou en je bedrijf.
Je kunt hier meer lezen over servicegerichte architectuur en microservices.
Enkele laatste gedachten Op servicegerichte architectuur
Zoals u zich kunt voorstellen, servicegerichte architectuur kan een beetje lastig zijn om te kraken, maar als je eenmaal de moeren en bouten ervan begrijpt en de voordelen die het je bedrijf kan bieden, zul je het geweldig vinden dat je het ontdekt.
We hebben in dit artikel verschillende uitstekende servicegerichte architectuurbronnen geleverd en er komen nog een paar artikelen aan die dieper in het concept zullen duiken en u nog meer middelen zullen bieden om u te helpen uw bedrijf naar het volgende niveau.
Welke richting u ook kiest bij het verlenen van diensten aan uw klanten, het is belangrijk om in gedachten te houden dat verschillende dingen voor verschillende mensen zullen werken. Hoewel u niet voor elke afzonderlijke klant die u heeft aangenomen, aangepaste services kunt bieden, kunt u wel een reeks services bieden die passen bij de meest voorkomende behoeften van uw klanten.
In toekomstige artikelen zullen we kijken op Web 2.0 en duik dieper in Service-Oriented Architecture Microservices.