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

Hasonló dokumentumok
A programkomponensek között különbözı típusú interfészek léteznek. következésképpen különbözı típusú interfészhibák fordulhatnak elı.

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

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

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

Szolgáltatásintegráció (VIMIM234) tárgy bevezető

Szolgáltatásintegráció (VIMIM234) tárgy bevezető

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

SOAP komponensek Delphiben

CORBA bevezetés. Paller Gábor Internet és mobil rendszerek menedzselése

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

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

Petőfi Irodalmi Múzeum. megújuló rendszere technológiaváltás

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

Komponens alapú fejlesztés

S01-7 Komponens alapú szoftverfejlesztés 1

Szoftver-technológia II. Szoftver újrafelhasználás. (Software reuse) Irodalom

Nyílt forráskódú irodai programkomponensek vállalati környezetbe való integrációjának vizsgálata és implementációja

Java I. A Java programozási nyelv

Használati alapú és modell alapú tesztelés kombinálása szolgáltatásorientált architektúrák teszteléséhez az ipari gyakorlatban

Szolgáltatás Orientált Architektúra és több felhasználós adatbázis használata OKF keretein belül. Beke Dániel

Szolgáltatás-orientált technológiák alkalmazási kérdései Absztrakt 1. Bevezetés

SZOLGÁLTATÁS ORIENTÁLT ARCHITEKTÚRÁK (SOA)

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

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

A szoftver-folyamat. Szoftver életciklus modellek. Szoftver-technológia I. Irodalom

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

Szolgáltatás Orientált Architektúra a MAVIR-nál

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

JAVA webes alkalmazások

Modell alapú tesztelés mobil 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

Megfelelés a PSD2 szabályozásnak, RTS ajánlásokkal Electra openapi

Szoftver újrafelhasználás

01. gyakorlat - Projektalapítás

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

WEB-PROGRAMOZÁS II. 1. Egészítse ki a következő PHP kódot a következők szerint: a,b,c,d: <?php. interface Kiir { public function kiir();

pilot példa SOA alkalmazásra április 29.

Univerzális munkafolyamat szimulátor

Osztott Objektumarchitektúrák

Komponens alapú programozás Bevezetés

Programrendszerek tanúsítása szoftverminőség mérése

SOA ALAPÚ INTEGRÁCIÓS LEHETŐSÉGEK AZ E-KÖZIGAZGATÁSBAN

Történet John Little (1970) (Management Science cikk)

Norway Grants. Az akkumulátor mikromenedzsment szabályozás - BMMR - fejlesztés technológiai és műszaki újdonságai. Kakuk Zoltán, Vision 95 Kft.

Szolgáltatásminőség monitorozása elosztott környezetben. Bartók Attila Tamás

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

Szolgáltatás technológiák (WS, WS-*) Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

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

Serialization. RMI működése

Bevezetés. Szendrei Rudolf Informatikai Kar Eötvös Loránd Tudományegyetem. Programozási technológia I. Szendrei Rudolf. Bevezetés. Szoftvertechnológia

30 MB INFORMATIKAI PROJEKTELLENŐR

S01-8 Komponens alapú szoftverfejlesztés 2

Kommunikáció. Távoli eljáráshívás. RPC kommunikáció menete DCE RPC (1) RPC - paraméterátadás. 3. előadás Protokollok. 2. rész

Unit Teszt. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) Unit Teszt / 22

OpenCL alapú eszközök verifikációja és validációja a gyakorlatban

A Java EE 5 plattform

Webszolgáltatás alapokon BPEL

Könyvtári címkéző munkahely

ESEMÉNY VEZÉRELT ALKALMAZÁSOK FEJLESZTÉSE I. Bevezetés. Készítette: Gregorics Tibor

Java I. A Java programozási nyelv

Tartalomjegyzék. Bevezetés. 1. A.NET 3.5-keretrendszer 1. A korszerű alkalmazások felépítésének kihívásai... 2

Webszolgáltatások (WS)

Webes alkalmazások fejlesztése

