Web Services. (webszolgáltatások): egy osztott alkalmazásfejlesztési plattform



Hasonló dokumentumok
Osztott alkalmazások fejlesztési technológiái Áttekintés

Java Business Integration szolgáltatásalapú architektúra JavaEE környezetben. Simon Géza Zsemlye Tamás

A J2EE fejlesztési si platform (application. model) 1.4 platform. Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem

Szolgáltatásorientált rendszerintegráció. SOA-alapú rendszerintegráció. Enterprise Service Bus (ESB) Ercsényi András, BME IIT, 2011.

Debreceni Egyetem Informatikai Kar. Szolgáltatás-orientált programozás az Oracle-ben

Köztesréteg adatbiztonsági protokollok megvalósítására

OEP Betegéletút lekérdezés háziorvosok és vénytörténet lekérdezés patikák számára. API dokumentáció. verzió: 2.01

Cloud computing. Cloud computing. Dr. Bakonyi Péter.

Cloud computing Dr. Bakonyi Péter.

Introduction. Szolgáltatásorientált rendszerintegráció Service-Oriented System Integration. Dr. Balázs Simon BME, IIT

Szoftver-technológia II. Tervezési minták. Irodalom. Szoftver-technológia II.

Tartalom. Történeti áttekintés. Történeti áttekintés Architektúra DCOM vs CORBA. Szoftvertechnológia

SOAP komponensek Delphiben

A Java EE 5 plattform

Webes alkalmazások fejlesztése 8. előadás. Webszolgáltatások megvalósítása (ASP.NET WebAPI)

Irányelv elektronikus rendszerekhez való hozzáférés biztosításához

P-GRADE fejlesztőkörnyezet és Jini alapú GRID integrálása PVM programok végrehajtásához. Rendszerterv. Sipos Gergely

A Debreceni Egyetem és a Nagyváradi Egyetem WiFi alapú helymeghatározó rendszere

A JAVA FUTTATÁSAKOR ELŐFORDULÓ HIBA-

Models are not right or wrong; they are more or less useful.

Az IBM WebSphere Multichannel Bank Transformation Toolkit V7.1 felgyorsítja a többcsatornás alkalmazásfejlesztést

Klotz Tamás earchitect Oracle

IT trendek és lehetőségek. Puskás Norbert

Webszolgáltatások (WS)

applikációs protokollok

Simon Balázs Dr. Goldschmidt Balázs Dr. Kondorosi Károly. BME, Irányítástechnika és Informatika Tanszék

Webszolgáltatások kommunikációs overhead-jének becslése

Komponens modellek. 3. Előadás (első fele)

A CAN mint ipari kommunikációs protokoll CAN as industrial communication protocol

Kiterjedt hálózatok. 8. Hálózatok fajtái, topológiájuk. Az Internet kialakulása 1

A SZOFTVERTECHNOLÓGIA ALAPJAI

Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem


Folyamatmodellezés és eszközei. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

KOGGM614 JÁRMŰIPARI KUTATÁS ÉS FEJLESZTÉS FOLYAMATA

Osztott rendszerek (Distributed. systems) Bevezetés. Tartalom. Ficsor Lajos. Miskolci Egyetem Általános Informatikai Tanszék

Folyamattervezéstıl a megvalósításig

A kreatív iparág és az új média összefonódása

.NET Microsoft.Net Framework

SOA modell: Ez az interfész definiálja az elérhető adatokat, és megadja, hogy hogyan lehet azokhoz hozzáférni.

Az adott eszköz IP címét viszont az adott hálózat üzemeltetői határozzákmeg.

Felhasználói útmutató ügyfélkapuhoz

LOGISZTIKA A TUDOMÁNYBAN ÉS A GAZDASÁGBAN

Debreceni Egyetem Informatikai Kar A WINDOWS SERVER 2003 HÁLÓZATI MEGOLDÁSAI

