Hoe bouw je een Service Oriented Architecture (SOA))

 How to Build a Service Oriented Architecture (SOA)

© .com | Bakhtiar Zein

In dit artikel richten we ons op het onderwerp Service Oriented Architecture (SOA). We beginnen met een diepe duik in 1) SOA: een beschrijving en gaan dan bespreken 2) het bouwen van een Service-georiënteerde architectuur.

SERVICE ORIENTED ARCHITECTURE: a DESCRIPTION

Wat is SOA?

SOA of Service-oriented Architecture is een methode waarbij verschillende soorten diensten onafhankelijk met elkaar kunnen interageren. Een dienst is een op zichzelf staand onderdeel van de functionaliteit, en verschillende diensten kunnen worden gecombineerd om het gebruik en de functionaliteit van een softwaretoepassing op grote schaal te bieden. Wat SOA doet is dat het maakt het eenvoudiger voor software onderdelen op PC ‘ s die zijn aangesloten op een netwerk om te communiceren en samen te werken. Het ontwerppatroon van SOA is zodanig dat applicatiecomponenten daarin diensten kunnen aanbieden aan andere dergelijke componenten, meestal via een netwerk. Elk computersysteem kan een aantal diensten uitvoeren, die elk zijn gebouwd om informatie uit te wisselen met andere verschillende diensten in een netwerk zonder menselijke hulp.

in bedrijfsterminologie is SOA een reeks op het bedrijf afgestemde IT-diensten die samen de doelstellingen en processen van het bedrijf aanpakken. Het structurele ontwerp van SOA zorgt ervoor dat er een afstemming met de eisen van het bedrijf, evenals de technologische oplossing van hetzelfde.

de belangrijkste elementen van SOA

hier zijn de belangrijkste elementen van SOA:

  • Soa Drivers – soa drivers of enterprise business drivers omvatten zaken als concurrentie, strategie, regelgevende krachten en marktkrachten. Al deze zaken komen samen om de bedrijfsarchitectuur aan te sturen en vorm te geven aan het bedrijfsbrede prestatiebeheer
  • SOA-enablers – de vijf belangrijkste soa-enablers zijn bedrijfsmodel, optimalisatie van de prestaties van het bedrijf, rationalisatie van de portefeuille, definitie van Bedrijfssemantiek en essentiële prestatie-indicatoren. Het hebben van een business model is belangrijk voor de juiste afstemming van diensten met de doelstellingen en doelstellingen van het bedrijf. Het semantische informatiemodel geeft de gemeenschappelijke en algemene bedrijfsgerelateerde informatie voor een bepaalde onderneming. Key performance indicators of KPI ‘ s maken het beoordelen van de impact van SOA mogelijk en maken het meten van bedrijfsprocessen eenvoudiger. Anderzijds maakt portfolio rationalisatie consolidatie en vereenvoudiging van toepassingen, data en infrastructuur mogelijk.
  • SOA implementatie – wat de implementatie betreft, zijn Zakelijke diensten en processen de belangrijkste aspecten. Bedrijfsprocessen worden meestal geassocieerd met zakelijke doelen en doelstellingen van de activiteiten, terwijl, aan de andere kant, Zakelijke diensten moeten goed worden afgestemd en zijn van cruciaal belang voor flexibele en succesvolle SOA-implementatie. Enkele van de andere aspecten met betrekking tot SOA-implementatie zijn enterprise content repositories, semantische berichten en integratiediensten. De informatie vertegenwoordigt de gegevensbronnen van het bedrijf, en deze gegevens worden doorgegeven in de vorm van documenten die een soort semantische berichten tussen diensten en processen te bieden.
  • SOA-ondersteuning-alle functies en elementen van de bestaande toepassingen en systemen worden beschikbaar en bruikbaar gemaakt voor de diensten met de ondersteuning van sommige integratiediensten die covers van de bestaande functies via nieuwe dienstinterfaces verwijderen.

