1 / 39

IT Arkitektur og Sikkerhed

IT Arkitektur og Sikkerhed. Service Orienteret Arkitektur (SOA). Sidste uge. I sidste uge gennemgik vi Hvad er IT Arkitektur? LDAP og NOS Applikationsservere Tynde/Tykke klienter Server baseret processering N-lags modeller Middleware. Dagsorden. I denne uge gennemgår vi

Télécharger la présentation

IT Arkitektur og Sikkerhed

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. IT Arkitektur og Sikkerhed Service Orienteret Arkitektur (SOA)

  2. Sidste uge • I sidste uge gennemgik vi • Hvad er IT Arkitektur? • LDAP og NOS • Applikationsservere • Tynde/Tykke klienter • Server baseret processering • N-lags modeller • Middleware

  3. Dagsorden • I denne uge gennemgår vi • Service Orienteret Arkitektur • IT Arkitektur Patterns /v Citrix og SAP ROI case

  4. Næste uge • I næste uge gennemgår vi • Enterprise Arkitektur

  5. Hvilket problem vil vi gerne løse

  6. Hvilket problem vil vi gerne løse • XXX har 71 kærnesystemer som er knyttet sammen med 453 forbindelser (den inderste ring) • Der er 312 forbindelser mellem XXX's kærnesystemer til 97 eksterne interessenter (den yderste ring) • Mange af program-til-program forbindelser er baseret på forskelligartet teknologi, og kræver typisk at klienten forstår den system grænseflade og protokol, samt de funktioner som serveren stiller til rådighed.

  7. Hvilket problem vil vi gerne løse • Hver gang vi skal udskifte et system skal vi ændre på alle program-til-program forbindelser fra dette system til andre systemer, men potentielt også på andre systemers program-til-program forbindelse til det udskiftede system (kompleks og langsommelig implementering) • Introduktion af nye systemer kræver ligeledes etablering af program-til-program forbindelser til og fra det nye system (kompleks og langsommelig implementering) • De data/funktioner der udveksles mellem systemerne er meget specifikke og kan kun bruges i den bestemte kontekt de er udviklet, og kræver som oftest specifik set-up i begge ender (begrænset genbrug)

  8. Service Orienteret Arkitektur • Serviceorienteret arkitektur (forkortes SOA) er en måde at opbygge en dynamisk og distruberet IT-arkitektur • SOA består grundlæggende af en række løstkoblede services der er designet ud for meget specifikke kriterier om at de skal være veldefinerede, selvberoende og uafhængige. • SOA er i dag typisk implementeret med Web Services, men der er umiddelbart ingen begrænsning hertil • SOA understøttes i dag af alle væsentlig IT leverandører. Så som SAP, IBM, Oracle, Microsoft m.fl.

  9. Service • En service tilgås gennem dens service interface • Implementeringen af en service er gemt for konsumenten med undtagelse af information og funktion udstillet igennem servicens interface • Konsekvensen ved aktivering af en service er • Information bliver returneret på anmodning fra producenten, • Ændring af tilstand hos producenten, eller • En kombination af begge ovenstående • Konsumenten ved ikke hvordan information er frembragt (fra en database, fra en udregning eller fra et helt tredje sted) og typisk heller ikke hvordan tilstanden er ændret hos producenten.

  10. Web er en succes • Web er primært kendt som en infrastruktur, hvor brugeren ved hjælp af en browser har adgang til alskens information og tjenester via en myriade af web-servere placeret overalt på Internettet • Web Services udvider denne infrastruktur til også at understøtte program-til-program forbindelse, hvor klienten ikke er en menneske-styret browser. • En Web Service defineres som en applikation eller et programobjekt, der, via Internet protokoller, stiller en grænseflade til rådighed, hvorigennem klienter kan udføre funktionskald eller foretage dataudvekslinger.

  11. Web Services • Web services benytter WSDL (Web Services Decription Language) som er en XML-baseret grammatik til at beskrive web services grændsefladen. Det betyder at de operationer som konsumenten kan gøre brug af er beskrevet i WSDL • Web services benytter SOAP (Simple Object Access Protocol) som protokol. SOAP benytter HTTP til at sende og modtager beskeder over Internettet.

  12. Eksempel • Jeg vil godt lave en web side hvor en bruger kan indtaste oplysninger om sig selv. • Den skal være en smule automatisk og bl.a. kunne fortælle om længdegrad og breddegrad for det postnummer jeg bor i. • Hmm, hvorfor ikke se om jeg kan finde en sådan web service

  13. Eksempel www.xmethods.org er en samling af tilgængelig web services. Har mest udtryk at Proof-of-Concept

  14. Eksempel http://xmethods.org/ve2/ViewListing.po?key=uuid:1AF499AB-7A1B-7476-BC5A-23BF1715CB77

  15. Eksempel

  16. Bagved eksemplet • WSDL definitionen af web servicen http://www.jasongaylord.com/webservices/zipcodes.asmx?wsdl • SOAP destinationhttp://www.jasongaylord.com/webservices/zipcodes.asmx • SOAP kaldet SOAPAction: http://www.jasongaylord.com/webservices/zipcodes/ZipCodeToLatitudeLogitudeUser-Agent: MindreefSOAPscope 4.1.2000 (http://www.mindreef.com)Content-Type: text/xml; charset=UTF-8 <?xml version="1.0" encoding="UTF-8"?> <soap:Envelopexmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tns="http://www.jasongaylord.com/webservices/zipcodes" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <soap:Body> <tns:ZipCodeToLatitudeLogitude> <tns:ZipCode>94101</tns:ZipCode> </tns:ZipCodeToLatitudeLogitude> </soap:Body> </soap:Envelope>

  17. XML • Står for ”eXtensible Markup Language” • Man kan vel sige at XML gør for data hvad HTML gjorde for præsentation • Hvor bliver XML brugt?

  18. XML konceptet • XML skal være struktureret ordentligt • Man bruger et skema når XML elementer skal give mening • XML separerer data fra repræsentation • Idéen er at det er læsbart for både maskiner og mennesker • XML er altså om struktur og semantik

  19. Hvad er XML ikke • XML handler ikke om præsentation • XML er ikke et programmeringssprog • XML er ikke en netværks protokol • XML er ikke en database • XML ”gør” ikke noget i sig selv

  20. XML skema • Skemaer er regler som et XML dokument skal opfylde • Populære måder at definere et skema på inkluderer ”Document Type Definition (DTD)” eller ”W3C XML Schema” • DTD er mest brugbart til ”style documents” (i.e. fokus på præsentation) • W3C XML skema er mest brugbart i forbindelse med data orienterede strukturer (f.eks. specifikke data typer)

  21. XML skema <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="country" type="Country"/> <xs:complexType name="Country"> <xs:sequence> <xs:element name="name" type="xs:string"/> <xs:element name="population" type="xs:decimal"/> </xs:sequence> </xs:complexType> </xs:schema>

  22. Hvad er SOAP? • SOAP er en XML baseret letvægtsprotokol til udveksling af struktureret og type-behæftet information i et decentralt, distribueret miljø. Enhederne, der udveksles, kaldes beskeder. SOAP definerer ingen fast semantik for, hvordan beskederne udveksles og kan bindes til forskellige transportprotokoller, hvilket giver en fleksibilitet, der gør, at SOAP kan anvendes til en bred vifte af kommunikationsformer. • Typisk benyttes dog HTTP

  23. SOAP struktur • SOAP kræver en Body og en Envelope • Og (valgfrit) også en SOAP Header

  24. SOAP eksempel Konsumenten sender <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <getProductDetails xmlns="http://warehouse.example.com/ws"> <productID>827635</productID> </getProductDetails> </soap:Body> </soap:Envelope>

  25. SOAP eksempel Producenten svarer <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <getProductDetailsResponse xmlns="http://warehouse.example.com/ws"> <getProductDetailsResult> <productName>Toptimate 3-Piece Set</productName> <productID>827635</productID> <description>3-Piece luggage set. Black Polyester.</description> <price>96.50</price> <inStock>true</inStock> </getProductDetailsResult> </getProductDetailsResponse> </soap:Body> </soap:Envelope>

  26. Hvad er WSDL? • SOAP-specifikationen indeholder ikke i sig selv noget værktøj til beskrivelse af den græseflade, som en given web-service stiller til råighed. • WSDL er et XML-baseret sprog for at beskrive Web Services, hvor man kan finde dem, hvordan man tilgår dem, og hvilke operationer de understøtter. • Man kan kalde WSDL for Web Service’s API • Web Services genererer WSDL. Konsumenten tager så fat i WSDL filen og genererer den nødvendige kode til at kalde Web Servicen.

  27. Udvikling af Web Services • Web Service design principper • Services skal have veldefineret granularitet • Services skal modulariseres • Forretningsservices (betydning for forretningen) • Tekniske services (betydning for IT) • Forretningsservices er baseret på tekniske services • Services skal kunne understøtte forskellige initieringsmønstre http://www-128.ibm.com/developerworks/webservices/library/ws-soa-design/

  28. Masser af Web Services Service Service Service Service Service

  29. UDDI • UDDI står for “Universal Description, Discovery and Integration” • UDDI er en slags register for Web Services, ala LDAP som vi diskuterede sidste uge. • UDDI giver mulighed for at søge efter Web Services og finde deres adresse

  30. Hvordan virker UDDI? UDDI WSDL SOAP

  31. Koordinering af Web Services Service Service Service Service Service

  32. Business Process • En anden komponent der ofte ses i SOA, er Business Process (BP) værktøj • BP omfatter • Business Design værktøj (BPM) • Business Ekskveringsværktøj (BPM) • Business Monitoringsværktøj (BAM) • BPM • Kombinerer flere web services i en forretningsproces. Sørger for at service kald bliver udført i den rigtige rækkefølge, og at data der kommer tilbage fra en service sendes videre til den næste.

  33. Business Process

  34. Messaging Mønstre • SOA som beskrevet fungerer forbindelsesorienteret; der skabes en forbindelse mellem klient og server (synkron kommunikation) • For at skalere SOA til enterprise niveau kombineres SOA ofte med messaging mønstre som set i traditionel EAI (asykron kommunikation, request/reply, publish/subscribe)

  35. Messaging Mønstre • Eksempel • Klienten publicere (publish) sin service kald til messaging infrastrukturen, og fortsætter sit arbejde • Serveren abonnerer (subscribe) på den type service som klienten har publiceret, og henter derfor service kaldet og bearbejder det og sender efterfølgende svaret tilbage ud på messaging infrastrukturen til klienten. • Ovenstående messaging mønster understøtter at service kald rutes fra klient til server baseret på overskrifter (topics) eller indhold (content). • Flere servere kan abonnerer på de samme service anmodninger

  36. Enterprise Service Bus • SOA kombineres i større installationer med Enterprise Service Busser (ESB) • ESB • Indeholder specielle adaptorer til applikationer der ikke understøtter web services. Adaptoren snakker med applikationen og udstiller applikations interne funktioner som web service • Understøtter Messaging Mønstre. Indeholder køer hvor service kald kan ligge i tilfælde af applikationer ikke svarer. • Giver mulighed for transformation af data i services. YYMMDD  DD-MM-YYYY

  37. Anden vigtig information • WS-I står for Web Services Interoperability Organization og har ansvar for at sikre interoparbilitet indenfor web services • WS-I udarbejder Implementerings guidelines, sample applikationer, samt test værktøjer til at verificere overholdelse af standarder. • WS-I: http://www.ws-i.org • WS-I for vigtige udbud efter software og konsulentydelser

  38. Opsummering • Applikationer tillader andre applikation er forbinde sig til dem over Internettet ved brug af SOAP • En Web Service udstiller sine metoder gennem en WSDL • Web Service bliver publiceret til UDDI register med det formål at andre virksomheder kan finde dem • Typiske anker mod Web Services • Performance, Performance, Performance. • Sikkerhed. Men denne anke er ikke reel mere med standarden WS-Security • Transaktionel Integritet. Men denne anker er ikke reel mere med standarden WS-TX, samt WS-RM

  39. Opgaver 

More Related