20. Tétel 1.0 Internet felépítése, OSI modell, TCP/IP modell szintjenek bemutatása, protokollok Pozsonyi ; Szemenyei

ENROLLMENT FORM / BEIRATKOZÁSI ADATLAP

SOPHOS simple + secure. A dobozba rejtett biztonság UTM 9. Kókai Gábor - Sophos Advanced Engineer Balogh Viktor - Sophos Architect SOPHOS

LEVELEZÉS BEÁLLÍTÁSA

Javaslat ingyenes vezeték nélküli internet-szolgáltatás bevezetésére

Adatbázis-elérés: dbexpress, helyi adatok és egyéb lehetõségek A dbexpress könyvtár A Borland Database Engine...

DCOM Áttekintés. Miskolci Egyetem Általános Informatikai Tanszék. Ficsor Lajos DCOM /1

eseményvezérelt megoldások Vizuális programozás 5. előadás

Mikroszimulációs modellfejlesztési környezetek

Integrált ügyviteli rendszer: Kettős könyvelés modul

A megkívánt színvonalon

Fejlesztés, működtetés, felügyelet Hatékony infrastruktúra IBM szoftverekkel

KÉPI INFORMÁCIÓK KEZELHETŐSÉGE. Forczek Erzsébet SZTE ÁOK Orvosi Informatikai Intézet. Összefoglaló

SDN a különböző gyártói megközelítések tükrében

Testreszabott alkalmazások fejlesztése Notes és Quickr környezetben

Osztott rendszerek. Krizsán Zoltán 1 Ficsór Lajos 1. Webalkalmazások fejlesztése tananyag. Miskolci Egyetem. Bevezetés A múlt - történelem A jelen

A felhő, ha két lábbal a Földön állva nézzük Pávlicz György

By: NAGY-KOVÁCS, ERIKA WACHTLER, ISTVÁN

Sebastián Sáez Senior Trade Economist INTERNATIONAL TRADE DEPARTMENT WORLD BANK

WebSphere Adapters. 6. változat 2. alváltozat. WebSphere Adapter for SAP Software felhasználói kézikönyv 6. változat 2. kiadás

