Kärnfunktionalitet. Middleware. Samverkande system. Service Oriented Architecture. Kommunikationsmekanismer. Tjänsteorienterade arkitekturer

Relevanta dokument
Web Services. Cognitude 1

Webbtjänster med API er

Middleware vad, hur, varför när?

Testdriven utveckling av Web Services. Ole Matzura

Facit Tentamen 17/3 Informationsinfrastruktur

Webbteknik II. Föreläsning 4. Watching the river flow. John Häggerud, 2011

Distribuerade affärssystem

Arkitektur. Den Röda Tråden

Webbtjänster med API er

XML-produkter. -Registret över verkliga huvudmän (RVH) Teknisk handledning för webbtjänst mot RVH (Web Services) Datum: Version: 1.

Webbtjänster med API er

Det här dokumentet är till för att ge en översikt över ASP.NET MVC samt hur WCF Services används från.net applikationer.

Repetition DK2 Middleware, P2P, Multimediatransport. Stefan Alfredsson 18 Mars 2005

SOA. Länkar +ll sidor om SOA h3p:// h3p://dsv.su.se/soa/

Webbtjänster med SOAP, uppbyggnad och implementation

WWW. Exempel på klientsidan. Överföring av en html-fil. Snyggare variant. Verkligt format. Meddelandeformat för begäran HTTP

Skriftlig tentamen i kursen TDTS04 Datornät och distribuerade system kl. 8 12

Christer Scheja TAC AB

Webbtjänster med API er

Services + REST och OAuth

Från Data till Process

Webbtjänster med API er

Enterprise Java Beans Assignment 1

PM 01 En jämförelse av två analysmodeller för val av komponentteknik

Tjänsteorienterad Integration, ESB

Swedbank Mobile Loadtesting. LoadRunner Mobile App protocol

TDDD80. Mobila och sociala applikationer Introduktion HTTP,SaaS. Anders Fröberg Institutionen för Datavetenskap (IDA)

Utvärdering av protokollet SOAP

Datasäkerhet och integritet

Olika slags datornätverk. Föreläsning 5 Internet ARPANET, Internet började med ARPANET

Affärssystem. Affärssystem - 1. Affärssystem. Informationssystem (IS) Tobias Nyström

Mer OOP. Variation i typ. Medlen repetition. Generiska klasser. Gränssnitt - Interface. Mer om klasser Några exempel UML

Elisabet Stöök Konsult SAS Institute AB Copyright 2003, SAS Institute Inc. All rights reserved.

Laboration 1 Distribuerade system C, 5p. Middleware.NET

Webbservrar, severskript & webbproduktion

En verktygslåda för tjänsteorientering

Jini kontra Web services, med intention att göra Web services pålitligt.

Johan.Sall.2535 Thomas.Wahlsten Distribuerade System HT 2002

Datakommunika,on på Internet

Regelverk. Infrastrukturen för vidareförmedling av grundläggande uppgifter om företag. Bilaga A. Tekniska ramverk. Version: 3.0

Nätverk och Java, grunder Föreläsning 0: 0: Introduktion till Internet

Regelverk. Infrastrukturen för vidareförmedling av grundläggande uppgifter om företag. Bilaga A. Tekniska ramverk. Version: 1.0

Programutvecklingsprojekt Projektgrupp Elvin. Detailed Design Document

IT för personligt arbete F2

Business to business (B2B) communication - Integrering av system

Testtentamen i kursen TDTS04 Datornät och distribuerade system vt 2009


Nätverk grunder Föreläsning 1: 1: Introduktion till Internet

Creo Customization. Lars Björs

Institutionen för datavetenskap

URVAL AV UTFÖRDA HOBBYPROJEKT

INTERSTAGE V4. Application Server. Integration Server. Portal Server. Network Access Server 1 INTERSTAGE V4. INTERSTAGE Application Server

Arv. Fundamental objekt-orienterad teknik. arv i Java modifieraren protected Lägga till och modifiera metoder med hjälp av arv Klass hierarkier

EXAMENSARBETE. Tjänsteorienterad arkitektur (SOA) för integration mot upphandlingssystem. Ayman El-Jammal Johan Öhman. Luleå tekniska universitet

Static vs Dynamic binding Polymorfism. Objekt-orienterad programmering och design (DIT953) Niklas Broberg, 2018

Göteborgs Stad Leverantörsfakturahantering

Static vs Dynamic binding Polymorfism. Objekt-orienterad programmering och design Alex Gerdes, 2016

Webbteknik II. Föreläsning 5. Restless farewell. John Häggerud, 2011


Godkännande av kundapplikationer

Senior utvecklare/arkitekt Rama Pour Rajaei Utbildningar Certifieringar Kontaktinformation

Länkade strukturer. (del 2)

Mattias Wiggberg 1. Orientera på Internet. IP-adress. IP-adresserna räcker inte... Mer om IP-adresser

Avtal/överenskommelse för leverans till K- samsök

Kurskatalog 2010 INNEHÅLLSFÖRTECKNING

Webbserverprogrammering

JHS 179 Planering och utveckling av en övergripande arkitektur Bilaga 9. Virtualisering och molntjänster i planering av teknologiarkitektur