de belangrijkste beginselen van SOA

Hieronder volgt de lijst van de belangrijkste beginselen van SOA:

  • Servicearchitectuur-de fysieke lay-out of het ontwerp van individuele diensten die alle bronnen overschrijden die door een dienst werden gebruikt.
  • service composition architecture-alle diensten die zijn ontwikkeld met behulp van service-oriented design methods zijn composition centric, en dit is hun belangrijkste kenmerk. Deze architectuur is dus de samenstelling van individuele architecturen van verschillende diensten.
  • service inventory architecture-deze architectuur wordt gevormd uit de service inventory blueprint, waarbij de service inventory bestaat uit diensten die de procedures van bedrijven automatiseren.
  • servicegerichte bedrijfsarchitectuur – dit type bestaat uit compositiearchitecturen, dienstenarchitecturen en inventarisarchitecturen.

de evolutie van SOA-Concept

  • monolithisch ontwerp – Dit ontwerp was gerelateerd aan relatief ongestructureerde procedurele codering
  • Object – en structuurgeoriënteerd ontwerp – Dit is het ontwerp dat programma-eenheden omvat gebaseerd op functionaliteiten.
  • Client-server design (two-tier design) – Dit is het concept van gedistribueerd ontwerp en is gerelateerd aan het bundelen van functionaliteiten in twee lagen.
  • gedistribueerd objectontwerp (multitierontwerp) – dit ontwerp omvat objectinteracties in een heterogene omgeving en gedistribueerd objectontwerp.
  • Component object model architectuur-Dit is een ontwerp waarin er een samenvoeging van items in logica gebaseerde delen met sterk types evenals een goed gedefinieerde interface.
  • Service oriented architecture-dit is een ontwerp dat interacties en communicatie omvat tussen grofkorrelige diensten met standaard interfaces voor een flexibele interoperabiliteit.

SOA en JAVA

veel ontwikkelaars denken dat SOA, evenals webservices, synoniem zijn met elkaar, maar dit is niet waar. Ze kunnen ook geloven dat het gewoon niet mogelijk is om SOA te bouwen zonder gebruik te maken van web services, maar in werkelijkheid, SOA is een ontwerp principe, maar web services zijn een soort van een implementatie technologie. Dit betekent dat SOA in feite kan worden gebouwd zonder gebruik te maken van implementatietechnologie van een bepaalde soort. Maar Java is een ander soort traditionele technologie die kan worden gebruikt om Service-georiënteerde architectuur te ontwikkelen of te bouwen.

het hoofddoel van SOA is het ontwikkelen van een losse koppeling tussen modules, en een toepassing kan worden gebouwd waar de modules niet te strak aan elkaar gekoppeld zijn. Dit soort structuren kan worden gebouwd of gevormd met behulp van JAVA.

Wat zijn de kenmerken van SOA?

  • losse verbinding-de diensten in SOA zijn losjes met elkaar verbonden om één verbinding te vormen. Dit geeft een vooronderstelling aan de mate van onderlinge afhankelijkheid tussen elke dienst. Het belangrijkste idee is om de onderlinge afhankelijkheid terug te brengen tot het niveau waarop de compatibiliteit nog steeds wordt gehandhaafd.
  • de gestandaardiseerde diensteninterface – een basisvereiste van SOA is de behoefte aan standaardisatie van interfaces en details. De details moeten omvatten welke gegevens nodig zijn, hoe een dienst kan worden gebruikt en hoe regels moeten worden toegepast.
  • herbruikbaarheid – in SOA is herbruikbaarheid van diensten in de procesketen ook mogelijk door andere partijen en ook voor andere soorten doeleinden.
  • vindbaarheid van een dienst – een ander kenmerk is dat een dienst gemakkelijk te vinden is om hem te kunnen gebruiken. Voor alle consumenten worden serviceopslagplaatsen beschikbaar gesteld, die bestaan uit de interface en de uitvoeringsmethode van de dienst.
  • Dienstautonomie-elke dienst moet onafhankelijk kunnen werken en functioneren. Deze term verwijst naar die diensten die zelfvoorzienend zijn en in staat zijn om hulpbronnen, logica en het milieu op zichzelf te beheren.
  • capaciteit voor dienstorkestratie – dit is een proces waarbij een individuele dienst wordt gecombineerd met andere dergelijke diensten om te resulteren in grotere bedrijfsprocessen of eenheden. Dit is een andere eigenschap of eis voor SOA.
  • staatloosheid van diensten-de uitvoering van diensten is gebaseerd op het concept dat een gedefinieerde dienst wordt verleend. Hierbij wordt rekening gehouden met het bewaren van gegevens, maar alleen als de eis specifiek wordt gespecificeerd of speciaal wordt gevraagd.