Osztott rendszerek (Distributed

Tarantella Secure Global Desktop Enterprise Edition

fájl-szerver (file server) Az a számítógép a hálózatban, amelyen a távoli felhasználók (kliensek) adatállományait tárolják.

Operációs rendszerek. A Windows NT felépítése

tanúsítja, hogy a Kopint-Datorg Részvénytársaság által kifejlesztett és forgalmazott MultiSigno Standard aláíró alkalmazás komponens 1.

*#Discount~ Kaspersky Internet Security - multidevice 2015 best software to buy for mac ]

Informatikai Tesztek Katalógus

CAD-CAM

TANÚSÍTVÁNY. tanúsítja, hogy a Polysys Kft. által kifejlesztett és forgalmazott

EEA, Eionet and Country visits. Bernt Röndell - SES

DSI működésre. tervezve. Hogyan fog kinézni a jövő informatikai infrastruktúrája? Egész szoftverrendszerek egy

Osztott Objektumarchitektúrák

A szervezeti architektúra nézetei, nézőpontjai és tervezési módszerei. Szolgáltatás orientált architektúrák információs rendszerekben

Az egészségügyi munkaerő toborzása és megtartása Európában

Intelligens közlekedés: a járműipar és járműirányítás IKT igényei, a VehicleICT projekt. Lengyel László lengyel@aut.bme.hu

Nemzetközi vállalat - a vállalati szoftvermegoldások egyik vezető szállítója

Organizáció. Számítógépes Hálózatok Gyakorlati jegy. Vizsga. Web-oldal

Oracle Enterprise Manager: Az első teljesértékű felhő üzemeltetési megoldás

Információ-architektúra

Közösség, projektek, IDE

Bevezetés az SAP világába. 5. Kommunikációs és integrációs technológiák

Üdvözli Önöket A PGY3 tantárgy! Bakay Árpád dr. NETvisor kft (30) arpad.bakay@netvisor.hu

Oracle9i Alkalmazás Szerver Üzleti folyamat integráció. Molnár Balázs Vezető értékesítési konzultáns Oracle Hungary

Szolgáltatásorientált rendszerintegráció. SOA-alapú rendszerintegráció. Web-szolgáltatások: SOAP, WSDL

++Buy( Kaspersky Anti- Virus 2014 top sites for computer software ]

Best Practices for TrusBest Practices for Trusted Digital Repositories in HOPE. ted Digital Repositories in HOPE.

Symantec Endpoint Protection

IBM Tivoli Endpoint Manager

Szolnoki Főiskola Szolnok

WWW Kliens-szerver Alapfogalmak Technológiák Terv. Web programozás 1 / 31

CSOMAGSZŰRÉS CISCO ROUTEREKEN ACL-EK SEGÍTSÉGÉVEL PACKET FILTERING ON CISCO ROUTERS USING ACLS

NETLOCK SIGN szolgáltatás Rendelkezésre állási Szabályzata

SAS Enterprise BI Server

Fejlesztési tapasztalatok multifunkciós tananyagok előállításával kapcsolatban Nagy Sándor

WCF, Entity Framework, ASP.NET, WPF 1. WCF service-t (adatbázissal Entity Framework) 2. ASP.NET kliens 3. WPF kliens

Tűzfal megoldások. ComNETWORX nap, I. 30. ComNETWORX Rt.

Átírás:

(webszolgáltatások): egy osztott alkalmazásfejlesztési plattform Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem

A Web Service Web Service definíciója Számos definíció létezik. IBM [4] A Web service is an interface that describes a collection of operations that are network accessible through standardized XML messaging. A Web service is described using a standard, formal XML notion, called its service description. The interface hides the implementation details of the service, allowing it to be used independently of the hardware or software platform on which it is implemented and also independently of the programming language in which it is written. This allows and encourages -based applications to be loosely coupled, component-oriented, cross-technology implementations. fulfill a specific task or a set of tasks. They can be used alone or with other to carry out a complex aggregation or a business transaction. 2

A Web Service definíciója (folyt.) 3 Az IBM definíciója A webszolgáltatás egy olyan interface, amely hálózaton keresztül, szabványos XML üzenetekkel elérhető műveletek egy csoportját írja le.egy webszolgáltatást szabványos, formális XML jelölésekkel írhatunk le, amelyet szolgáltatás leírásnak nevezünk. Az interface elrejti a szolgáltatás implementációs részleteit, ami lehetővé teszi, hogy az implementáláshoz használt hardware - software plattformtól és programozási nyelvtől függetlenül használhassuk azokat. Ez lehetővé teszi, sőt ösztönzi, hogy a webszolgáltatás alapú alkalmazásokat lazán csatolt, komponens szemléletű, vegyes technológiákat használó elemekből építsük fel. Egy webszolgáltatás egy adott (rész)feladat megoldását szolgáltatja, és használható önmagában, vagy más webszolgáltatásokkal együtt egy összetettebb üzleti feladat megoldására.

A Web Service definíciója (folyt.) 4 Microsoft A Web Service is a unit of application logic providing data and services to other applications. Applications access via ubiquitous Web protocols and data formats such as HTTP, XML, and SOAP, with no need to worry about how each Web service is implemented. Web services combine the best aspects of component-based development and the Web, and are a cornerstone of the Microsoft.NET programming model.

A Web Service definíciója (folyt.) 5 Microsoft A webszolgáltatás egy alkalmazáslogikai egység, amely adatokat és szolgáltatásokat biztosít más alkalmazások számára. Az alkalmazások mindenütt elérhető Web protokollok és adatformátumok segítségével (HTTP, XML és SOAP) érik el, anélkül, hogy bármit is tudnának az egyes szolgáltatások megvalósítási módjáról. A webszolgáltatások egyesítik a komponens alapú fejlesztés és a Web előnyeit, és a.net programozási modell sarokkövét képezik.

A Web Service definíciója (folyt.) Sun Web services are often components that can be spontaneously discovered, combined, and recombined to provide a solution to the end user's problem/request. The Java language and the XML are the prominent technology for Web services. A webszolgáltatások legtöbbször software komponensek, amelyeket az alkalmazások spontán módon képesek felkutatni, egyesíteni és átszervezni egy végfelhasználói probléma megoldásának érdekében. A webszolgáltatások elsősorban az XML-re és a Java technológiákra támaszkodnak. 6

A Web Service definíciója (folyt.) Stave Graham könyvének [2] definíciója: A webszolgáltatás egy platform és implementáció független software komponens, amely leírható egy szolgáltatás leíró nyelv segítségével közzétehető szolgáltatásjegyzékben (registry of services) felkutatható szabványos módszerekkel (futásidőben és tervezési időben egyaránt) meghívható egy jól definiált API-n keresztül, általában hálózaton keresztül összekapcsolható más szolgáltatásokkal 7

A Web Service definíciója (folyt.) 8 Fontos megjegyzések A webszolgáltatások nem feltétlenül az interneten keresztül érhetők el, bár általában (de nem szükségszerűen) hálózaton keresztül (azaz az elnevezés nem túl szerencsés). A szolgáltatást igénybe vevő program számára a webszolgáltatás implementációjára és üzemeltetésére szolgáló platform teljesen lényegtelen.

A Web Service definíciója (folyt.) 9 Ugyanígy, egy webszolgáltatásnak semmit sem kell tudnia az őt használó ügyfélről. A webszolgáltatás egy jól meghatározott felületen és megoldásokon keresztül vehető igénybe. Az, hogy az egyes elemeknek ennyire keveset kell tudniuk egymásról, lehetővé teszi a lazán csatolt komponensekből felépülő alkalmazások készítését.

A webszolgáltatások üzleti nézőpontból 1. Reális lehetőséget nyújt meglevő, és/vagy újonnan fejlesztett alkalmazások szolgáltatásainak integrációjára egy szervezeten belül. Lehetőséget teremt alkalmazások szolgáltatásainak integrációjára az üzleti partnerek között Az alkalmazások integrációja időt és költséget takarít meg az üzleti folyamatok végrehajtása során 10

A webszolgáltatások üzleti nézőpontból 2. A webszolgáltatások lehetővé teszik rugalmas, skálázható módosítható alkalmazások felépítését és implementálását. A webszolgáltatás egy üzleti folyamatot képezhet le, amely hálózaton keresztül elérhető a szervezeten belül, vagy az üzleti partnerek számára. 11

A webszolgáltatások techikai szempontból Egyszerűen csak összetartozó műveletek halmaza, amelyek hálózaton keresztül elérhetők tartozik hozzájuk egy leírás. Az osztott alkalmazások alapvető két feladata mindig is a távoli rendszerek felkutatása és távoli rendszerek elérése. A webszolgáltatások erre a két alapfeladatra új megközelítésű megoldást adnak. 12

Techikai szempontok (folyt.) Az új megközelítés elemei: Nyílt technológiák alkalmazása (XML, Internet protokollok). Nyílt szabványok alkalmazása (például a W3C által menedzselt SOAP és WSDL). A képesség alapú keresés (capabilities based lookup) előnyben részesítése a név és objektumazonosító alapján történő keresés helyett. 13

A Services Oriented Architecture (SOA) 1. 14 Egy alkalmazás feljesztése során a helyes architektúra kialakítása fontos tényezője a sikeres fejlesztésnek. A bevált architekturális megoldásokat (design pattern) érdemes gyűjteni és újrahasznosítani. A webszolgáltatások fejlődése során kialakult a Services Oriented Architecture (szolgáltatás központú architektúra). Három szereplőt és három műveletet különböztet meg

A Services Oriented Architecture (SOA) 2. 15 A SOA szereplői és műveletei Source: WSCA [4]

A SOA szereplői - Szolgáltató Szolgáltató (Service provider) A szolgáltatás tulajdonosa Az a platform, amely a szolgáltatáshoz való hozzáférést lehetővé teszi Feladatai: A szolgáltatás leírás elkészítése és közzététele Az igénylőktől érkező kérelmek kiszolgálása Kliens - szerver analógia: szerver 16 Színkódok: Üzleti szempontból Architekturális (technikai) szempontból Leírás

A SOA szereplői - Szolgáltatás igénylő Szolgáltatás igénylő (Service requestor) Az az üzleti logikai komponens, amely bizonyos funkciót igényel Az az alkalmazás, amely keres, meghív vagy inicializál egy kapcsolatot a szolgáltatáshoz. Lehet felhasználó vezérelt böngésző, vagy bármely egyéb program (webszolgáltatás) Kliens - szerver analógia: kliens 17 Színkódok: Üzleti szempontból Architekturális (technikai) szempontból Leírás

A SOA szereplői - Szolgáltatásjegyzék Szolgáltatásjegyzék (Service registry) Szolgáltatás leírások kereshető jegyzéke A szolgáltató itt teheti közzé az általa biztosított szolgáltatásokat és a saját adatait Az igénylők kereshetnek a számukra szükséges szolgáltatások után, és megszerezhetik az eléréshez szükséges információkat. A keresés lehetséges tervezési időben: statikus kötés (binding) futásidőben: dinamikus kötés 18

Szolgáltatásjegyzék (folyt.) Az igénylők más forrásokból is kereshetnek szolgáltatások után, például lokális file FTP site Web site ADS: Advertisement and Discovery of Services DISCO: Discovery of Az információk birtokában az igénylő a szolgáltatóval közvetlenül veszi fel a kapcsolatot. 19

A SOA műveletei - Közzététel 20 Közzététel (Publish) A szolgáltatás közzététele A szolgáltató és a szolgáltatásjegyzék közötti megegyezés, ezzel láthatóvá válnak a a szolgáltatás részletei az igénylők számára A közzététel módja a szolgáltatásjegyzék megvalósításától függ. Egy szabványos lehetőség a UDDI (Universal Description, Discovery and Integration).

A SOA műveletei - Keresés Keresés (Find) Megegyezés az igénylő és a szolgáltatásjegyzék között Keresési feltételek, például szolgáltatás típusa szolgáltatás minőségi jellemzői. Az igénylő megkapja a keresési feltételeknek megfelelő bejegyzett szolgáltatások adatait. A keresés kifinomultságát a szolgáltatásjegyzék megvalósítása határozza meg. 21

A SOA műveletei - összekapcsolás 22 Összekapcsolás (binding) Ügyfél - kiszolgáló kapcsolat létrehozása az igénylő és a szolgáltató között. Lehet statikus (fejlesztési időben meghatározott) dinamikus (futásidőben, akár köztes kiszolgáló beiktatásával is).

Webszolgáltatás és szolgáltatás Webszolgáltatás (Web Service) Csak egy interface Szolgáltatás (Service) A webszolgáltatás implementációja Egy software modul Szolgáltatást nyújt, ha egy igénylő meghívja Lehet igénylő, amikor egy másik webszolgáltatást használ 23

Webszolgáltatás és szolgáltatás (folyt.) Szolgáltatás leírás (Service description) Az interface-re és az implementációra vonatkozó részleteket tartalmazza: adat típusok, műveletek összekapcsolási (binding) információk hálózati hely(ek) Opcionálisan kategorizálási és egyéb metaadatok, amelyek az igénylő feltárási funkciójához szükségesek Közzétehető egy szolgáltatásjegyzékben, vagy akár közvetlenül az igénylő számára 24

Webszolgáltatás-együttműködési együttműködési vermek 25 Vermeknek a használatát elsőként a W3C és Microsoft javasolta 2001 márciusában Ez a javaslat három veremre osztja a webszolgáltatásokat: vezeték verem leírás verem feltáró verem

Összekapcsolás: vezeték verem 26 A vezeték verem (wire stack) SOAP fejlécek Boríték kiegészítés SOAP XML és SOAP HTTP(S), SMTP, FTP, stb. XML üzenetküldés Adatkódolás Hálózati protokoll Biztonság Kezelhetőség A szolgáltatás minősége

Összekapcsolás: vezeték verem (folyt.) Hálózat (Network) Számtalan szabványos protokoll HTTP: de facto szabvány az Internet-alapú webszolgáltatások részére XML alapú üzenet szolgáltató rétegek Leggyakrabban használt a SOAP Szabványos: dokumentum központú és RPC alapú Egyszerű (a HTTP POST metódust használja) A SOAP támogatja a publish, find és bind műveleteket 27

Közzététel : leírás verem 28 A leírás verem (description stack) szerkezete WSFL/XLAND Szolgáltatások összehangolása WSEL Végpont-leírás WSDL Szolgáltatás-felület WSDL Szolgáltatásmegvalósítás XML séma XML

Közzététel : leírás verem (folyt.) 29 Szolgáltatás leírás (Service Description) WSDL ( Description Language) XML sémákon alapuló leíró nyelv, a W3C konzorciumhoz benyújtva. Feladata a szolgáltatás felületének leírása Kiegészítő szolgáltatáscsomag: WSEL (Web Services Endpoint Language) - kidolgozás alatt Feladata a szolgáltatás egyéb jellemzőinek leírása (biztonsági rendszer, használat költségei stb.)

Közzététel : leírás verem (folyt.) 30 Munkafolyamat leírás (Service Flow) Célja annak meghatározása, hogy egy adott üzleti folyamatot hogyan tudnak kiszolgálni webszolgáltatások összekapcsolásával WSFL: Flow Language (többek által támogatott szabvány).

Keresés: feltáró verem 31 A feltáró verem (discovery stack) szerkezete: UDDI Jegyzék ADS/DISCO Vizsgálat

Keresés: feltáró verem (folyt.) 32 Szolgáltatás közzététel (Service publication) Szolgáltatás leírások készítése és közzététele A közzétételre sok különböző mechanizmus. Egy sokat tudó szabvány ennek támogatására a UDDI

Keresés: feltáró verem (folyt.) 33 Szolgáltatás feltárás (Service Discovery) A szükséges szolgáltatás megtalálásához A dinamikusságtól és a leírások tárolási módjától függően számos megoldás

Az együttműködési vermek és a webszolgáltatások 34 Nem minden alkalmazás igényli a verem valamennyi szolgáltatását. Nem minden webszolgáltatás implementációja olyan, hogy a verem minden szolgáltatását igénybe tudja venni. Bizonyos rétegek még a fejlesztés fázisában vannak. Minden fejlesztésnél el kell dönteni a felhasználni kívánt lehetőségek körét.

Hivatkozások 35 1. Grady Booch: The Limits of Technology, the RationalEdge Jan. 2003 (http://www.therationaledge.com) 2. Steve Graham et. all: Building with Java: Making sense of XML, SOAP, WSDL and UDDI Pearson Education (Sams), 2002 Magyar fordítása: Java alapú webszolgáltatások Kiskapu - SAMS, 2002

Hivatkozások 36 3. Building the On Demand Business: Three Imperatives for Software Development. A Whitepaper from the Rational software division of IBM (March 2002) 4. Heater Kreger: Conceptual Architecture (WSCA 1.0) IBM Software Group, May 2001 www-3.ibm.com/software/solutions/webservices/pdf/wsca.pdf Link ellenőrizve 2004. 03. 05.

37