Wat is SOA? Servicegericht Architectuur Principes
Wat is SOA (Servicegericht Archistructuur)?
Een servicegericht Archistructuur (SOA) is een architectonisch patroon in computersoftwareontwerp waarin applicatiecomponenten diensten leveren aan andere componenten via een communicatieprotocol, meestal via een netwerk. De principes van service-oriรซntatie zijn onafhankelijk van enig product, leverancier of technologie.
SOA maakt het eenvoudigweg eenvoudiger voor softwarecomponenten over verschillende netwerken om met elkaar te werken.
Webservices die zijn gebouwd volgens de SOA-architectuur, maken webservices doorgaans onafhankelijker. De webservices zelf kunnen gegevens met elkaar uitwisselen en vanwege de onderliggende principes waarop ze zijn gemaakt, hebben ze geen enkele menselijke interactie nodig en hoeven ze ook geen codewijzigingen te ondergaan. Het zorgt ervoor dat de webservices op een netwerk naadloos met elkaar kunnen communiceren.
Servicegericht Architectuur (SOA) principes
Er zijn 9 soorten SOA-ontwerpprincipes die hieronder worden vermeld
1. Gestandaardiseerde servicecontract
Diensten voldoen aan een dienstbeschrijving. Een dienst moet een soort beschrijving hebben die beschrijft waar de dienst over gaat. Dit maakt het voor clienttoepassingen gemakkelijker om te begrijpen wat de service doet.
2. Losse koppeling
Less afhankelijkheid van elkaar. Dit is een van de belangrijkste kenmerken van webservices, die gewoon stelt dat er zo min mogelijk afhankelijkheid moet zijn tussen de webservices en de client die de webservice aanroept. Dus als de functionaliteit van de service op enig moment verandert, mag dit de clienttoepassing niet verstoren of verhinderen dat deze werkt.
3. Service Abstractie
Diensten verbergen de logica die zij inkapselen voor de buitenwereld. De service mag niet onthullen hoe deze zijn functionaliteit uitvoert; het moet de clienttoepassing alleen vertellen wat het doet en niet hoe het het doet.
4. Herbruikbaarheid van diensten
Logica is onderverdeeld in services met de bedoeling hergebruik te maximaliseren. In elk ontwikkelingsbedrijf is herbruikbaarheid een belangrijk onderwerp, omdat je natuurlijk geen tijd en moeite wilt besteden aan het steeds opnieuw bouwen van dezelfde code voor meerdere applicaties die deze code nodig hebben. Zodra de code voor een webservice is geschreven, moet deze dus met verschillende toepassingstypen kunnen werken.
5. Dienstautonomie
Diensten moeten controle hebben over de logica die zij in zich dragen. De dienst weet alles over welke functionaliteit het biedt en moet daarom ook volledige controle hebben over de code die erin staat.
6. Dienst staatloosheid
Idealiter zouden services stateless moeten zijn. Dit betekent dat services geen informatie mogen achterhouden tussen verschillende statussen. Dit zou moeten gebeuren vanuit de clientapplicatie. Een voorbeeld hiervan is een bestelling die in een webwinkel wordt geplaatst.ping site. Nu kun je een webservice hebben die je de prijs van een bepaald artikel geeft. Maar als de artikelen aan een winkel worden toegevoegd...ping Wanneer de winkelwagen en de webpagina doorverwijzen naar de pagina waar u de betaling uitvoert, is het niet de verantwoordelijkheid van de webservice om de prijs van het artikel door te geven aan de betaalpagina. Dit moet in plaats daarvan door de webapplicatie worden gedaan.
7. Vindbaarheid van diensten
Services kunnen worden ontdekt (meestal in een serviceregister). We hebben dit al gezien in het concept van de UDDI, dat een register uitvoert dat informatie over de webservice kan bevatten.
8. Composibiliteit van diensten
Diensten verdelen grote problemen in kleine problemen. Je moet nooit alle functionaliteit van een applicatie in รฉรฉn enkele dienst onderbrengen, maar de dienst in plaats daarvan opsplitsen in modules met elk een afzonderlijke bedrijfsfunctionaliteit.
9. Interoperabiliteit van diensten
Diensten moeten standaarden gebruiken die verschillende abonnees in staat stellen de dienst te gebruiken. Bij webservices zijn standaarden als XML en communicatie via HTTP wordt gebruikt om ervoor te zorgen dat deze aan dit principe voldoet.