voordelen en voordelen van SOA

  • betere return on investment-een van de grootste voordelen van SOA is dat het een uitstekende return on investment biedt. Aangezien het proces bestaat uit het creëren van robuuste lagen, bieden elk van deze service lagen een beter rendement op de investering die werd gedaan om de software te maken.
  • Codemobiliteit-dit is nog een ander belangrijk voordeel van SOA en is mogelijk omdat er een locatietransparantie is in Service Oriented Architecture. De meeste klanten niet schelen waar de diensten zich bevinden, omdat er een dynamische binding evenals de lookup naar diensten. Dit betekent dat de bedrijven die SOA gebruiken diensten kunnen verplaatsen naar verschillende machines of verplaatsen naar externe dienstverleners.
  • de herbruikbaarheid-een ander voordeel van SOA is dat de verschillende codes en diensten steeds opnieuw kunnen worden gebruikt. Er is het gemak van Runtime Service hergebruik, en het is net zo eenvoudig als het vinden van een service in de directory en binden aan het. De ontwikkelaars hoeven zich geen zorgen te maken over platforms en andere onverenigbaarheden.
  • ondersteuning voor verschillende clienttypen – elk bedrijf kan meerdere clienttypen en meerdere clients gebruiken om toegang te krijgen tot een service in SOA. Dit komt omdat in een dergelijke structuur of concept, de lagen zijn verdeeld in service, en client lagen en verschillende client types zijn eenvoudiger te implementeren.
  • een hoger niveau van beschikbaarheid-verschillende servers hebben verschillende gevallen van diensten die ze gebruiken vanwege het feit dat SOA locatietransparantie ondersteunt. Dit betekent dat de totale beschikbaarheid zeer hoog is. Bijvoorbeeld, als een machine of een deel van een netwerk stopt met werken of een probleem heeft, kunnen de verzoeken worden omgeleid naar andere diensten zonder dat de client het weet of er last van heeft.
  • minder defecten-Dit is een groot voordeel van SOA. De kans op defecten is veel lager, en het algemene testen is een stuk beter als gevolg van gepubliceerde interfaces van diensten die gemakkelijk kunnen worden getest. Meer testen vertaalt zich in een grotere mate van nauwkeurigheid en minder defecten.

