soa és a web 2ade.web.elte.hu/webtech/webtech-1.pdfweb-es architektúra soa adatbázis szerver back...
TRANSCRIPT
![Page 1: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/1.jpg)
Webtechnológiák információs redszerekben
Bevezető – 1.
![Page 2: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/2.jpg)
Témakörök
• Web szolgáltatások – első beadandó
• Szolgáltatás-Orientált Architektúrák - SOA
• Üzleti folyamatmenedzsment – BPM (Bizagi) – második beadandó
• Enterprise webes protokollok
• IoT protokollok
• Elosztott webes információs rendszerek
• Microservice architectures
![Page 3: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/3.jpg)
Követelmények
Három beadandó feladat
1. "Primitív SOA" - WS (II.13.)
2017. március 13.
2. BPMN feladat (II.20.)
2017. április 24.
3. Összetett beadandó feladat (III.6.)
I. fázis: 2017. május 8.
II. fázis: 2017. június 5.
![Page 4: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/4.jpg)
1. Beadandó - WebShop
• WS kliens – szerver példa alkalmazás: Java / PHP / .NET
• Adatbázis legalább az alábbi táblákból kell álljon: – Termékek adatai: termékId, név, leírás
– Készletinformációk: termék, készletDb, eladási_ár, dátum
– Vevők: id, név, cím
– Eladások: termekid, vevőid, db, ár, dátum
• RESTful WS: Termék és készletinformációk lekérésée
• SOAP WS: Termék értékesítése
• Határidő: 2017. márc. 13.
![Page 5: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/5.jpg)
1. beadandó
5
Nagykereskedői Információs
Rendszer
Nagykereskedői Információs
Rendszer
Kiskereskedői Információs
Rendszer
Kiskereskedői Információs
Rendszer
Készlet
lekérdezés -
RESTFul
Beszerzés -
SOAP
![Page 6: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/6.jpg)
1. beadandó
• WS kliens – szerver példa alkalmazás: Java / PHP / .NET
• Adatbázis: – Termékek adatait: termék név, leírás, eladási_ár
(aktuális) – Készletinformációkat: termék, készletDb
• REST WS: Termék és készletinformációk lekérésée • SOAP WS: Termék értékesítése
• Határidő: 2017. március 13.
![Page 7: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/7.jpg)
Szükséges alapok
• HTTP
• Adatbázis-kezelés
• JavaScript / Java EE / ASP.NET & C# /Python /???
• Modellezési ismeretek
• XML
![Page 8: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/8.jpg)
BEVEZETÉS
8
![Page 9: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/9.jpg)
Szoftver rendszerek
Szoftver rendszerek
Monolitikus Elosztott
Hagyományos Web-alapú szoftverek
Web alkalmazások Szolgáltatás-orientált
alkalmazások
![Page 10: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/10.jpg)
Web-es architektúra
Adatbázis szerver
RDBMS
Back End
Adatbázis szerver
XML DBMS
Nagy kapacitású, összetett
számításokat végző szerver
Front End
Logikai Layer Prezentációs Layer
Middleware
Alkalmazás szerver
Alkalmazás szerver
Web szerver
Prezentációs szerver
Web szerver
Prezentációs szerver
Kliens: Web böngésző
Kliens: Mobil böngésző /
mobil kliens
Internet
Tart
alo
m
HTM
L /
XM
L Ta
rtal
om
H
TML
/ X
ML
Meg
jeln
ítés
C
SS
Meg
jeln
ítés
C
SS
Vis
elke
dés
Ja
vaSc
rip
t V
isel
ked
és
Java
Scri
pt
Load
Bal
ance
r
![Page 11: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/11.jpg)
Web-es architektúra SOA
Adatbázis szerver
Back End / Persistence Layer
Web szolgáltatás (alkalmazási
logika)
Egyéb erőforrások,
legacy systems (ERP, CRM, stb).
Front End
SOA Layer Prezentációs Layer
Middleware
ESB + Orchestration+ Web szerver
Prezentációs szerver
Web szerver
Prezentációs szerver
Kliens: Web böngésző
Kliens: Mobil böngésző /
mobil kliens
Internet
Tart
alo
m
HTM
L /
XM
L Ta
rtal
om
H
TML
/ X
ML
Meg
jeln
ítés
C
SS
Meg
jeln
ítés
C
SS
Vis
elke
dés
Ja
vaSc
rip
t V
isel
ked
és
Java
Scri
pt
Load
Bal
ance
r
WS
WS
WS
SOA: háttér rendszerekből Business Objects (resources), WS + Human task +
Business Rule. Üzleti folyamatok által irányítva
![Page 12: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/12.jpg)
Vállalati alkalmazások
![Page 13: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/13.jpg)
WEB-SZOLGÁLTATÁSOK
15
![Page 14: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/14.jpg)
Webszolgáltatások „fogalma”
• IBM (lényege) – Egy interface, mely a hálózaton keresztül
szabványos XML üzenetekkel érhető el és hozzá formálsi XML leírás tartozik. (soap, wsdl)
• Sun – Szoftverelemek, melyeket az alkalmazások
felkutatnak, egyesíthetnek és átszervezhetnek, hogy megoldást találjanak a felhasználó problémájára. Elsősorban a Java nyelvre és az XML-re támaszkodnak.
16
![Page 15: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/15.jpg)
Webszolgáltatások „fogalma”
• Microsoft (többféleképpen, lényeg)
– Nem objektummodellekre épít, hanem mindenhonnan elérhető webprotokollokon és adatformátumokon keresztül használjuk. Nem foglalkozik a megvalósítással, bármilyen rendszer, bármilyen programnyelv lehet a kiszolgáló. Nem szorítja meg az XML formátumot.
• W3C. 2004
– “A software system designed to support interoperable machine-to-machine interaction over a network. It has an interface described in a machine-processable format (specifically WSDL). Other systems interact with the Web service in a manner prescribed by its description using SOAP messages, typically conveyed using HTTP with XML serialization in conjunction with other Web-related standards.”
17
![Page 16: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/16.jpg)
Webszolgáltatások „fogalma”
• Bármilyen rendszer • Bármilyen programnyelv • HTTP • URI / URL • MIME típusok • Web itt hálózat, nem feltétlenül Internet (Világháló, World
Wide Web) • Egységesítés, modularitás • (verziózás)
• Kérés-válasz típusú (Request-Response, Rq/Rs) • Lazán kapcsolt • Állapotmentesség
18
![Page 17: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/17.jpg)
Webszolgáltatások
• Előzmények: – RPC (távoli eljáráshívás)
– XML-RPC
– CORBA
• API – Application Programming Interface
• Fajtái: – SOAP
– RESTful
– ...
19
![Page 18: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/18.jpg)
State Machine
20
Start
25
10
5
50
35
30
25Ft
25Ft
10Ft
5Ft
5Ft
10Ft
Példa: Üdítő automata
![Page 19: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/19.jpg)
API, Mashup, Web Service
21
![Page 20: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/20.jpg)
Mashup
22
![Page 21: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/21.jpg)
API protokollok - példák
• Atom
• CSV
• FTP
• GData
• GET
• JSON
• MQTT
• POST
• REST
• RSS
• SMPP
• SMTP
• SOAP
• Text
• XML-RPC
• XMPP
23
![Page 22: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/22.jpg)
RESTful webszolgáltatások
• Representational State Transfer
• CRUD műveletekből HTTP műveleteket készítünk:
24
Alkalmazás művelet HTTP protokoll
Create POST
Retrieve GET
Update PUT
Delete DELETE
![Page 23: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/23.jpg)
Alap HTTP protokoll tesztelése
• http://web-sniffer.net/
• Chrome Postman plugin
• SoapUI
• apigee.com
• Postman: Twitter API tesztelés
– Új Twitter app: https://apps.twitter.com/app/new
– Twitter API: https://api.twitter.com/1.1/search/tweets.json
25
![Page 24: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/24.jpg)
Client
Response
Request
Server
User agent
• Request Line • Request Headers • Message Body
• Status Information • Response Header • Message Body
HTTP Request/Response
![Page 25: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/25.jpg)
Client
Response
Request
Server
User agent
GET /index.html HTTP/1.1 Host: www.example.com
HTTP/1.1 200 OK Date: Mon, 23 May 2005 22:38:34 GMT Server: Apache/1.3.3.7 (Unix) (Red-Hat/Linux) Last-Modified: Wed, 08 Jan 2003 23:11:55 GMT ETag: "3f80f-1b6-3e1cb03b" Content-Type: text/html; charset=UTF-8 Content-Length: 131 Connection: close <html> <head> <title>An Example Page</title> </head> <body> Hello World, this is a very simple HTML document. </body> </html>
HTTP
![Page 26: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/26.jpg)
Erőforrások (Resources) és Reprezentációjuk (Representation)
http://example.com/Resource
Resources
GET /Resource HTTP/1.1 Accept: application/XML
HTTP/1.1 200 OK XML Representation of
Resource
agent (example.com)
Erőforrás: dokumentum, adat, stb.
a szerveren, amit a kliens elérhet.
Az erőforrásoknak számos
reprezentációjuk lehet: pl.: JSON, XML
A kérésben a kliens megadhatja az
elvárt reprezentációt.
![Page 27: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/27.jpg)
RESTful webszolgáltatások
• HTTP(S)
– Hívás 1 – GET
• URL (http://server/service?param1=ertek1&...)
• Név-érték párok (nincs struktúra, csak felsorolás)
• Urlencoding (értékek) Karakter ascii kódja hexadecimálisan % jel után („ ”=„+”)
• 2047 byte adat lehet a kérésben
29
![Page 28: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/28.jpg)
Rész(let)ek
• HTTP(S)
– Hívás 2 – POST
• URL (http://server/service)
• Request data: bármi
• Request header Content-Type
» application/x-www-form-urlencoded (Név-érték párok (nincs struktúra, csak felsorolás))
» text/xml (lehet strukturálni)
…
30
![Page 29: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/29.jpg)
Rész(let)ek
• HTTP(S) – Eredmény / Válasz
• Bármi lehet
• Általában szöveges adatok
• Response header Content-Type
• HTML
• TEXT
• XML
• JSON (JavaScript Object Notation)
31
![Page 30: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/30.jpg)
Példa:
32
XML
<?xml version="1.0"
encoding="UTF-8"?>
<direct-messages
type="array">
<direct_message>
<text>Hello</text>
<sender>
<name>Teszt Elek</name>
</sender>
</direct-message>
</direct-messages>
JSON
[
{
"text":"Hello",
"sender":{
"name":"Teszt Elek"
}
}
]
![Page 31: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/31.jpg)
JSON (JavaScript Object Notation)
• Nyelvtől független szöveg formátum („C-szerű leírás”) • Emberek számára is olvasható–írható, • Könnyen feldolgozható és előállítható, adatcsere-formátum. A JSON-nak két típusú felépítése lehetséges: • név-érték párok halmaza • értékek rendezett halmaza (pl. tömb, vektor) JSON ELEM LÉTREHOZÁSA PHP-BAN
<?php $array = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5); echo json_encode($array); // Eredmény: {"a":1,"b":2,"c":3,"d":4,"e":5} ?>
JSON ELEM OBJEKTUMMÁ ALAKÍTÁSA JAVASCRIPTBEN <script type="text/javascript"> var response = '{"a":1,"b":2,"c":3,"d":4,"e":5}'; var result = eval("("+response+")"); alert(result.a); // Eredmény: 1 alert(result.b); // Eredmény: 2 </script>
33
![Page 32: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/32.jpg)
Rész(let)ek
• Kliens – Bármilyen rendszer
– Bármilyen böngésző
– Bármilyen nyelven írt alkalmazás • Web application
• Desktop application
• HTTP hívás kezdeményezése
• szövegfeldolgozása Szövegműveletek
XML programkönyvtárak
JSON programkönyvtárak
34
![Page 33: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/33.jpg)
Rész(let)ek
• Szerver
– Bármilyen
– Bármilyen nyelven írt web alkalmazás
• HTTP kérés kiszolgálása Szövegműveletek (mint, ha HTML-t adna vissza)
XML programkönyvtárak
JSON programkönyvtárak
35
![Page 34: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/34.jpg)
SOAP
36
![Page 35: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/35.jpg)
W3C ajánlás (szabványosítás felé)
• SOAP – Simple Object Access Protocol
• Verzió: 1.2
• SOAP – kérés
– Request headerben
• Content-Type: text/xml
• SOAPAction
– Tartalom XML saját névtérben
37
![Page 36: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/36.jpg)
W3C ajánlás (szabványosítás felé)
• SOAP – válasz
– Response headerben
• Content-Type: text/xml
– Válasz ugyanolyan borítékban (Envelope) található, mint a kérés
– Tartalom XML saját névtérben
38
![Page 37: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/37.jpg)
Webszolgáltatások használata
39
Service
Registry /
Broker
Service
Consumer /
Requester
Service
Provider
Register Find
Bind
Execute
![Page 38: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/38.jpg)
Webszolgáltatás protokol szintek
40
Service Transport Service Transport
Service Messaging Service Messaging
Service Description Service Description
Service Discovery Service Discovery - Webszolgáltatások regisztrálása
- UDDI
- Interfész specifikáció
- WSDL
- XML alapú üzenetek
- XML-RPC, SOAP
-Üzenet átviel
- HTTP, SMTP, FTP, BEEP
Service-based Processes Service-based Processes - Webszolgáltatások integrálása
- WS-BPEL
![Page 39: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/39.jpg)
SOAP <soap:Envelope namespaces…>
<soap:Header>
<wsa:MessageID> unique ID </wsa:MessageID>
<wsa:ReplyTo> endpoint </wsa:ReplyTo>
</soap:Header>
<soap:Body>
<bank:BalanceRequest>
data
</bank:BalanceRequest>
</soap:Body>
</soap:Envelope>
![Page 40: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/40.jpg)
SOAP
Body
Header
![Page 41: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/41.jpg)
Példa:
43
Host: server.com
Content-Length: 100
SOAPAction:
"http://server/service"
Content-Type:
text/xml;charset=UTF-8
HTTP/1.1 200 OK
Content-Length: 100
Content-Type:
text/xml;charset=UTF-8
<soapenv:Envelope
xmlns:soapenv=http://schemas.xmlsoap.org/soap/envelope/>
<soapenv:Header>
…
</soapenv:Header>
<soapenv:Body>
…
</soapenv:Body>
</soapenv:Envelope>
![Page 42: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/42.jpg)
SOAP Request Message
<?xml version="1.0"?>
<soap:Envelope
xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">
<soap:Body xmlns:m="http://www.stock.org/stock">
</soap:Body>
</soap:Envelope>
<m:GetStockPrice>
<m:StockName>IBM</m:StockName>
</m:GetStockPrice>
SOAP Envelope
Message
SOAP Envelope
Namespace
Message
Namespace
![Page 43: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/43.jpg)
SOAP Response Message
<?xml version="1.0"?>
<soap:Envelope
xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">
<soap:Body xmlns:m="http://www.stock.org/stock">
</soap:Body>
</soap:Envelope>
<m:GetStockPriceResponse>
<m:Price>34.5</m:Price>
</m:GetStockPriceResponse>
SOAP Envelope
Message
Result
returned in
Body
![Page 44: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/44.jpg)
REST példa 1.
GET /stock/IBM HTTP/1.1
Host: www.example.org
Accept: application/xml
![Page 45: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/45.jpg)
SOAP példa 1.
POST /InStock HTTP/1.1
Host: www.example.org
Content-Type: application/soap+xml; charset=utf-8
Content-Length: nnn
<?xml version="1.0"?>
<soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-
envelope" soap:encodingStyle="http://www.w3.org/2001/12/soap-
encoding">
<soap:Body xmlns:m="http://www.example.org/stock">
<m:GetStockPrice>
<m:StockName>IBM</m:StockName>
</m:GetStockPrice>
</soap:Body>
</soap:Envelope>
![Page 46: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/46.jpg)
REST példa 2.
POST /order HTTP/1.1
Host: www.example.org
Content-Type: application/xml; charset=utf-8
<?xml version="1.0"?>
<order>
<StockName>IBM</StockName>
<Quantity>50</Quantity>
</order>
48
![Page 47: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/47.jpg)
SOAP példa 2.
POST /InStock HTTP/1.1
Host: www.example.org
Content-Type: application/soap+xml; charset=utf-8
Content-Length: nnn
<?xml version="1.0"?>
<soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope" soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">
<soap:Body xmlns:m="http://www.example.org/stock">
<m:BuyStock>
<m:StockName>IBM</m:StockName>
<m:Quantity>50</m:Quantity>
</m:BuyStock>
</soap:Body>
</soap:Envelope>
![Page 48: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/48.jpg)
WSDL
• Web Service Description Language
• XML alapú specifikációja egy Web szolgáltatásnak
• Szerződés a web service provider és a web service consumer között
• Leírja, hogy:
– Mit, milyen szolgáltatást, funkciót, műveletet érhetünk el?
– Hol érhetjük el (URL, port, protokoll)?
– Hogyan érhetjük el, milyen adatokat, üzenetet kell küldeni, s mit kapunk vissza.
50
![Page 49: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/49.jpg)
WSDL szerkezete <definitions>
<types>
Típus definíciók, XML séma segítségével. Milyen adatokat viszünk át?
</types>
<message>
Üzenet definíció. Milyen üzeneteket küldünk át? Mit kapunk vissza
</message>
<portType>
<operation>
Művelet definíció. Mely műveleteket, függvényeket használjuk? Melyik üzenetre milyen a válaszüzenet? </operation>
</portType>
<binding>
Végpont és műveletek összekötése (protocol definíció). Hogyan vigyük át az üzeneteket?
</binding>
<service>
Hol található a szolgáltatás?
</service>
</definitions>
51
WSDL
specifikáció
types
messages
operations
port types
bidings
services and ports
Szolgáltatás
interfész
leírása
Szolgáltatás
implementáció
leírás
![Page 50: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/50.jpg)
WSDL példa
• Tételezzük fel, hogy az alábbi funkciókat nyújtja a webszolgáltatásunk:
public class MyWebService {
public String udv( String nev ) {
return "Hello " + nev + "!";
}
public int addInt(int n1, int n2 ) {
return n1+n2;
}
}
52
![Page 51: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/51.jpg)
Az ehhez tartozó WSDL – 1. <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<definitions targetNamespace="http://endpoint.my.ws/"
name="MyWebServiceService"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:tns="http://endpoint.myws/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://
schemas.xmlsoap.org/wsdl/soap/">
<types/>
<message name="addIntRequest">
<part name="n1" type="xsd:int"/>
<part name="n2" type="xsd:int"/>
</message>
<message name="addIntResponse">
<part name="sum" type="xsd:int"/>
</message>
<message name="udvRequest">
<part name="arg0" type="xsd:string"/>
</message>
<message name="udvResponse">
<part name="return" type="xsd:string"/>
</message> 53
![Page 52: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/52.jpg)
Az ehhez tartozó WSDL – 2. <portType name="MyWebService">
<operation name="addInt" parameterOrder="n1 n2">
<input message="tns:addIntRequest"/>
<output message="tns:addIntResponse"/>
</operation>
<operation name="udv" parameterOrder="arg0">
<input message="tns:udvRequest"/>
<output message="tns:udvResponse"/>
</operation>
</portType>
54
![Page 53: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/53.jpg)
Az ehhez tartozó WSDL – 3. <binding name="MyWebServicePortBinding"
type="tns:MyWebService">
<soap:binding
transport=http://schemas.xmlsoap.org/soap/http
style="rpc"/>
<operation name="addInt">
<soap:operation
soapAction="http://localhost:8080/addInteger"/>
<input>
<soap:body use="literal"
namespace="http://endpoint.myws/"/>
</input>
<output>
<soap:body use="literal"
namespace="http://endpoint.myws/"/>
</output>
</operation>
<operation name="udv">
…
</operation>
</binding> 55
![Page 54: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/54.jpg)
Az ehhez tartozó WSDL – 4.
<service name="MyWebServiceService">
<port name="MyWebServicePort"
binding="tns:MyWebServicePortBinding">
<soap:address location="http://localhost:8080"/>
</port>
</service>
</definitions>
56
![Page 55: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/55.jpg)
WSDL
• Új irányok/fejlesztések – WADL (Web Application Definition Language)
– WSEL (Web Service Endpoint Language): a szolgáltatás egyéb jellemzőinek leírása, pl.: biztonsági rendszer, használat költségei
– …
58
![Page 56: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/56.jpg)
UDDI
• Universal Description, Discovery and
Integration
• Webszolgáltatás-tár, API specifikáció webszolgáltatások felderítéséhez
• Szolgáltatáskatalógus része
59
![Page 57: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/57.jpg)
UDDI struktúra
• Business entity – szervezeti információk, kontakt
• Business Service – Nyújtott szolgáltatások
• Binding Template – A szolgáltatás eléréséhez szükséges információk
• tModel (technikai model) – Specifikáció, pl.: WSDL
– Osztályozási, kategorizálási információk
![Page 58: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/58.jpg)
UDDI példa
61
![Page 59: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/59.jpg)
Tesztelés – SoapUI
• Felület
• WSDL import
• Validálás (Rq/Rs)
• http://sourceforge.net/projects/soapui/
62
![Page 60: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/60.jpg)
WS teszt - weather
63
![Page 61: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/61.jpg)
SoapUI
64
![Page 62: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/62.jpg)
SoapUI teszt
65
![Page 63: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/63.jpg)
Példák
• http://www.webservicex.net/ws/default.aspx
• http://www.service-repository.com/
66
![Page 64: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/64.jpg)
WS segédletek
Java
• JAX-WS tutorial: http://netbeans.org/kb/docs/websvc/jax-ws.html
• JAX-RS tutorial: http://www.vogella.com/articles/REST/article.html
• Netbeans RESTful Web Service Tutorial: http://netbeans.org/kb/docs/websvc/rest.html
.NET
• Create simple Web Service in Visual Studio: http://sarangasl.blogspot.hu/2010/09/create-simple-web-service-in-visual.html
• Step-by-step: http://www.c-sharpcorner.com/UploadFile/1d42da/web-service-basics/
• Building ASP.NET Web API RESTful Service: http://www.agile-code.com/blog/building-an-asp-net-web-api-restful-service/
67
![Page 65: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/65.jpg)
Példa
• Java kliens kódja (BarCode, SOAPClientTest) – SOAP (automatikus kódgenerálás, JAXB) FileOutputStream fw = null;
net.webservicex.BarCode service = new
net.webservicex.BarCode();
net.webservicex.BarCodeSoap port =
service.getBarCodeSoap();
fw = new FileOutputStream(filename);
fw.write(port.code39(jTextField1.getText(),
Integer.parseInt(jTextField2.getText()),
getLatszik(), jTextField4.getText()));
fw.close();
68
![Page 66: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/66.jpg)
Példa
• Java kliens kódja (BarCode, SOAPClientTest) – Szöveg feldolgozása HTTPCaller hc =new HTTPCaller();
hc.setURL("http://www.webservicex.com/barcode.asmx");
String req="<soapenv:Envelope xmlns:q0=\"http://www.webserviceX.NET\"
xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\"
xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-
instance\"><soapenv:Header></soapenv:Header><soapenv:Body> <q0:Code39>
<q0:Code>".concat(jTextField1.getText()).concat("</q0:Code><q0:BarSize>").concat(jTextField2.ge
tText()).concat("</q0:BarSize><q0:ShowCodeString>").concat((String)
jComboBox1.getSelectedItem()).concat("</q0:ShowCodeString>
<q0:Title>").concat(jTextField4.getText()).concat("</q0:Title></q0:Code39></soapenv:Body></soap
env:Envelope>");
hc.setData(req);
fw = new FileOutputStream(filename);
Map RqHeader = new TreeMap();
RqHeader.put("Host", "www.webservicex.com");
RqHeader.put("Content-Length", String.valueOf(req.length()));
RqHeader.put("SOAPAction", "http://www.webserviceX.NET/Code39");
RqHeader.put("Content-Type", "text/xml;charset=UTF-8");
String res=hc.getStringResult(RqHeader);
fw.write(Base64.decode(res.substring(res.indexOf("<Code39Result>")+14,
res.indexOf("</Code39Result>"))));
fw.close();
69
![Page 67: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/67.jpg)
SZOLGÁLTATÁS ORIENTÁLT ARCHITEKTÚRÁK (SOA)
70
![Page 68: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/68.jpg)
71
![Page 69: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/69.jpg)
Bevezetés
• A növekvő adatkereslettel és az infrastruktúra komplexitásával olyan új architektúrára van szükség, ami lehetővé teszi a vállalkozások számára a rugalmasságot és a kiterjeszthetőséget.
• Alapvetően kódmentes, önálló logikai adatintegrációs forma.
• IT (és üzleti) stratégiai eszköz.
• A „Hogyan?” helyett a „Mit?”-re koncentrálva az integrációs megoldások gyors fejlesztése valósítható meg.
72
![Page 70: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/70.jpg)
SOA - tulajdonságok
• Jól definiált illesztő felületet ad, fekete doboz - elrejti implementációjának részleteit –
• Nyílt szabványú mechanizmusokon át hívható
• Építőelemei: (lazán csatolt) szolgáltatások
• A szolgáltatások önállóan is működőképesek, platform- és eszközfüggetlenek (tetszőleges technológiával készülhetnek), szabványos, jól definiált interfésszel rendelkeznek, és szabványos adatcsere- és kommunikációs protokollokkal érhetők el az elosztott hálózatokban.
73
![Page 71: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/71.jpg)
Út a SOA-ig
• Monolitikus rendszerek
• Eljárások, függvények, távoli eljárás-hívás (RPC)
• OOP, objektum hívások
• Webes protokollok: HTTP, FTP, POP3, SMTP
• Web szolgáltatások
• SOA
74
![Page 72: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/72.jpg)
Út a SOA-ig: Monolitikus vállalati alkalmazások (silo rendszerek)
• Az egyes alkalmazások közötti kapcsolat nincs vagy igen korlátozott.
• Minden funkcionalitás az felhasználói interfész segítségével van kialakítva.
• Új funkcionalitás beépítése esetén programozó szükséges.
75
Vállalati információs rendszer Pl.: Könyvelés és számvitel
(pénzügy) - C++, Java, stb.
Vállalati információs rendszer Pl.: Könyvelés és számvitel
(pénzügy) - C++, Java, stb.
Szállító rögzít. Szállító rögzít.
Számla rögzít. Számla rögzít.
Számla mód.
Számla mód.
Számla törlés
Számla törlés
Felhasználói interfész
(UI)
Programlogika
![Page 73: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/73.jpg)
Út a SOA-ig: Munkafolyamatok (fejben)
76
Vállalati információs rendszer Pl.: Könyvelés és számvitel
(pénzügy) - C++, Java, stb.
Vállalati információs rendszer Pl.: Könyvelés és számvitel
(pénzügy) - C++, Java, stb.
Szállító rögzít. Szállító rögzít.
Számla rögzít. Számla rögzít.
Számla mód.
Számla mód.
Számla törlés
Számla törlés
Felhasználói
interfész (UI)
Program-
logika
Előzetes elle
nő
rzés Elő
zetes ellen
őrzés
Jóváh
agyás Jó
váhagyás
![Page 74: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/74.jpg)
Út a SOA-ig: Task management
77
Vállalati információs rendszer Pl.: Könyvelés és számvitel
(pénzügy) - C++, Java, stb.
Vállalati információs rendszer Pl.: Könyvelés és számvitel
(pénzügy) - C++, Java, stb.
Szállító rögzít. Szállító rögzít.
Számla rögzít. Számla rögzít.
Számla mód.
Számla mód.
Számla törlés
Számla törlés
Felhasználói
interfész (UI)
Program-
logika
Előzetes elle
nő
rzés Elő
zetes ellen
őrzés
Jóváh
agyás Jó
váhagyás
Előzetes ellenőrzés
Jóváhagyás Számla
rögzítése
![Page 75: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/75.jpg)
Út a SOA-ig: Munkafolyamat management
78
Vállalati információs rendszer Pl.: Könyvelés és számvitel
(pénzügy) - C++, Java, stb.
Vállalati információs rendszer Pl.: Könyvelés és számvitel
(pénzügy) - C++, Java, stb.
Szállító rögzít. Szállító rögzít.
Számla rögzít. Számla rögzít.
Számla mód.
Számla mód.
Számla törlés
Számla törlés
Felhasználói
interfész (UI)
Program-
logika
Előzetes elle
nő
rzés Elő
zetes ellen
őrzés
Jóváh
agyás Jó
váhagyás
Előzetes ellenőrzés
Jóváhagyás Számla
rögzítése
![Page 76: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/76.jpg)
Út a SOA-ig: Szolgáltatás integráció
79
Vállalati információs rendszer Pl.: Könyvelés és számvitel
(pénzügy)
Vállalati információs rendszer Pl.: Könyvelés és számvitel
(pénzügy)
Szállító rögzít. Szállító rögzít.
Számla rögzít. Számla rögzít.
Számla mód.
Számla mód.
Számla törlés
Számla törlés
Szolgáltatás
interfész
Alkalmazási
logika
Előzetes elle
nő
rzés Elő
zetes ellen
őrzés
Jóváh
agyás Jó
váhagyás
Adatbevitel Jóváhagyás Számla
rögzítése Számla
rögzítése Ellenőrzés Ellenőrzés
Váll. Szabályok
ell.
Váll. Szabályok
ell.
![Page 77: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/77.jpg)
Út a SOA-ig: Összetett szolgáltatások
80
Vállalati információs rendszer Pl.: Könyvelés és számvitel
(pénzügy)
Vállalati információs rendszer Pl.: Könyvelés és számvitel
(pénzügy)
Szállító rögzít. Szállító rögzít.
Számla rögzít. Számla rögzít.
Számla mód.
Számla mód.
Számla törlés
Számla törlés
Szolgáltatás
interfész
Alkalmazási
logika
Ellenő
rzések
Ellenő
rzések
Új szab
ályok
Új szab
ályok
Adatbevitel Jóváhagyás Számla
rögzítése Számla
rögzítése Ellenőrzés Ellenőrzés
ESB – szolgáltatás sín ESB – szolgáltatás sín Összetett
szolgáltatások
![Page 78: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/78.jpg)
SOA - ESB
• Rugalmas kapcsolatot,
• Egységes keretet,
• Szabványos kommunikációt biztosít
81
![Page 79: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/79.jpg)
Szoftver rendszerek
Szoftver rendszerek
Monolitikus Elosztott
Hagyományos Web-alapú szoftverek
Web alkalmazások Szolgáltatás-orientált
alkalmazások
![Page 80: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/80.jpg)
Szolgáltatás
• Moduláris • Önleíró • Szabványos szerkezetű • Adott funkciót, feladatot biztosít, például:
– SAP modul funkciója: pl: készlet lekérdezés – Java osztály – Tárolt eljárás (adatbázisban) – Üzenetküldés – Robot interfésze – Szenzor mérési eredménye
83
![Page 81: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/81.jpg)
SOA példa
• A megvalósításának egy példája:
Web Services Szolgáltatások – melyek összekapcsolódás mentesek - ahelyett, hogy a forráskódúkba ágyazva hívnák meg egymást, egy előre meghatározott protokollt használnak az egymással való kommunikáció leírásához:
• A WDSL (Web Description Services Language) a szolgáltatásokat
• a SOAP (Simple Object Access Protocol) pedig kommunikációs protokollokat írja le.
84
![Page 82: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/82.jpg)
Szolgáltatások típusai
• Üzleti szolgáltatások: teljes vagy rész üzleti funkciókat valósítanak meg. – ügyfélkezelés
– számlakezelés
• Technikai szolgáltatások: Az üzleti szolgáltatások megvalósításához az egységesítés és újrafelhasználás érdekében nélkülözhetetlenek olyan alacsonyabb szintű építőelemek, melyek az üzleti felhasználók számára nem láthatók. – naplózás,
– archiválás,
– dokumentumtárolás,
– megjelenítési szolgáltatások
85
![Page 83: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/83.jpg)
SOA Igérete
• A SOA nagy ígérete: az alkalmazások fejlesztési költsége az időben előre haladva a végtelenben a nullához közelit, mivel egyre több szolgáltatás áll rendelkezésre az újabb feladat megvalósításához.
• Ezáltal a fejlesztések egyre inkább csak szolgáltatások egymás után kötéséből állnak. Erre a célra használt eszközök a Business Process Management, BPEL, WS-CDL, WS-Coordination.
86
![Page 84: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/84.jpg)
Programozók vs. szoftverfejlesztők
• A programozók az alkalmazások fejlesztéséhez olyan hagyományos nyelveket használnak, mint Java, C++, C, C#.
• Szoftverfejlesztők, szoftvermérnökök és a különböző üzleti folyamat szakértői egy megfelelő hangszerelést használva kapcsolják össze az egyedi SOA objektumokat.
87
![Page 85: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/85.jpg)
SOA létrejöttének okai
• rugalmatlan üzleti megoldások
• integrációs nehézségek a szabványok hiánya miatt
• architekturális problémák
• ad hoc fejlődés
• pont-pont kapcsolatok
• heterogén szigetmegoldások
• infrastrukturális hiányok
• lecserélési korlátok
• növekvő modularitás
88
![Page 86: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/86.jpg)
Enterprise Application Integration (EAI), mint a SOA elődje
• A vállalati szintű alkalmazásintegráció (EAI) a különféle vállalati szoftverrendszerek (például ERP, SCM, CRM szoftverek) belső integrációját jelenti.
• Ahhoz, hogy a különböző szoftvereket folyamat-orientált módon integráljunk, az egyszerű, alkalmazások közötti pont-pont adatcsere nem elegendő.
• A megfelelő megoldás a több alkalmazást is érintő komplex folyamatok leképezése.
90
![Page 87: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/87.jpg)
SOA
• A szolgáltatásorientált architektúra lazán kapcsolódó, és együttműködő szoftverszolgáltatások segítségével támogatja az üzleti és egyéb folyamatokat.
91
![Page 88: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/88.jpg)
SOA Alapelvei
• Újrafelhasználhatóság
• Részletesség
• Modularitás
• Komponálhatóság (composability)
• Komponensalapúság
• Együttműködési képesség
• Szabványok közti együttműködés (fő és vállalat specifikusan)
• Szolgáltatások – azonosítása és kategorizálása
– elérhetősége és átadása
– megfigyelése és követése.
92
![Page 89: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/89.jpg)
SOA infrastruktúra részei
• Szolgáltatások
• Szolgáltatásbusz (ESB)
• Szolgáltatástár (Registry-Repository)
• Front-end rendszerek (felhasználók)
• IT Service Management
• Üzleti monitorozás
93
![Page 90: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/90.jpg)
Szabványos megvalósítás
94
![Page 91: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/91.jpg)
BPEL - Business Process Execution Language
95
![Page 92: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/92.jpg)
SOA keretrendszer
• A SOA keretrendszerek olyan újrafelhasználható szolgáltatásokat tartalmaznak, (vállalati osztályok feladatai, műveltei), és kellően megtervezettek ahhoz, hogy méretük változtatható legyen a betöltésük során, illetve megfeleljenek a különböző típusú tartós alkalmazások követelményeinek.
• Keretrendszer használatával jó minőségű szolgáltatás fejleszthető, amit tervezési minták és hasznos gyakorlatok segítenek.
96
![Page 93: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/93.jpg)
Keretrendszer - fejlesztőknek
• Egy egységes alapot használnak az alkalmazások, webszolgáltatások és portálok készítésére.
• Fejlesztik a termelékenységet azáltal, hogy fuzionálnak a tervezési mintákkal és a helyes tapasztalatokkal.
• Kevesebb kódot írnak azáltal, hogy kihasználják a keretrendszer nyújtotta lehetőségeit.
• A J2EE/.NET szabványok és specifikációjuk ismerete nem szükséges.
• Nem szükséges szakértőnek lenniük az objektumorientált tervezésben és tervezési mintákban ahhoz, hogy ezt használják.
97
![Page 94: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/94.jpg)
Keretrendszer - vállalatoknak
• Katalizátor a szolgáltatásorientált architektúra eléréséhez és alacsony költséghez
• Ismételhetőséget és egy minimális szintű architekturális és tervezési merevséget
• Fejlett üzleti gyorsaságot moduláris megoldás eredményeként, amik könnyen változtathatóak, gyakran konfigurációs módosítások által.
• Nagyobb következetességet, előre láthatóságot, és jobb teszt megoldást.
• Fejlett fejlesztői mobilitást projektek között
98
![Page 95: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/95.jpg)
Szolgáltatások életciklusa
• Elemzés és elvárások – Az üzlet kezdetben inicializálja és prioritásuk szerint sorrendbe teszi az
üzleti igényeket.
• Tervezés és fejlesztés – A tervezési fázisban az üzleti elemzők szorosan együttműködnek a
modellezőkkel a megfelelő eredmény érdekében.
• IT üzemeltetés – Felelős a tesztelését, véghezvitelért, a megfelelő környezetért, a
hálózati méretezésért, és az adatközpontért. Feladata a bevezetés, monitorozás és a következő szint biztosítása. Követelményei a függőségek nyomon követése, és kezelése, alkalmazások támogatásának biztosítása, bevezetése és az üzleti szolgáltatások menedzselése a termelésben.
99
![Page 96: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/96.jpg)
Üzleti folyamatok felügyelete – Business Process Management (BPM)
• A folyamatok pontos megértésének segítségével csökkenti a kockázatokat, még a megvalósítást megelőzően. Redundanciák és szűk keresztmetszetek azonosítására és kiküszöbölésére szolgál.
• Elősegíti folyamatok automatizálásának megvalósítását a kézi tevékenységek kiiktatásával és új üzleti szabályokat és folyamatokat hajt azonnali végre. Megjeleníti a folyamatok valós viselkedését a legfontosabb működési jellemzők mérésével.
• Hosszú futási idejű, szinkronizált és aszinkron üzleti folyamatok menedzselésére használják.
100
![Page 97: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/97.jpg)
SOA – előnyei
• Újrafelhasználhatóság
• fejlesztési, adminisztratív és üzemeltetési költség csökkenése
• egységes fejlesztési és üzemeltetési módszertan
• üzlet és IT hatékony együttműködés
• rugalmasak, átláthatóak, mérhetőek és monitorozhatóak vállalati/üzleti folyamatok
• Szabványok alkalmazása jellemzi
101
![Page 98: SOA és a Web 2ade.web.elte.hu/webtech/Webtech-1.pdfWeb-es architektúra SOA Adatbázis szerver Back End / Persistence Layer Web szolgáltatás (alkalmazási logika) Egyéb erőforrások,](https://reader033.vdocuments.mx/reader033/viewer/2022041511/5e283dcd8f45d94d5e091c21/html5/thumbnails/98.jpg)
SOA - hátrányai
• Kiegészítő környezet és tervezés szükségeltetik
• Különböző platformok és termékek közötti együttműködés létrehozása lehetetlen megfelelő szakember hiányában
• Bevezetésének lépéseit nem szabad elkapkodnunk
• Ne csak a rövidtávú, hanem a hosszú távú szempontokat is vegyük figyelembe a döntéseinkben és építsük fel a szükséges tudást
• Legyen elkötelezett a cégmenedzsment a SOA irányába, illetve az IT és az üzlet legyenek egyenrangú felek, ismerjék meg egymást, alakítsanak ki közös nyelvet
102