CORBA Áttekintés. Mi a CORBA? OMG and OMA. Ficsor Lajos. Miskolci Egyetem Általános Informatikai Tanszék

Microsoft SQL Server telepítése

UNIX: folyamatok kommunikációja

Viczián István IP Systems JUM XIX szeptember 18.

ALKALMAZÁS KERETRENDSZER

Modellinformációk szabványos cseréje. Papp Ágnes, Debreceni Egyetem EFK

Szolgáltatási szint megállapodás

Kommunikáció. Folyamatok közötti kommunikáció. Minden elosztott rendszer alapja

Osztott rendszerek (Distributed

WebService tesztelés. SOAPui Pro, GreenPepper és Confluence használatával. Verhás & Verhás Szoftver Manufaktúra KNOW-HOW

QBE Édes Otthon lakásbiztosítás tarifáló webservice. Fejlesztői dokumentáció 1.0.2

Programfejlesztési Modellek

Bánsághi Anna 2014 Bánsághi Anna 1 of 31

Osztott rendszerek, Java EE. Általános bevezető

Moodle -egy ingyenes, sokoldalú LMS rendszer használata a felsőoktatásban

.NET Microsoft.Net Framework

Nagyvállalati SOA infrastruktúra (ESB, szolgáltatástárak)

Mobil szolgáltatások és alkalmazások fejlesztése

OOP. Alapelvek Elek Tibor

Autóipari beágyazott rendszerek. Komponens és rendszer integráció

ARM Cortex magú mikrovezérlők. mbed

Intervenciós röntgen berendezés teljesítményszabályozójának automatizált tesztelése

Kommunikáció. 3. előadás

Programozási Technológia előadás bevezetés. Előadó: Lengyel Zsolt

Információtartalom vázlata

Az OpenScape Business rendszerek egységes architektúrára épülnek: Rugalmas, skálázható és megbízható

JUnit. JUnit használata. IDE támogatás. Parancssori használat. Teszt készítése. Teszt készítése

Több platform egy kódbázis Tanulságok a Tresorittól. Budai Péter, vezető fejlesztő

Webes alkalmazások fejlesztése 12. fejezet. Szolgáltatás alapú kommunikáció (WCF) Giachetta Roberto. Eötvös Loránd Tudományegyetem Informatikai Kar

Objektumorientált paradigma és a programfejlesztés

Szoftver Tervezési Dokumentáció. Nguyen Thai Binh

Objektum orientált programozás Bevezetés

Grid menedzsment megoldás az ARC köztesrétegben

Metamodellezés. Simon Balázs BME IIT, 2011.

Kommunikációs rendszerek teljesítőképesség-vizsgálata

Absztrakció. Objektum orientált programozás Bevezetés. Általános Informatikai Tanszék Utolsó módosítás:

Flash és PHP kommunikáció. Web Konferencia 2007 Ferencz Tamás Jasmin Media Group Kft

Átírás:

Service-Oriented Architecture, SOA Az elosztott rendszerek fejlesztésének módja. Célja:az IT eszközök komplexitásának a kezelésének egyszerűsítése könnyebben újrafelhasználhatóság, egymással integrálhatóság fejleszthetővé tesz, anélkül, hogy a ráépülő üzleti folyamatokat megzavarná. A rendszerek komponensei különálló szolgáltatások: a szolgáltatások földrajzilag egymástól távol elhelyezkedő számítógépeken futhatnak. Egy szolgáltatás lényege: a szolgáltatás biztosítása független a platformtól, az implementációs nyelvtől és a szolgáltatást igénybe vevő alkalmazástól. 2 Szolgáltatás: lazán csatolt, újrafelhasználható szoftverkomponens, olyan diszkrét funkcionalitást zár be, amely elosztható és programozói eszközökkel elérhető. Kialakulásának oka:az internet rohamos terjedésével szükség volt elosztott modellekre. Pl.: RPC, RMI, CORBA, ICE, Webszolgáltatások, stb Webszolgáltatás:olyan szolgáltatás, amely szabványos internetes és XML-alapú szabványokkal érhető el. az információk elérhetővé válnak más programok számára is, egy webszolgáltatás-interfész definiálásával és publikálásával. Ez az interfész definiálja az elérhető adatokat, és megadja, hogy hogyan lehet azokhoz hozzáférni. SOA modell: 3 4 I. Szolgáltatások létrehozása: 1. A szolgáltatások gyártói megtervezik és implementálják a szolgáltatásokat. 2. WSDL nyelven specifikálják azokat 3. A szolgáltatásokról információkat publikálnak egy általánosan elérhető tárolóban Erre az UDDI publikációs szabványt használják legtöbbször 5 6 1

II. Szolgáltatások igénybevétele: A szolgáltatások igénybe vevői (szolgáltatáskliensek), keresést hajtanak végre az UDDI-tárolóban, Így megkapják a szolgáltatás nyújtóját is. Az alkalmazások összekapcsolódnak az adott szolgáltatással Kommunikálnak azzal. Általában SOAP nevű protokollt használják. A szolgáltatásorientált architektúra hatalmas fejlődést jelent, különösen az üzleti alkalmazásrendszerek szempontjából. Rugalmasságot biztosít: a szolgáltatások elkészíthetők helyileg, illetve igénybe vehetők külső szolgáltatóktól. A szolgáltatások bármilyen nyelven implementálhatók: a vállalat különböző részein esetlegesen használt különböző platformok és implementációs technológiák együttműködhessenek. Hatékony együttműködés: a szolgáltatások segítségével a cégek és más szervezetek képesek az együttműködésre használhatják egymás üzleti funkcióit. Nincs inkompatibilitási probléma: a fejlesztéseket a kezdetektől aktív szabványosítási folyamat követte. 7 8 Alapvető szabványok a webszolgáltatás támogatására: 9 10 SOAP: üzenetcsere-szabvány, a szolgáltatások közötti kommunikációt támogatja. Simpe Object Access Protocol Definiálja a szolgáltatások üzeneteinek szükséges és opcionális komponenseit. Struktúrált és típusos XML dokumentumok Alapesetben állapotmentes, egyirányú kommunikáció WSDL: webszolgáltatás definíciós nyelv (Web Service Definition Language WSDL) Definiálja, hogyan kell a szolgáltatások gyártóinak elkészíteniük szolgáltatásaik interfészeit. A web szolgáltatást mind absztrakt végpontot definiálja A műveletek és az üzenetek is megfelelő absztrakcióval vannak leírva. UDDI:az Univerzális leírás, felderítés és integráció szabványa. (Universal Description, Discovery and Integration UDDI) Definiálja, hogy milyen komponenseket kell tartalmaznia a szolgáltatások specifikációinak. Információkat tartalmaz a szolgáltatás gyártójáról, a szolgáltatásról, a szolgáltatás leírásának helyéről. WS-BPEL: szabványos munkafolyamat nyelv. A különböző szolgáltatásokat tartalmazó folyamatprogramok definiálására használatos. 11 12 2

WSDL minták: http://www.w3.org/2001/04/wsws-proceedings/uche/wsdl.html http://www.w3.org/2001/03/14-annotated-wsdl-examples.html http://www.herongyang.com/wsdl/wsdl-20-introduction-wsdl-document- Sample.html Egyéb információk: Apache Soap: http://ws.apache.org/soap/ Apache Axis2: http://axis.apache.org/axis2/java/core/ 13 14 Célja:szolgáltatásorientált alkalmazásokban újrafelhasználható szolgáltatások kifejlesztése. Biztosítani kell: a szolgáltatás egy újrafelhasználható absztrakciót reprezentáljon, amely különböző rendszerek számára is hasznos lehet. Emberi intelligenciát igénylő folyamat. Fázisai: 1. Szolgáltatásjelöltek azonosítása:lehetséges szolgáltatások megkeresése, beazonosítása. Későbbiekben implementálhatunk, és definiáljuk a szolgáltatások követelményeit. 2. Szolgáltatások megtervezése:ebben a szakaszban tervezzük meg a logikai és a WSDL szolgáltatás-interfészeket. A távolról hívható metódusok tervezése. 3. Szolgáltatások implementációja és üzembe helyezése: Implementáljuk és teszteljük a szolgáltatásokat, majd a felhasználók számára hozzáférhetővé tesszük őket. 15 16 17 18 3

A szolgáltatások az üzleti logikát kell támogassák! Azonosítási folyamat: A szervezet üzleti folyamatainak megértése és elemzése. Annak eldöntése, hogy milyen szolgáltatások szükségesek a folyamatok támogatásához. Cél: olyan szolgáltatások kiválasztása, amelyek logikai egységet alkotnak. függetlenek és újrafelhasználhatók Eredmény:az azonosított szolgáltatások halmaza, és a hozzájuk kapcsolódó követelmények. Segédszolgáltatások:általános funkcionalitást implementálnak, melyet a különböző üzleti folyamatok használhatnak. Pl.: egy pénznemátváltó szolgáltatás Üzleti szolgáltatások:ezek a szolgáltatások egy bizonyos üzleti folyamathoz kapcsolódnak. Pl.: üzleti szolgáltatás lehetne például a hallgatók regisztrálása egy kurzusra. 19 20 Koordinációs vagy folyamatszolgáltatások: ezek sokkal általánosabb üzleti folyamatot támogatnak. több különböző faktor és tevékenység is megjelenhet. Példa: egy vállalat rendelési szolgáltatása, amelyben az ügyfelek leadhatják rendeléseiket és fizethetnek. 21 22 Célja:a szolgáltatáshoz kapcsolódó műveletek és paraméterek definiálása. 1. Az interfész logikai tervezése: A szolgáltatás követelményei alapján: azonosítjuk a szolgáltatásokhoz tartozó műveleteket, meghatározzuk a műveletek bemeneteit,kimeneteit, kivételeket. 2. Az üzenetek megtervezése: El kell dönteni az üzenetek struktúráját, és a szolgáltatás milyen üzeneteket küld és fogad. A WSDL-fejlesztés: a logikai és üzenetterveket átültetjük egy WSDL nyelven íródott absztrakt interfészleírásba. CASE eszközök támogatása: Bizonyos eszközök képesek a logikai interfészleírást lefordítani a megfelelő WSDL-reprezentációba. Vagy fordítva Pl.: Eclipse, Netbeans, Visual Studio, stb. 23 24 4

Fázisai: 1. Implementáció: Általában szabványos programozási nyelvek segítségével történik Olyanokkal, melyek tartalmaznak könyvtárakat a szolgáltatásfejlesztés széles körű támogatására pl. C#, Java 2. Tesztelés: a szolgáltatást tesztelni kell. A bemenetek elemzése és osztályozása Az összes lehetséges üzenet elkészítése, és ellenőrzése, hogy a megfelelő kimenő üzenetek érkeztek-e. Célszerű kivételeket generálni minden üzenetnél Hogy a szolgáltatás képes-e megbirkózni az érvénytelen bemenetekkel 25 26 Ma már létezik több eszköz, amely képes a szolgáltatások vizsgálatára és tesztelésére tesztesetek generálása WSDL-ből, kapcsolatok tesztelése, Leírók ellenőrzése, generálása Automatizált tesztelés, stb soapui:http://www.soapui.org/ Verziók: Linux, MAC, Windows 32/64, portable/installer Ingyenes és PRO fizetős verziók 27 28 Web Service Call Composer: http://www.webinject.org/ Verziók: Windows 15 napig ingyenes, pénzes verziók PushToTest:http://www.pushtotest.com/ Verziók: Linux, MAC, Windows Rengeteg partner 29 30 5

3.Üzembe helyezés: a szolgáltatást használatra elérhetővé tesszük egy webszerveren. A legtöbb szerverszoftver esetén ez egyszerű: csak egy megadott könyvtárba kell telepíteni a végrehajtható szolgáltatást tartalmazó állományt. Ha a szolgáltatást publikusnak szánjuk, akkor még egy UDDI-leírástis készítenünk kell. 31 32 6