soa és a web 2
TRANSCRIPT
![Page 1: SOA és a Web 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/html5/thumbnails/1.jpg)
Webtechnológiák információs redszerekben
Bevezető – 1.
![Page 2: SOA és a Web 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/html5/thumbnails/2.jpg)
Témakörök
• Ismertetés, bevezető, mashup, WS bővebben - SOA
• Üzleti folyamatmenedzsment – BPM
• Enterprise Architecture – ARIS
• Big Data
• Nagyvállalati web-alkalmazások
• Meghívott előadók
• Konzultáció
![Page 3: SOA és a Web 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/html5/thumbnails/3.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ő: 2014. márc. 14.
![Page 4: SOA és a Web 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/html5/thumbnails/4.jpg)
Szükséges alapok
• HTTP
• Adatbázis-kezelés
• JavaScript / Java nyelv (Java EE) / ASP.NET & C#
• Modellezési ismeretek
• XML
• Web-szolgáltatások
![Page 5: SOA és a Web 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/html5/thumbnails/5.jpg)
BEVEZETÉS
6
![Page 6: SOA és a Web 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/html5/thumbnails/6.jpg)
Szoftver rendszerek
Szoftver rendszerek
Monolitikus Elosztott
Hagyományos Web-alapú szoftverek
Web alkalmazások Szolgáltatás-orientált
alkalmazások
![Page 7: SOA és a Web 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/html5/thumbnails/7.jpg)
Egygépes (standalone) alkalmazások
• A program teljes egészében a munkaállomáson fut.
• Az adatok ugyanitt tárolódnak.
• Egyszerre csak egy felhasználó használhatja.
• Semmilyen hálózati kapcsolat nincs, a különálló programok közti adatszinkronizáció meglehetősen nehézkes.
Kliens gép 1
Program
Adatok (fájlok)
Kliens gép 2
Program
Adatok (fájlok)
Kliens gép N
Program
Adatok (fájlok)
...
![Page 8: SOA és a Web 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/html5/thumbnails/8.jpg)
Egyszerű kliens-szerver alkalmazások 1.
• Egy vagy több szerver gép erőforrásait (jellemzően adatait) megosztja a kliensek között. Jobb esetben on-line.
• Az alkalmazás egy része (adatbázis-kezelő rsz.) a szerven fut.
• Az alkalmazás logikát implementáló rész a kliens gépeken fut. „vastag kliens rendszerek”
• Egy adatbázist többféle kliens program is használhat.
• Egyszerre több konkurrens felhasználó használhatja.
Szerver gép
Kliens gép 1
Program
Kliens gép 2
Program
Kliens gép N
Program
...
Intranet
RDBMS (Relational
DataBase Management
System)
![Page 9: SOA és a Web 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/html5/thumbnails/9.jpg)
Egyszerű kliens-szerver alkalmazások 2.
• Jellemzően intranet-es alkalmazásoknál használatos.
• Terheli a kliens gép erőforrásait.
• Gyakran mindenféle driver-ek telepítését igényli a kliens gépeken
• Verziófrissítés alkalmával az összes kliens-en frissíteni kell a programot.
• A RAD (Rapid Application Development) sok eszközzel támogatott, számos jó vizuális fejlesztőkörnyezet: gyorsan „összekattint-gathatunk” és leprogramozhatunk komoly alkalmazásokat.
Szerver gép
Kliens gép 1
Program
Kliens gép 2
Program
Kliens gép N
Program
...
Intranet
RDBMS (Relational
DataBase Management
System)
![Page 10: SOA és a Web 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/html5/thumbnails/10.jpg)
Többrétegű (multitier) hálózati alkalmazások
• Minimálisan három réteg létezik:
– Front End = kliens oldali felhasználói réteg (általában egy WEB böngészőben)
– Middleware = szerver oldali prezentációs és logikai réteg (általában egy WEB szerveren beágyazott script-ekben összeolvasztva a megjelenítés és az egyszerűbb logika)
– Back End = hátsó szerver oldali nagykapacitású tároló (adatbázis szerver) vagy számoló réteg
![Page 11: SOA és a Web 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/html5/thumbnails/11.jpg)
Háromrétegű architektúra
Back EndMiddlewareFront End
Web szerver
Kliens gép 1
WEB Böngésző
Kliens gép 2
WEB Böngésző
Kliens gép N
WEB Böngésző
...
Internet/
Intranet
Adatbázis szerver
RDBMS (Relational
DataBase Management
System)
Web Server
Application
Server (pl. PHP)
Adatbázis szerver
XML DBMS (XML
DataBase Management
System)
Egyéb szerver
Nagykapacitású,
bonyolul
számításokat végző
alkalmazás
![Page 12: SOA és a Web 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/html5/thumbnails/12.jpg)
Többrétegű architektúra
Middleware
Prezentációs
layer
Back EndFront End
Web szerver1
Kliens gép 1
WEB Böngésző
Kliens gép 2
WEB Böngésző
Kliens gép N
WEB Böngésző
...
Internet/
Intranet
Adatbázis szerver
RDBMS (Relational
DataBase Management
System)
Adatbázis szerver
XML DBMS (XML
DataBase Management
System)
Egyéb szerver
Nagykapacitású,
bonyolul
számításokat végző
alkalmazás
Web Server
Prezentációs
alkalmazás (pl.
JSP)
Web szerverK
Web Server
Prezentációs
alkalmazás (pl.
JSP)
...
Logikai layer
Applikációs
szerver1
Application
Server
...Applikációs
szerverM
Application
Server
![Page 13: SOA és a Web 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/html5/thumbnails/13.jpg)
Többrétegű architektúra jellemzői
• Load balancing, terhelésmegosztás.
• Tervezést támogató környezetek: Java J2EE, .Net.
• Architektúra felosztás-összevonás logikai szinten.
• A rendszer logikai architektúrája (tervezés, programozás) független a számítógépes megvalósítástól, hálózattól.
• A logikai réteg tovább osztható.
• Nagyon sok konkurens felhasználó kiszolgálására optimalizálva
![Page 14: SOA és a Web 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/html5/thumbnails/14.jpg)
Többrétegű architektúra jellemzői
• Kliens gép: böngésző, a logika – többnyire – a szerveren található – vékony kliens architektúra
• Minimális logika a klienseken: a beviteli adatok validálására, a lapok speciális megjelenítésére (pl. JavaScript).
• A szerveren elkülönül az adattárolás, a logika és a prezentáció eltérő szerepkörök
• Az egyes szintek önmagukban is tesztelhetőek.
• A rendszer egyes komponensei több célra vagy újra felhasználhatók.
![Page 15: SOA és a Web 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/html5/thumbnails/15.jpg)
Többrétegű architektúra jellemzői
• A vékony kliensek miatt nagyon gyenge kliens gépek is elegendők.
• A technológia platformfüggetlen.
• A kliensekre nem kell drivert telepíteni.
• A verziófrissítés csak a szervert érinti, a klienseket nem.
• Sajnos egyelőre elég kevés eszköz támogatja a RAD-ot (Rapid Application Development), a környezet kevés segítséget nyújt a programozónak a megoldási lehetőségek kiválasztásában – „Házi szabványok”, saját keretrendszerek készülnek.
• Nehezebb tesztelni
![Page 16: SOA és a Web 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/html5/thumbnails/16.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
Meg
jeln
ítés
C
SS
Vis
elke
dés
Ja
vaSc
rip
t
Load
Bal
ance
r
![Page 17: SOA és a Web 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/html5/thumbnails/17.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
Meg
jeln
ítés
C
SS
Vis
elke
dés
Ja
vaSc
rip
t
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 18: SOA és a Web 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/html5/thumbnails/18.jpg)
Információs rendszer 3 rétege Kliens
Alkalmazás szerver (Üzleti logika, Adathozzáférés)
Megjelenítési réteg
(Presentation Layer)
Firewall
Proxy
Web Server
DBMS B2B
Backend (Vállalati
információs rendszer)
Alkalmazási logika réteg (Business Layer)
Erőforráskezelő réteg
(Data Layer)
![Page 19: SOA és a Web 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/html5/thumbnails/19.jpg)
Információs rendszer 3 rétege Kliens
Alkalmazás szerver (Üzleti logika, Adathozzáférés)
Megjelenítési réteg
(Presentation Layer)
Firewall
Proxy
Web Server
DBMS B2B
Backend (Vállalati
információs rendszer)
Alkalmazási logika réteg (Business Layer)
Erőforráskezelő réteg
(Data Layer)
![Page 20: SOA és a Web 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/html5/thumbnails/20.jpg)
Vállalati alkalmazások
![Page 21: SOA és a Web 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/html5/thumbnails/21.jpg)
WEB-SZOLGÁLTATÁSOK
22
![Page 22: SOA és a Web 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/html5/thumbnails/22.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.
23
![Page 23: SOA és a Web 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/html5/thumbnails/23.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.”
24
![Page 24: SOA és a Web 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/html5/thumbnails/24.jpg)
Webszolgáltatások „fogalma”
• Bármilyen rendszer
• Bármilyen programnyelv
• HTTP
• 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)
25
![Page 25: SOA és a Web 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/html5/thumbnails/25.jpg)
Webszolgáltatások
• Előzmények:
– RPC (távoli eljáráshívás)
– CORBA
– ...
• Fajtái:
– SOAP
– RESTful
– ...
26
![Page 26: SOA és a Web 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/html5/thumbnails/26.jpg)
Webszolgáltatások használata
27
Service
Registry /
Broker
Service
Consumer /
Requester
Service
Provider
Register Find
Bind
Execute
![Page 27: SOA és a Web 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/html5/thumbnails/27.jpg)
Webszolgáltatás protokol szintek
28
Service Transport
Service Messaging
Service Description
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 - Webszolgáltatások integrálása
- WS-BPEL
![Page 28: SOA és a Web 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/html5/thumbnails/28.jpg)
RESTful webszolgáltatások
• Representational State Transfer
• CRUD műveletekből HTTP műveleteket készítünk:
29
Alkalmazás művelet HTTP protokoll
Create POST
Retrieve GET
Update PUT
Delete DELETE
![Page 29: SOA és a Web 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/html5/thumbnails/29.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
30
![Page 30: SOA és a Web 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/html5/thumbnails/30.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)
…
31
![Page 31: SOA és a Web 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/html5/thumbnails/31.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)
32
![Page 32: SOA és a Web 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/html5/thumbnails/32.jpg)
Példa:
33
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 33: SOA és a Web 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/html5/thumbnails/33.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>
34
![Page 34: SOA és a Web 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/html5/thumbnails/34.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
36
![Page 35: SOA és a Web 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/html5/thumbnails/35.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
37
![Page 36: SOA és a Web 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/html5/thumbnails/36.jpg)
SOAP
38
![Page 37: SOA és a Web 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/html5/thumbnails/37.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
39
![Page 38: SOA és a Web 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/html5/thumbnails/38.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
40
![Page 39: SOA és a Web 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/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 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/html5/thumbnails/40.jpg)
SOAP
Body
Header
![Page 41: SOA és a Web 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/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 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/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 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/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 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/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 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/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 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/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 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/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 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/html5/thumbnails/48.jpg)
W3C ajánlás (szabványosítás felé)
• WSDL – Web Service Definition Language
• Verzió: 1.1
• <definitions>: A WSDL gyökér eleme • <portType> Művelet definíció. Mely műveleteket, függvényeket
használjuk? Melyik üzenetre milyen a válaszüzenet? • <message> Üzenet definíció. Milyen üzeneteket küldünk át?
• <types> Típus definíciók, XML séma segítségével. Milyen adatokat viszünk át?
• <binding> Végpont és műveletek összekötése (protocol definíció). Hogyan vigyük át az üzeneteket?
• GET,POST,SOAP
• Vannak új irányok: JMS; Fájlírás, -figyelés
• <service> Végpont definíció. Hol található a szolgáltatás?
50
![Page 49: SOA és a Web 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/html5/thumbnails/49.jpg)
WSDL szerkezete
<definitions>
<portType> </portType> <message> </message> <types> </types> <binding> </binding>
</definitions>
51
![Page 50: SOA és a Web 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/html5/thumbnails/50.jpg)
WSDL példa: <types>
52
<types>
<schema targetNamespace="http://example.com/stockquote.xsd" xmlns="http://www.w3.org/2000/10/XMLSchema">
<element name="TradePriceRequest">
<complexType>
<all>
<element name="tickerSymbol" type="string"/>
</all>
</complexType>
</element>
<element name="TradePrice">
<complexType>
<all>
<element name="price" type="float"/>
</all>
</complexType>
</element>
</schema>
</types>
![Page 51: SOA és a Web 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/html5/thumbnails/51.jpg)
WSDL példa: <portType> és <message>
<portType name="glossaryTerms"> <operation name="getTerm"> <input message="getTermRequest"/> <output message="getTermResponse"/> </operation>
</portType>
<message name="getTermRequest">
<part name="term" type="xs:string"/>
</message>
<message name="getTermResponse">
<part name="value" type="xs:string"/>
</message>
53
![Page 52: SOA és a Web 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/html5/thumbnails/52.jpg)
WSDL példa: <binding> <binding type="glossaryTerms" name="b1">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
<operation>
<soap:operation soapAction="http://example.com/getTerm"/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>
</binding>
<portType name="glossaryTerms"> <operation name="getTerm"> <input message="getTermRequest"/> <output message="getTermResponse"/> </operation>
</portType>
<message name="getTermRequest">
<part name="term" type="xs:string"/>
</message>
<message name="getTermResponse">
<part name="value" type="xs:string"/>
</message>
54
![Page 53: SOA és a Web 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/html5/thumbnails/53.jpg)
WSDL példa: <service>
<service name=“GlossaryTermsService">
<port name=“GlossaryTermsSoapHttpPort"
binding="tns:GlossaryTermsSoapBinding">
<soap:address
location="http://localhost:8080/webservice/Glo
ssaryTermsService"/>
</port>
</service>
55
![Page 54: SOA és a Web 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/html5/thumbnails/54.jpg)
Végrehajtás Web Services Platform
WSDL
types binding
ServiceDeployment
operation Java Method
Enterprise System
XML Schema Library
Book.xsd
![Page 55: SOA és a Web 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/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
– …
57
![Page 56: SOA és a Web 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/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
58
![Page 57: SOA és a Web 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/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 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/html5/thumbnails/58.jpg)
UDDI példa
60
![Page 59: SOA és a Web 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/html5/thumbnails/59.jpg)
Tesztelés – SoapUI
• Felület
• WSDL import
• Validálás (Rq/Rs)
• Példa
– BarCode39 project
62
![Page 60: SOA és a Web 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/html5/thumbnails/60.jpg)
Példa
• BarCode – vonalkód generálás
– SoapUI-ban már láttuk
– Böngésző
• http://seekda.com/providers/webservicex.com/BarCode
• http://www.webservicex.net/barcode.asmx?op=Code39
• GET, POST, SOAP
– Java alkalmazás – SOAPClientTest
63
![Page 61: SOA és a Web 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/html5/thumbnails/61.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();
64
![Page 62: SOA és a Web 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/html5/thumbnails/62.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();
65
![Page 63: SOA és a Web 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/html5/thumbnails/63.jpg)
SZOLGÁLTATÁS ORIENTÁLT ARCHITEKTÚRÁK (SOA)
66
![Page 64: SOA és a Web 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/html5/thumbnails/64.jpg)
67
![Page 65: SOA és a Web 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/html5/thumbnails/65.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.
68
![Page 66: SOA és a Web 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/html5/thumbnails/66.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.
69
![Page 67: SOA és a Web 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/html5/thumbnails/67.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
70
![Page 68: SOA és a Web 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/html5/thumbnails/68.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.
71
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ámla rögzít.
Számla mód.
Számla törlés
Felhasználói interfész
(UI)
Programlogika
![Page 69: SOA és a Web 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/html5/thumbnails/69.jpg)
Út a SOA-ig: Munkafolyamatok (fejben)
72
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ámla rögzít.
Számla mód.
Számla törlés
Felhasználói
interfész (UI)
Program-
logika
Előzetes ellen
őrzés
Jóváh
agyás
![Page 70: SOA és a Web 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/html5/thumbnails/70.jpg)
Út a SOA-ig: Task management
73
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ámla rögzít.
Számla mód.
Számla törlés
Felhasználói
interfész (UI)
Program-
logika
Előzetes ellen
őrzés
Jóváh
agyás
Előzetes ellenőrzés
Jóváhagyás Számla
rögzítése
![Page 71: SOA és a Web 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/html5/thumbnails/71.jpg)
Út a SOA-ig: Munkafolyamat management
74
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ámla rögzít.
Számla mód.
Számla törlés
Felhasználói
interfész (UI)
Program-
logika
Előzetes ellen
őrzés
Jóváh
agyás
Előzetes ellenőrzés
Jóváhagyás Számla
rögzítése
![Page 72: SOA és a Web 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/html5/thumbnails/72.jpg)
Út a SOA-ig: Szolgáltatás integráció
75
Vállalati információs rendszer Pl.: Könyvelés és számvitel
(pénzügy)
Szállító rögzít.
Számla rögzít.
Számla mód.
Számla törlés
Szolgáltatás
interfész
Alkalmazási
logika
Előzetes ellen
őrzés
Jóváh
agyás
Adatbevitel Jóváhagyás Számla
rögzítése Ellenőrzés
Váll. Szabályok
ell.
![Page 73: SOA és a Web 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/html5/thumbnails/73.jpg)
Út a SOA-ig: Összetett szolgáltatások
76
Vállalati információs rendszer Pl.: Könyvelés és számvitel
(pénzügy)
Szállító rögzít.
Számla rögzít.
Számla mód.
Számla törlés
Szolgáltatás
interfész
Alkalmazási
logika
Ellen
őrzések
Új szab
ályok
Adatbevitel Jóváhagyás Számla
rögzítése Ellenőrzés
ESB – szolgáltatás sín Összetett
szolgáltatások
![Page 74: SOA és a Web 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/html5/thumbnails/74.jpg)
SOA - ESB
• Rugalmas kapcsolatot,
• Egységes keretet,
• Szabványos kommunikációt biztosít
77
![Page 75: SOA és a Web 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/html5/thumbnails/75.jpg)
Szoftver rendszerek
Szoftver rendszerek
Monolitikus Elosztott
Hagyományos Web-alapú szoftverek
Web alkalmazások Szolgáltatás-orientált
alkalmazások
![Page 76: SOA és a Web 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/html5/thumbnails/76.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
79
![Page 77: SOA és a Web 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/html5/thumbnails/77.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.
80
![Page 78: SOA és a Web 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/html5/thumbnails/78.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
81
![Page 79: SOA és a Web 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/html5/thumbnails/79.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.
82
![Page 80: SOA és a Web 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/html5/thumbnails/80.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.
83
![Page 81: SOA és a Web 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/html5/thumbnails/81.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
84
![Page 82: SOA és a Web 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/html5/thumbnails/82.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.
86
![Page 83: SOA és a Web 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/html5/thumbnails/83.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.
87
![Page 84: SOA és a Web 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/html5/thumbnails/84.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.
88
![Page 85: SOA és a Web 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/html5/thumbnails/85.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
89
![Page 86: SOA és a Web 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/html5/thumbnails/86.jpg)
Szabványos megvalósítás
90
![Page 87: SOA és a Web 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/html5/thumbnails/87.jpg)
BPEL - Business Process Execution Language
91
![Page 88: SOA és a Web 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/html5/thumbnails/88.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.
92
![Page 89: SOA és a Web 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/html5/thumbnails/89.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.
93
![Page 90: SOA és a Web 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/html5/thumbnails/90.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
94
![Page 91: SOA és a Web 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/html5/thumbnails/91.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.
95
![Page 92: SOA és a Web 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/html5/thumbnails/92.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.
96
![Page 93: SOA és a Web 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/html5/thumbnails/93.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
97
![Page 94: SOA és a Web 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/html5/thumbnails/94.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
98
![Page 95: SOA és a Web 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/html5/thumbnails/95.jpg)
CLOUD COMPUTING
99
![Page 96: SOA és a Web 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/html5/thumbnails/96.jpg)
Szoftver vs. szolgáltatás - fogalmak
S+S (szoftver plusz szolgáltatások)
az alkalmazás az ügyfélnél
fut, és felhasználja további, a „felhőben”
futó alkalmazások szolgáltatásait
SaaS (szoftver mint szolgáltatás)
az alkalmazás a „felhőben” fut, az ügyfél oldalán nincs szoftver (csak egy böngésző)
Cloud Computing, Cloud Platform
a „felhőben” futó alkalmazások létrehozását, futtatását, felügyeletét biztosító/támogató platform
![Page 97: SOA és a Web 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/html5/thumbnails/97.jpg)
Alkalmazás modellek, fogalmak
• Mashup
• Software-as-a-Service (SaaS)
• Platform-as-a-Service (PaaS): – Windows Azure,
– Google AppEngine,
– Saleforce.com
• Infrastructure-as-a-Service (IaaS): – Amazon Elastic Compute Cloud (EC2)
– Google AppEngine
![Page 98: SOA és a Web 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/html5/thumbnails/98.jpg)
Helyben futó dobozos
alkalmazás
Vásárolt, saját
adatközpontban futtatott dobozos
alkalmazás
Helyben futó saját
fejlesztés
Egyedileg
fejlesztett, saját adatközpontban
futtatott alkalmazás
Fe
jleszté
s v
ag
y v
ásá
rlá
s
Fejle
szté
s
Vásárlás
Hosztolt saját
fejlesztés
Egyedileg fejlesztett, hoszternél futtatott
alkalmazás
Hosztolt dobozos
alkalmazás
Vásárolt,
hoszternél futtatott dobozos
alkalmazás
„Cloud Platform”
Egyedileg
fejlesztett, a felhőben futtatott
alkalmazás
„Szoftver mint
szolgáltatás”
Vásárolt, szállítónál
futtatott hosztolt alkalmazás
Helyben vagy a felhőben Helyben A felhőben
Alkalmazások – hol és hogyan?
![Page 99: SOA és a Web 2](https://reader031.vdocuments.pub/reader031/viewer/2022012504/617eb744dabf094a394f60cd/html5/thumbnails/99.jpg)
Helyben futó dobozos
alkalmazás
Helyben futó saját
fejlesztés
Hosztolt saját
fejlesztés
Hosztolt dobozos
alkalmazás
„Szoftver mint
szolgáltatás”
„Cloud Platform”
Példa (gyógyszeripar)
ERP
Clinical Trial
Molecule Research
Issue Tracking
HR System
Fejle
szté
s v
ag
y v
ásárl
ás
Fejle
szté
s
Vásárlás
Helyben vagy a felhőben Helyben A felhőben