SOA-uitdagingen

  • gebrek aan testruimte – een van de grootste uitdagingen bij SOA is het gebrek aan testruimte. In een typische architectuur zijn er geen goed gevormde of geavanceerde tools of methoden om een headless service te testen, zoals een bericht-of databaseservice. De belangrijkste doelstelling van SOA is om flexibiliteit te bieden aan bedrijven en bedrijven. Maar door gebrek aan horizontaal vertrouwen, moet men investeren in een testkader dat de uitdaging gemakkelijker zou maken.
  • metadata voor diensten beheren – Dit is een veel voorkomende en zeer voor de hand liggende uitdaging van SOA. Het beheren van de diensten metadata is niet alleen moeilijk, maar vaak zeer ingewikkeld. Een service based architectural space omvat diensten die met elkaar communiceren door het uitwisselen van berichten. In een dergelijk scenario, een enkele diensten kan soms miljoenen berichten gegenereerd. Het beheren van deze vele diensten kan zeer moeilijk worden, vooral wanneer de diensten worden geleverd door verschillende bedrijven en afdelingen binnen een bedrijf. Dit creëert veel vertrouwensproblemen.
  • het bieden van juiste beveiligingsniveaus – een andere uitdaging van SOA is het bieden van passende beveiligingsniveaus. De door de toepassing beheerde beveiliging is niet de juiste methode of model voor het beveiligen van services, omdat beveiligingsmodellen die zijn ontworpen in toepassingen niet kunnen volstaan wanneer de toepassing zichzelf aan anderen toont.
  • interoperabiliteit – dit wordt een cruciaal aspect van SOA-implementaties. Vaak kan bij het streven naar vermindering of vermindering van de onderlinge afhankelijkheid van diensten de compatibiliteit tussen deze diensten afnemen, maar moet de afhankelijkheid worden verminderd tot een zodanig niveau dat de compatibiliteit nog steeds kan worden gehandhaafd.
  • Leveranciershype – er is een significante leveranciershype met betrekking tot SOA, en dit creëert een bepaald niveau van buitensporige verwachtingen. Hoewel er veel voordelen van SOA zijn, kan het ook verschillende nadelen hebben. SOA garandeert bijvoorbeeld geen verlaging van de IT-kosten en belooft zelfs geen verbetering van de wendbaarheid van systemen. Het zou dus beter zijn als er een duidelijk onderscheid was tussen hype en realiteit.

het bouwen van een SERVICE ORIENTED ARCHITECTURE

SOA Framework

om te begrijpen hoe SOA wordt gebouwd, moet u eerst begrijpen wat het framework is.

SOA wordt gezien als 5 verschillende horizontale lagen die:

  1. Consumer interface layer – dit zijn de apps die toegang tot service of app interfaces.
  2. Business process layer-dit is een laag die een service is die bedrijfsgebruiksgevallen vertegenwoordigt voor zover het toepassingen betreft.
  3. diensten-veel diensten worden samengebracht om een hele onderneming op te richten.
  4. servicecomponenten-dit zijn die componenten of onderdelen die worden gebruikt voor het bouwen van diensten zoals technologische interfaces en technische bibliotheken, enz.
  5. operationele systemen – Dit is de laag die technische patronen, datamodellen, en dataopslag, enz. bevat.

de volgende verticale lagen van het SOA-kader worden toegepast op en ondersteund door de horizontale lagen:

  1. Integratielaag-deze laag bestaat uit protocolondersteuning of platformintegratie, data-integratie, applicatie-en service-integratie, enz.
  2. kwaliteit van de Dienst-de factoren die deel uitmaken van de kwaliteit van de dienst omvatten beschikbaarheid, veiligheid, prestaties en andere.
  3. informatie-Deze laag levert voornamelijk bedrijfsgerelateerde informatie.
  4. Governance-deze laag of IT-strategielaag wordt beheerst door horizontale lagen om capaciteit en operationeel model te bereiken, indien nodig.

SOA Implementation Framework (SOAIF)

SOA implementation heeft en vereist runtime infrastructurele software en instrumenten. Dit kan collectief worden aangeduid als service-oriented architecture implementation framework of SOAIF. Dit concept streeft naar een uitgebreid framework dat allerlei technologie biedt die een bedrijf nodig kan hebben om niet alleen SOA te bouwen, maar ook te runnen. Een SOAIF bestaat uit en omvat zowel run-time en design-time mogelijkheden. Het bevat ook software functionaliteit die een bedrijf kan nodig zijn om een SOA draaien en ook bouwen, met inbegrip van service-georiënteerde:

  • modellering
  • integratie
  • Tools
  • Management
  • beveiliging
  • processen