F2 Exchange EC Utbildning AB

Objektorienterad Programkonstruktion. Föreläsning 10 7 dec 2015

Objektorienterad programmering

Avtal/överenskommelse för leverans till K- samsök

Instruktion. Datum (12) Coverage Dokument id Rev Status? Godkänd. Tillhör objekt -

Avtal/överenskommelse för leverans till K- samsök

TCP/IP och Internetadressering

Grundläggande datavetenskap, 4p

Distribuerade System, HT03

Objektorienterad programmering. Grundläggande begrepp

SICS Swedish Institute of Computer Science

Systemutvecklare SU14, Malmö

Olle Olsson. SICS ( ) W3C ( ) ) BeyondIT Page 1

Datakommunika,on på Internet

STADSLEDNINGSKONTORET SOA SDK IT-AVDELNINGEN VERSION 2.1. Läs mig först. Stockholms stad SOA-plattform. Sida 1 (5)

Taxi boknings system, inpassering och medlemshanterings system, betallösningar, realtidssystem, App utveckling

ITK:P2 F1. Hemsidor med HTML HTML. FTP, HTTP, HTML, XML och XHTML

Objektorienterad programmering, allmänt

Viktiga egenskaper hos ett program (Meyer): Objektorienterad programmering, allmänt. Vilka egenskaper vill vi att våra program ska ha?

JavaScript in SharePoint and not just for Apps. Wictor Wilén

Skriftlig tentamen i kursen TDTS04 Datornät och distribuerade system kl

Daniel Akenine, Teknikchef, Microsoft Sverige

WELCOME TO. Value of IAM in Business Integrations

1 PROTOKOLL. Nätverk. Agenda. Jonas Sjöström

LEFI Online. Anslutningsinformation

Abstrakt datatyp. -Algoritmer och Datastrukturer- För utveckling av verksamhet, produkter och livskvalitet.

När samverkan mellan affärssystemen är en besvärlig väg med många hinder

Välkommen! SA S PSA S Im I puls s Mobilite t t e 8 1

DIG IN TO Nätverksteknologier

WEB SERVICES. Har Teknologin En Framtid? Institutionen för Informatik Handelshögskolan vid Göteborgs universitet Magisteruppsats HT-02 ABSTRAKT

Android översikt. TDDD80 Mobila och sociala applikationer

Objektorienterade programmeringsspråk. Objektorienterade språk. Den objekt-orienterade modellen. Jämför med icke-oo

Voice over IP / SIP. Switching Costs SIP. Motivation for VoIP. Internet Telephony as PBX replacement. Internet Telephony Modes.

Transkript:

Samverkande system Tjänsteorienterade arkitekturer Hur får vi mjukvarukomponenter som är distribuerade över internet att enkelt upptäcka, utnyttja, och interagera med, varandra? Vi vill ha Komponenter som erbjuder tjänster/logisk funktion Godtyckligt kommunikationsmönster Hårt/löst kopplade komponenter Upptäcka/söka efter tjänster Mekanismer för att administrera komponenterna 1 Service Oriented Architecture Kärnfunktionalitet Transport dataformat och protokoll för att kommunicera med tjänsten Beskriva språket för att beskriva tjänsten för andra tjänster (maskinläsbart format) Upptäcka/leta mekanismen för att registrera och åskådliggöra tjänster och för att hitta tjänster och dess beskrivningar 4 Middleware Kommunikationsmekanismer Socketprogrammering Applikationsprotokoll TCP/IP -stacken Middleware för distribuerade system Java RMI CORBA DCE DCOM 3 Alla har sina egna protokoll och format för att implementera SOA Fungerar bra inom plattformen, men Svårt att få tjänster i olika plattformar att prata Kräver att en viss middleware är installerat på alla burkar 5 6

Internet middleware Web-services är en ny form av middleware Kräver ingen ny uppsättning protokoll XML är grunden för alla interna protokoll Vilken mjukvara som helst skriven i vilket programspråk på vilken plattform som helst kan tolka WS-beskrivningar, meddelanden och mekanismer för sökning/upptäcka Alla applikationer kan tolka SOAP-meddelanden genom att använda standard XML-verktyg Vad är det? Web-services are loosly coupled software components delivered over standard Internet technologies From a technical point of view, WS can be seen as an application API that can be invoked by an URL I think of a WS as an arbitrarily grouped set f resources inteded for machines (not human) manipulation, as a web site is an arbitrarily grouped set of resources intended for human manipulation 7 8 Gemensam vy Man kommer åt dom via internet protokoll En mjukvarukomponent (digital artefakt) Ämnad för andra mjukvarukomponenter Löst kopplade URI URL WS är en arkitektur inte en samling med teknologier Ytterligare en bild? Webben ett gigantiskt informationsrum som ger access till web-resurser Tjänst är en resurs som exponerar dess funktionalitet genom ett programmeringgränssnitt (API) Web-service en tjänst som kan identifieras med hjälp av en URI och accessas via web-protokoll i enlighet med vad som står i kontraktet som beskriver dess API 9 10 Komponera tjänster En tjänst representerar en unik applikation och funktionalitet, Varje sådan enhet kan användas och är synlig från varje nod på Internet Modulärt Enheter kan kombineras och sättas samman till mer komplexa tjänster WS-Tekniker XML -baserade protokoll Transport SOAP Simple Object Access Protocol Beskrivning WSDL Web Services Description Language Register/Upptäcka UDDI 11 12

