250 likes | 360 Vues
Web szolgáltatások mint eBusiness szolgáltatások megvalósítási formái. Molnár Balázs Oracle Hungary. Miről lesz szó ?. Hogyan fejlődött ki a web szolgáltatás ? Hogyan hasznosíthatjuk a WS-t ? Mi a SOA ? ( Szolgáltatás alapú architektúra)
E N D
Web szolgáltatások mint eBusiness szolgáltatások megvalósítási formái Molnár Balázs Oracle Hungary
Miről leszszó? • Hogyan fejlődött ki a web szolgáltatás? • Hogyan hasznosíthatjuk a WS-t? • Mi a SOA? (Szolgáltatás alapú architektúra) • Hogyan támogathatjuk a vállalati folyamatokat a SOA-n belül (BPEL) • Milyen eszközök támogatják a modern infrastuktúrát
Alkalmazások fejlődése 1 • Egyedi alkalmazások, EgyediOprendszer, tár és kommunikáció Kátyák, TTY, űrlapok Cobol, Fortran, Pascal Egyedi Alkalmazások Fájlok
Fájlok Alkalmazások fejlődése - 2 • Csomagolt alkalmazások, Unix, Windows, Objektum orientált technológia, Relációs DB, TCP/IP, alacsony szintű API, EDI Windows, X Windows C, C++, SmallTalk, PL/SQL Csomagolt Alkalmazások Adatbázis
Relációs Adatbázis Corba, COM, Bean-ek Service Service Service Service Service Alkalmazások fejlődése - 3 • Alkalmazás csomagok, komponens modellek, Y2K, J2EE, Web, magas szintű API, CORBA, B2B Fájlok Windows, Java Java C++ Alkalmazás csomagok
Fájlok Relációs adatbázisok Service Service Service Service Service Alkalmazások fejlődése - 4 • XML, JMS, SOA, Alkalmazás szerver, Portalok Java, C++, C# Java, HTML, Portal-ok Szolgáltatások (SOAP..) Hang, mobil… Partner, Belső
A Web Szolgáltatások Kliens Alkalmazás 2. Find 3. Keresés XML Interfész (WSDL) Web SzolgáltatásCímtár (UDDI) 4. Meghívás(XML Protokoll - SOAP) 1. Publish 2. Publikáció Web Szolgáltatás XML Interfész (WSDL) 1. Generálás Alkalmazás
A Webszolgáltatások tehát • Széleskörben támogatott komponens szabvány (w3c) • Internetes/Intranetes infrastruktúrán működik • Platform és alkalmazás független • Üzleti igényeknek megfelelő • Biztonság, Tranzakció kezelés, stb.
Egyedileg fejlesztett web szolgáltatások • Publikus web szolgáltatások • Szótár, SMS küldés, hírek, valutaváltó stb. • www.xmethods.com • Üzleti webszolgáltatások • Integráció A2A és B2B • Platformok közötti kommunikáció • Tűzfalak közötti kommunikáció
Mi a SOA(Service Orientated Architecture)? • ‘Olyan üzleti műveteleteket végző komponensek összessége, melyek interfész leírásai publikusak, bármely alkalmazásból meghívhatók‘ (W3C) Szolgáltatás kérés Szolgáltatás Fogyasztó Szolgáltató Szolgáltatás válasz
Service Oriented Architecture (SOA) Portal and B2B Gateway JSR-168, CDL, WS-Security Process Orchestration BPEL, XSLT, XML Query Üzleti szolgáltatások XML, XML Schema, SOAP, WSDL, WSIF, JCA Meglévő rendszerek JAVA MAINFRAME Adatbázis Csomagolt Alkalmazások
Mi kell a szolgáltatásokhoz? WS-Distributed Management Choreography (WS-CDL) TPM, Mainframe, hagyományos rendszerek Orchestration WS-Coordination WS-Transactions WS-Security Alkalmazások WS-Policy WS-Reliable Messaging JAX-*: JAX-B, JAX-P, JAX-RPC, … SOA Eszközök JDeveloper Alkalmazás fejlesztő környezetek Adatbázisok WS-I Basic Profile SOAP, WSDL, UDDI Oracle AS 10g B2B Partnerek
Egyedi kód .NET Service Egyedi kód Folyamat nélkül: DB App SAP Egyedi kód SAP .NET Service Folyamattal: End Start Step 3 Step 1 Step 2 DB App Folyamatirányítás a SOA-ban
Folyamatirányítás Dokumentációs réteg BPMN or UML Üzleti elemzők aktivitás aktivitás aktivitás Végrehajtási réteg XML, XQuery, BPEL, Rules Integrációs fejlesztők receive assign assign invoke Üzleti szolgáltatásokAdapterek, Java, Struts, JSF Szolgáltatás fejlesztők Meglévő rendszerek JAVA adatbázis Csomagoltalkalmazások MAINFRAME
Példa: mobiltelefon aktiválási eljárás Telco műszaki rendszerek SMS Activation Manager GPRS Activation Manager New Plan Provisioning Felhasználói felület China Roaming Activation Manager Application Server Automatic Payment Approval Service Not Available Exception ADF Orchestration Billing Services Payment Services Credit Card Payment Services Pénzügyi rendszerek
BPEL szabvány • Business Process Execution Language • Üzleti folyamatok létrehozására, felügyeletére, és vezérlésére létrehozott nyelv • OASIS specifikáción alapuló szabvány • Minden nagyobb szállító támogatja • Oracle, IBM, SAP, Siebel, Microsoft, BEA(Ami kb a piac 99%-a)
<process> <variable> <flow> <partnerLink> <invoke> <receive> <partnerLink> <partnerLink> </flow> </process> Bevezetés a BPEL nyelvbe BPEL Flow 10:00am start Credit Rating <faultHandlers> Get Rating <invoke> Handle Negative Credit Exception Send Loan Application Send Loan Application United Loan Star Loan Receive Loan Offer Receive Loan Offer <switch> ? Select Lowest Offer end 03:00pm
BPEL koncepció | BPEL forráskód <process> is the top level element <partnerLink>, channel use to interact with client (and services integrated in process) <variable>: reference to an XML message receive or sent to the <partnerLink>s. Process flow: sequence of activities defining the process logic. Initiate a new instance of the process when a process request is received Create and assign greeting to output message. Send synchronous reply to client passing output variable as response
<sequence name="main"> <!-- Receive input from requestor. Note: This maps to operation defined in MegrendelesEsKeretszerzodes.wsdl --> <receive name="receiveInput" partnerLink="client" portType="tns:MegrendelesEsKeretszerzodes" operation="initiate" variable="input" createInstance="yes"/> <!-- Asynchronous callback to the requester. Note: the callback location and correlation id is transparently handled using WS-addressing. --> <scope name="Megrendelés létrehozása"> </scope> <while name="Történt változás a megállapodásban?"> <scope name="Megrendelés jóváhagyása"> </scope> <scope name="Megrendelés kiadása a Beszállítónak"> </scope> <switch name="switch-1"> <case> <scope name="Megrendelés Karbantartása"> </scope> </case> <otherwise> </otherwise> </switch> </while> <invoke name="callbackClient" partnerLink="client" portType="tns:MegrendelesEsKeretszerzodesCallback" operation="onResult" inputVariable="output"/> </sequence> </process> BPEL modellezők
Milyen technológiai eszközök támogatják a SOA infrastuktúrát? • Olyan környezet, amely a SOA szolgáltatások illetve folyamatok végrehajtását biztosítja • Alkalmazás szerverek Pl. Oracle Alkalmazás szerver • Kész adapterek, melyek a hagyományos alkalmazások szolgáltatásait megoszják a SOA számára • Pl. iWay adapterek PeopleSoft, Scala, 300+ adapter • Olyan fejlesztőeszközök, amivel gyorsan és könnyen fejleszthetünk SOA adaptereket • Pl. Oracle Jdeveloper • Komponens alapú, vékony felhasználói felület • Portálok , Pl. Oracle Portal
Milyen üzleti/alkalmazás eszközök támogatják a SOA infrastuktúrát? • Olyan alkalmazások, melyeknek moduljai, szolgáltatásai működnek SOA rendszerben. • Oracle Ebusiness Suite, SAP, stb... • Olyan előre elkészített iparág specifikus üzleti folyamatok, melyek könnyen alkalmazhatók a konkrét igényekre • Pl. Telco Provisioning, Banki hiteligény jóváírás, Kormányzati beszerzés • Üzleti folyamat elemző eszközök (BPI)
Mik a SOA előnyei az IT felhasználók számára • Megszűnik a monolitikus alkalmazás modell • A „mindenből a legjobb” elvén nem alkalmazásokat, hanem komponenseket vásárolhat, bérelhet a felhasználó • A rendszerek integrációs problémái csökkennek • Az üzleti folyamatok átláthatóvá, elemezhetővé válnak • A szabványok miatt a rendszer könnyebben kezelhető bővíthető
Összefoglalva • A webszolgáltatások ipari szabvány alapú szoftver komponensek • Megfelelnek a legmodernebb üzleti igényeknek • Átalakítják a üzleti felhasználó IT infrastruktúráját • Növelik az IT infrastuktúra rugalmasságát, átláthatóságát, kezelhetőségét