Præsentation er lastning. Vent venligst

Præsentation er lastning. Vent venligst

IT Arkitektur og Sikkerhed

Lignende præsentationer


Præsentationer af emnet: "IT Arkitektur og Sikkerhed"— Præsentationens transcript:

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

2 Sidste uge I sidste uge gennemgik vi Hvad er IT Arkitektur?
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
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
Hvilket problem vil vi gerne løse

6 Hvilket problem vil vi gerne løse
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 er en samling af tilgængelig web services. Har mest udtryk at Proof-of-Concept

14 Eksempel

15 Eksempel

16 Bagved eksemplet WSDL definitionen af web servicen
SOAP destination SOAP kaldet SOAPAction: User-Agent: Mindreef SOAPscope (http://www.mindreef.com) Content-Type: text/xml; charset=UTF-8 <?xml version="1.0" encoding="UTF-8"?> <soap:Envelope xmlns: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”
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
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
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
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
SOAP struktur SOAP kræver en Body og en Envelope Og (valgfrit) også en SOAP Header

24 SOAP eksempel Konsumenten sender
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 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

28 Masser af Web Services 24-09-06 Service Service Service Service

29 UDDI UDDI står for “Universal Description, Discovery and Integration”
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
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
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
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
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: 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  39


Download ppt "IT Arkitektur og Sikkerhed"

Lignende præsentationer


Annoncer fra Google