Transport (SOAP) Ett ramverk för att sända meddelanden mellan applikationer Data kan vara ett RPC anrop eller svar eller bara ett XML dokument Ett meddelande består av Header (ej obligatorisk) tillförlitlighet, routing, betalningsmekanismer, säkerhet Body innehåller själva datat SOAP Transport Binding Framework -knyter till ett visst protokoll (HTTP, SMTP, IMAP, POP3, FTP, ) SOAP Serialization Framework hur XML-dokumentet ska tolkas mot applikationstyper m h a kodningsscheman SOAP Attachments - möjlighet att skicka med icke XMLdata med ett meddelande Beskrivning (WSDL) Ett antal definitioner uttrycka i XML Ett WSDL dokument beskriver Vad tjänsten har för funktionalitet Abtract interface en mängd med operationer och dess in/ut meddelanden (format och datatyper på varje element) Hur tjänsten kommunicerar Concrete binding RPC/dokument, XML-schema, vilka SOAP-headers, transport protokoll, Var man hittar tjänsten Implementation är en samling med relaterade portar, där varje port implementerar en specifik koppling av ett abstact interface, en port! access till tjänsten 13 14 Beskrivning (WSDL) Huvudelementet i WSDL <types> beskriver datatyperna i meddelandet (vad) <message> definierar formatet som meddelandet har (vad) <porttype> definierar en mängd av operationer <operation> definierar en operation och dess in/ut meddelanden (vad) <binding> mappar en <porttype> till ett konkret protokoll och dataformat (hur) <service> definierar en samling av relaterade portar, en <port>mappar en <binding> till en URL (var) Upptäcka/Registrera (UDDI) SOAP-meddelanden använd för att kommunicera med ett UDDI-register under körning också Registertjänst som är implementerad som en web-service i sig Mestadels används UDDI i utvecklingsfasen men kan användas Hanterar information Tjänstetyper Tjänsteutövare Erbjuder mekanismer för att Hitta en tjänst Knyta till en tjänst Kategorisera tjänster och utövare 15 16 UDDI (registrering) abstrakt tjänst som beskriver vad delen (abstract interface) som den erbjuder En tjänstetyp definierad av en så kallad tmodel definierar en tmodel tillhandahåller en referens till ett WSDL dokument Tjänsteutövare registrerar sin verksamhet och alla tjänster För varje erbjuden tjänst så tillhandahåller den information som för bindningen till tjänsten, dvs en referens till WSDL dokumentet som beskriver hur-delen En verksamhet, tjänst ellet tmodel som registreras kan kategoriseras enligt ett antal taxonomier fördefienrade eller utökningar till registret för att öka fokusering anpassad indelning och sökning UDDI (Sökning) Sökning i ett register kan göras efter En tjänsttyp bland tjänsterna En verksamhet som erbjuder en viss typ av tjänst Taxonomierna kan användas för att göra frågor Från en tmodel för en tjänstetyp kan man komma åt WSDL-beskrivingen av vad-delen, som kan användas/ kompileras för att få ett klientgränssnitt till den tjänsten som kan accessa alla tjänster av denna typ Från bindningmönstret för en viss tjänst får man fram accessinformation och WSDL beskrivningen av binding informationen 17 18

UDDI (bindning) Statisk bindning Underkompilering och runtime Genom hur-delen kan en utvecklare kompilera ett konkret SOAP gränssnitt för en klient Accessen kan bestämmas under körning Dynamisk bindning En klient kan under körning dynamiskt kompilera vardelen (som innehåller hur-delen) för att genera bindningen UDDI (dynamisk sökning) UDDI själv är en web-service Förfrågningar från klienter under körning Upptäcka tjänster Lokalisera access till tjänster Hämta en tjänst WSDL Knyta till den 19 20 UDDI Register WSDL Andra mekanismer Direktaccess (man vet vart och hur ) WS-inspection language P2P Index vs Register Sökmotor vs förmedlare Service Consumer Soap Web Service 21 22 Typer av UDDI-register Privata B2B Jobba med SOAP, WSDL & UDDI JAVA API JWSDL API för att jobba med WSDL JAX-RPC API för XML baserad RPC:-) JAXM - API för att jobba med XML-meddelanden SOAP utan WSDL SAAJ lågnivå SOAP API JAXR API för att jobba med XML register typ UDDI Microsoft.net framework SOAP toolkit 23 24

Implemetera WSA Standard XML verktyg Jobbigt, svårt och tidskrävande Web-service plattformar Utvecklingverktyg Runtime SOAP server - tar hand om SOAPmeddelanden (tolkar, översätter, etc) till applikationsspråket Administrationverktyg WASP JAVA och C/C++ J2EE.NET Många språk AXIS IBM?? 25 26