Molnár Balázs Oracle Hungary A legújabb vállalati alkalmazásfuttató architektúra elemei (SOA, PORTÁL) Molnár Balázs Oracle Hungary
Miről lesz szó? Üzleti folyamatok támogatása informatikai eszközökkel Egy új alkalmazásfuttatási környezet: SOA (Service Oriented Architecture) A SOA alapjai: Web szolgáltatások Folyamatirányítás SOA-ban Felhasználói felület a SOA-ban (Portálok)
Üzleti folyamatok támogatása informatikai módszerekkel Vállalatirányítási alkalmazások SAP, Oracle eBusiness Suite, Scala, Navision stb. Óriási üzleti és technológiai know-how Egyetlen szállító vállalja a felelősséget Ritkán képesek lefedni a teljes folyamatot Nehezen és lassan változtathatók Lazán csatolt „Best of Breed” megoldások Integrációs problémák Szolgáltatási szint, Átláthatósági problémák Több sokszor kicsi szállító A folyamatok szinte teljeskörű lefedettsége Általában rugalmasabb megoldások
Mi a SOA (Service Orientated Architecture)? ‘Olyan üzleti műveteleteket végző komponensek összessége, melyekinterfész leírásai publikusak, bármely alkalmazásból meghívhatók‘ (W3C) Szolgáltatás Fogyasztó Szolgáltatás kérés Szolgáltató World Wide Web Consortium (W3C) refers to SOA as 'A set of components which can be invoked, and whose interface descriptions can be published and discovered‘ Looking around we see the term or acronym SOA becoming much more widely used, and there isn’t a lot of precision in the way that it's used. Usually it's a very technical perspective in which the architecture is considered a technical implementation. Which is odd, because the term architecture is more generally used to describe a style or set of practices. SOA is an architectural style whose goal is to achieve loose coupling among interacting software agents. A service is a unit of work done by a service provider to achieve desired end results for a service consumer. Both provider and consumer are roles played by software components. Let's look at an example of SOA which is likely to be found in your living room. Take a CD for instance. If you want to play it, you put your CD into a CD player and the player plays it for you. The CD player offers a CD playing service. Which is nice because you can replace one CD player with another. You can play the same CD on a portable player or on your expensive stereo. They both offer the same CD playing service, but the quality of service is different. Szolgáltatás válasz
Egy szolgáltatás… XML Metaadat Hálózat központú <rate> 5.6% Ügyfél adatainak lekérdezése Jelentéskérés Termékek kilszázása Keresés SzámlaEllenőrzés Megrendelés feldolgozása Hálózat központú
Mit mondanak az elemzők a SOA-ról? „SOA product market, will reach $43 billion by 2010” (ZapThink) „By 2008, SOA will be a prevailing software engineering practice, ending the 40-year domination of monolithic software architecture (0.7 probability)” (Gartner) „SOA is heralded as the most effective way to overcome the complexities involved in creating businesses that are agile and adaptive enough to address the ever-changing market dynamics” (IDC) „Over 70% of companies with more than 20,000 employees are adopting SOAs” (Forrester)
Elvárások a SOA-val szemben „Egy nagy szállító cég az ERP szállítójától 12 havonta kap egy frissítést és 9-12 hónapig tart annak az implementálása. A felhasználóknak vissza kell kapniuk a felügyeletet a szoftver architektúra felett, melyek most az ERP gyártók kezében van”
Elvárások a SOA-val szemben Az IT gyorsan reagáljon a változásokra Gyors válasz = versenyelőny Új piaci trend Új jogszabály Új versenytárs megjelenése Hirtelen támadt igény ... Új üzleti válasz Új termék Új szolgáltatás Hatékonyabb végrehajtás ... Új informatikai válasz Új alkalmazások Új felületek Új felhasználók ...
Elvárások a SOA-val szemben Folyamatok átláthatósága IT lefedettsége Sarbanes-Oxley, HIPAA, Patriot Act, and BASEL II Hatékonyság növelése Meglévő rendszerek felhasználhatósága Szabványosság Minden komponens legyen felhasználható más komponensekkel együtt Ipari szabványok a SOA minden szintjén Portál, Folyamat, Interfész, adapter, biztonság, tranzakciók, menedzsment, stb.
Ügyfél példa: Belgacom Ügyfél igények Minden aktiváló szolgáltatást egyetlen szabványos platformba integrálni Automatikus kivételkezelés Folyamatosan változó folyamatok Eredmények: A BPEL a folyamatok indításának javításának és változtatásának a lelke (DSL, bérlet vonal, interactive TV) Napi 15,000 megrendelést végeznek el rajta Egy kis projekttel kezdtek, amit 18 hónap alatt kiterjesztettek Több mint 300 BPEL használnak, van olyan ami több, mint 100 lépésből áll Harmic százalékkal csökkent a hibás feldolgozások aránya hetente 11
Miből áll egy SOA architektúra?
Web Szolgáltatás Címtár A Web Szolgáltatások Kliens Alkalmazás 2. Find 3. Keresés XML Interfész (WSDL) Web Szolgáltatás Cí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.
Csomagolt alkalmazások 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 assign invoke receive assign Üzleti szolgáltatások Adapterek, Java, Struts, JSF Szolgáltatás fejlesztők Meglévő rendszerek adatbázis Csomagolt alkalmazások JAVA 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 ADF Service Not Available Exception Orchestration Billing Services Payment Services Credit Card Payment Services Pénzügyi rendszerek
Hogyan modellezünk egy üzleti folyamatot informatikai eszközökkel Üzleti folyamat átvilágítása Folyamatok céljai, erőforrások, szereplők definiálása, végrehajtási utasítás, határidők, kivételek, stb... (ISO) Folyamatok leképezése informatikai folyamatokká BPR, Alkalmazások, Szolgáltatások deiniálása, folyamatok leírása Folyamatok elemzése és revíziója Pontos kép a folyamatokról, időtartamról, szűk keresztmetszetről stb. Folyamatok újragondolása
BPMI (Business Process Management Initiative) szabványrendszer BPMN Business Process Modelling Notation Tervezés Dokumentáció BPSM Business Process Semantic Model BPXL Business Process Extension Layers: A BPEL szabvány kiegészítése, mely kezeli pl. a tranzakciókat, felhasználói műv.-et Végrehajtás WS-CDL Choerography Description Language BPEL Business Process Execution Language BPQL Business Process Query Language Web Szolgáltatás szabványok WSDL, UDDI, és más hasonló definíciók
Business Process Execution Language 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) There is a constant pressure for businesses to interconnect their applications. This is what is driving the adoption of web services and SOA as an enterprise blue print for reducing the cost and complexity of integration initiatives. Making web services work is a two step process: first you publish and then you orchestrate. Publish means taking a part of a existing system and exposing it as a service. Orchestrate means composing multiple discrete services into an end-to-end process flow. BPEL is the industry standard for orchestration. Cornerstone of Service Oriented Architecture Business Process Execution Language OASIS Specification – current version is 1.1 Origins in Web Services Flow (WSFL) and XLANG Standard XML representation of a business process Strong Support by Oracle, Microsoft, IBM, BEA, SAP and others
Bevezetés a BPEL nyelvbe <variable> <process> </process> BPEL Flow 10:00am start Credit Rating <faultHandlers> Get Rating <invoke> Handle Negative Credit Exception <flow> </flow> <partnerLink> Send Loan Application Send Loan Application United Loan <receive> <invoke> Star Loan Receive Loan Offer Receive Loan Offer <switch> ? Select Lowest Offer end 03:00pm
Folyamat Modellezés BPEL Process Manager – Process Modeling
Folyamatok felügyelete: Business Activity Monitoring Főbb tulajdonságok Folyamatokhoz kapcsolható események naplózása Az események közötti összefüggések megtalálása Mérés és KPI Valós idejű „műszerfalak” Figyelmeztetések küldése
Milyen technológiai eszközök támogatják a SOA infrastruktú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)
Felhasználói felület a SOA-ban (Portálok)
Milyen problémák vannak a felhasználói felülettel? Egy informatikával jól ellátott vállalatnál nagyon sok üzleti alkalmazás van. Pénzügyi, beszerzési, gyártási, ügyfélkapcsolati, dokumentumkezelő, tudásbázis, kereskedelmi, marketing, stb... Az alkalmazás felületek specializáltak az adott funkciókra Heterogén alkalmazások (Best Of Breed) A felhasználói felületek az alkalmazások funkcióinak, nem a felhasználói igényeknek megfelelő Sok esetben a felhasználónak megfelelő felület helyhez kötött
Egy lehetséges válasz: vállalati portál megoldás Portlet A Portlet B
Több alkalmazás egy felhasználói felülettel Vállalati Portál Kereső felület Operatív felület Jelentések Elemzések Statisztikák Dokumentumok Internet/ Intranet tartalom Pénzügyi Beszerzési Gyártási Ügyfél kapcsolati Dokumentum kezelő
Mindenki számára más információ, felület a fontos. Csoport Nézet Oktatói nézet Külső nézet Hallgatói nézet The webtop alone is not enough – e-business portals provide portal ‘views’ that take into account who the users are, their function and the tasks/actions they are performing through the portal webtop. Note that the definition of ‘views’ and ‘users’ are not just limited to employees, but includes customers and suppliers as well. While user ‘communities’ may have different information needs or access/interact with different information sources, they face the same or similar information management problems described earlier. By pulling together disparate information resources and providing the ability for various user communities to tailor how these resources are exposed, grouped and accessed, portals bring order to Web chaos. This example shows how 4 user communities can have very different layouts and formats (each appropriate to the data that they access and the way they work with the information) yet access common data resources.
Nem helyhez, kliens típushoz kötött WML WAP Gateway Nokia Gateway AT&T Gateway HTTP Gateway Nokia TTML Palm HTML Desktop WTP SMS CDPD Network One of the more important functions of a portal is to enable users to access its content from any device. Oracle9iAS portal allows you to create a page, so that it is mobile enabled. This means that anything that is mobile capable on the page will be displayed to the mobile device. You can create a mobile view on a page that shows you a view of what the device will see. In the browser, you will see a matrix with a set of boxes. In a mobile phone, you will see a hierarchical menu. Oracle’s portal solution enables you to take advantage of the fact that you already have an organization of the portal and you just want to tailor that to the mobile needs, directly within the interface. Portál
Portál helye a SOA architektúrában
Service Oriented Architecture (SOA) Portál Portlet Portlet Portlet Portlet Portlet Portlet Folyamat Web Szolgáltatások Web Szolgáltatások Web Szolgáltatások Web Szolgáltatások Web Szolgáltatások Internet/ Intranet tartalom Pénzügyi Beszerzési Gyártási Ügyfél kapcsolati Dokumentum kezelő Alkalmazás
Felhasználó azonosítás problémája Egy ponton történő bejelentkezés Alkalmazás felhasználók konszolidációja Alkalmazás párbeszéd (session) konszolidációja Alkalmazás azonosítási felületének integrációja Azonosítás Alkalmazás Azonosítás Alkalmazás SSO Azonosítás Alkalmazás Azonosítás Alkalmazás Azonosítás Web oldal Azonosítás Web oldal
Összefoglalva A portálok a legújabb vállalati alkalmazás architektúrák rugalmas felhasználói felületei Komponens alapúak Komponens szabványok kialakultak, illetve kialakulóban vannak Hosszútávon kiválthatja a PC-k Desktop funkcióit.