benaderingen van SOA

er zijn drie belangrijke types of methoden of benaderingen ontstaan voor Clubinformatie, ongelijksoortige en systemen in een bedrijf. Als verschillende dienstverleners en bedrijven race naar het leveren van oplossingen aan klanten en consumenten, deze benaderingen helpen om te voldoen aan de eisen voor grofkorrelige, losjes gekneusde en asynchrone diensten.

1. De Enterprise Service Bus

de eerste aanpak die helpt bij het bouwen en implementeren van een optimale SOA is de enterprise service bus of ESB. Deze aanpak helpt bij het coördineren en ordenen van de verschillende elementen in de vorm van gedistribueerde diensten op een netwerk. Deze benadering beschouwt de systemen als discrete en gedistribueerde diensten die met elkaar verbinden door middel van bericht georiënteerde infrastructuur die asynchroon is. Dit soort berichtgerichte infrastructuur maakt het mogelijk om losjes gekoppelde verbindingen te hebben tussen onafhankelijke diensten of modules.

2. Bedrijfsprocesmanagement

vele bedrijven hebben al vele jaren geprobeerd problemen met bedrijfsprocesmanagement op te lossen door de implementatie van een Bedrijfsprocesmanagementbenadering. Deze aanpak houdt rekening met de IT-activa en-systemen als activiteiten of taken die deelnemen aan goed gesynchroniseerde en goed georkestreerde bedrijfsprocedures. BPM-tools worden voornamelijk gebruikt op het moment van het modelleren en ontwerpen van procedures in plaats van ze te gebruiken om processen te construeren die integratiedoelstellingen kunnen bereiken. Dit is de belangrijkste uitdaging van BPM. Door BPM oplossingen op hun eigen zijn genoeg om te voldoen aan SOA-eisen, omdat ze niet bestaan uit de runtime-omgeving die nodig is voor losjes gekoppelde modules.

3. Service Oriented Integration

de derde en laatste aanpak voor een goede implementatie van SOA is de service-oriented integration approach. Deze specifieke aanpak maakt gebruik van de architecturale leidende regels of principes om een omgeving of ecosysteem van diensten te bouwen die bedrijven dynamisch kunnen combineren en superieure processen kunnen creëren die kunnen voldoen aan steeds veranderende en evoluerende eisen. Deze aanpak gaat voorbij aan nauw verbonden en broze modules door een onderscheid te maken tussen de consument en de producent van een dienst. Het legt dus het aspect van losse koppeling op dat nodig is om SOA naar behoren te implementeren om aan de zakelijke vereisten te voldoen. Zelfs deze aanpak op zich is niet voldoende om lange tijd lopende interacties tussen diensten te garanderen.

de beste praktijken voor het bouwen van een SOA

bij het bouwen van een SOA moeten enkele van de beste en meest voordelige praktijken worden gevolgd. Deze praktijken worden als volgt weergegeven::

  1. implementatie technologieën zijn veel hyped, en men moet niet te springen om hen vanwege hun populariteit. Men moet zorgvuldig overwegen of de webservices zinvoller zijn voor hun eis en behoefte. Het is belangrijk om te onthouden dat het bouwen van service-georiënteerde applicaties door gebruik te maken van technologieën zoals KMI misschien meer geschikt zijn voor de zaak van een bedrijf in plaats van web services.
  2. men moet niet vergeten om zeer nauw verbonden of gekoppelde modules te maken of te bouwen, omdat dit leidt tot een brosse opzet of Infrastructuur.
  3. het is belangrijk de interoperabiliteit te handhaven en hiervoor moeten de beste praktijken van de WS-I worden gevolgd.
  4. als het geen zin heeft om webservices te gebruiken, dan zijn er ook veel andere alternatieve opties die kunnen worden gekozen.
55 aandelen

Leave a Reply

Het e-mailadres wordt niet gepubliceerd.