Platzhalter für Bild, Bild auf Titelfolie hinter das Logo einsetzen Provi viding ing Fault lt-tol tolerant erant Execution n of Web-servi service ce – ba based sed Workf kflows ows wi within Cl Clouds hl , Tobias Distler, Rüdiger Kapitza, Florian Heisig, Matthias Schunter Johan annes nes Behl CloudCP 2012, Bern, April 10 th 2012
From Cl Clouds to to Cloud Computing is … “Everything as a Service ” ( XaaS) Computing power, storage, software, … Deficiencies regarding trustworthiness Inhibit critical applications like financial or medical services Motivation for Targets provisioning of dependable and secure cloud infrastructures EU-funded project comprising 14 partners Johannes Behl | Reliable BPEL infrastructure | Page 2
Web-Ser Service vice Orchestratio chestration Combination and coordination of Web services Integral part of cloud computing We need Way to express (critical) workflows based on Web services Fault-tolerant platform to execute these workflows Johannes Behl | Reliable BPEL infrastructure | Page 3
Web-Ser Service vice Orchestratio chestration Combination and coordination of Web services Integral part of cloud computing We need Way to express (critical) workflows based on Web services Fault-tolerant platform to execute these workflows Web Service Business Process Execution Language (WS-BPEL) Standardized XML- based language … … to describe and execute Web-service – based workflows Tools to create, execute, and manage workflows Johannes Behl | Reliable BPEL infrastructure | Page 4
Stand ndard ard BPEL BPEL Infr frastructure astructure BPEL process definition WSDL <definitions> … Specifies workflow Client <message> references <service> … BPEL engine SOAP message BPEL exchange <process> Platform for executing … <invoke WS A> is imported <invoke WS B> BPEL processes <reply> … BPEL Logging for crash recovery Engine WSDL WSDL State changes are logged to <definitions> <definitions> … … <message> <message> stable storage <service> <service> … … implements implements Web Srv. A Web Srv. B Johannes Behl | Reliable BPEL infrastructure | Page 5
Stand ndard ard BPEL BPEL Infr frastructure astructure BPEL process definition WSDL <definitions> … Specifies workflow Client <message> references <service> … Drawbacks of current implementations: BPEL engine SOAP message BPEL Dependent on reliability of storage exchange <process> Platform for executing … <invoke WS A> is imported Logging expensive in terms of performance <invoke WS B> BPEL processes <reply> … Services unavailable during recovery BPEL No fault tolerance for Web services Logging for crash recovery Engine WSDL WSDL State changes are logged to <definitions> <definitions> … … <message> <message> stable storage <service> <service> … … implements implements Web Srv. A Web Srv. B Johannes Behl | Reliable BPEL infrastructure | Page 6
Stand ndard ard BPEL BPEL Infr frastructure astructure BPEL process definition WSDL <definitions> … Specifies workflow Client <message> references <service> … Drawbacks of current implementations: BPEL engine SOAP message BPEL Dependent on reliability of storage exchange <process> Platform for executing … <invoke WS A> is imported Logging expensive in terms of performance <invoke WS B> BPEL processes <reply> … Services unavailable during recovery BPEL No fault tolerance for Web services Logging for crash recovery Engine WSDL WSDL State changes are logged to <definitions> <definitions> … … <message> <message> stable storage <service> <service> Level of fault tolerance is … … insuffici ficient nt especiall ally for r criti tical cal servi vice ces implements implements Web Srv. A Web Srv. B Johannes Behl | Reliable BPEL infrastructure | Page 7
Re Reliable BPEL BPEL Infrastructur frastructure Motivation Reliable BPEL Infrastructure Evaluation Outlook and Conclusion Johannes Behl | Reliable BPEL infrastructure | Page 8
Re Reliable BPEL BPEL Infrastructur frastructure Starting Point: Client Reuse current BPEL systems BPEL engines BPEL Tools <process> … <invoke IPs A> <invoke IPs B> Replace standard mechanism <reply> … for crash recovery BPEL Engine Web Srv. A Johannes Behl | Reliable BPEL infrastructure | Page 9
Re Reliable BPEL BPEL Infrastructur frastructure Active replication for Client high availability BPEL <process> … <invoke IPs A> <invoke IPs B> <reply> … BPEL BPEL BPEL Engine Engine Engine Web Srv. A Johannes Behl | Reliable BPEL infrastructure | Page 10
Re Reliable BPEL BPEL Infrastructur frastructure Active replication for Client high availability BPEL engines BPEL Web services <process> … <invoke IPs A> <invoke IPs B> <reply> … BPEL BPEL BPEL Engine Engine Engine Web Srv. A Web Srv. A Web Srv. A Johannes Behl | Reliable BPEL infrastructure | Page 11
Re Reliable BPEL BPEL Infrastructur frastructure Active replication for Output Proxy OP Client high availability Input Proxy IP BPEL engines OP BPEL Web services <process> … <invoke IPs A> <invoke IPs B> Generic proxies and <reply> IP IP IP … automated transformation Automated for transparency Transformation BPEL BPEL BPEL before import Engine Engine Engine OP OP OP IP IP IP Web Srv. A Web Srv. A Web Srv. A Johannes Behl | Reliable BPEL infrastructure | Page 12
Re Reliable BPEL BPEL Infrastructur frastructure Active replication for Output Proxy OP Client high availability Input Proxy IP BPEL engines OP BPEL Web services <process> … <invoke IPs A> <invoke IPs B> Generic proxies and <reply> IP IP IP … automated transformation Automated for transparency Transformation BPEL BPEL BPEL before import Engine Engine Engine Coordination service for simplified configuration OP OP OP and implementation ZooKeeper Apache ZooKeeper for: IP IP IP Leader election Crash detection Web Srv. A Web Srv. A Web Srv. A Dynamic configuration Request ordering Johannes Behl | Reliable BPEL infrastructure | Page 13
De Details ls – Cl Client / BPEL BPEL Stage Output Proxy OP Client Input Proxy IP OP IP IP IP ZooKeeper BPEL BPEL BPEL Engine Engine Engine OP OP OP IP IP IP Web Srv. A Web Srv. A Web Srv. A Johannes Behl | Reliable BPEL infrastructure | Page 14
De Details ls – Cl Client / BPEL BPEL Stage (1) Web-service request is passed to Output Proxy OP local output proxy Client Input Proxy IP OP IP IP IP ZooKeeper BPEL BPEL BPEL Engine Engine Engine OP OP OP IP IP IP Web Srv. A Web Srv. A Web Srv. A Johannes Behl | Reliable BPEL infrastructure | Page 15
De Details ls – Cl Client / BPEL BPEL Stage (1) Web-service request is passed to Output Proxy OP local output proxy Client Input Proxy IP OP (2) Request data and request ID are sent to input proxies ZooKeeper for list of active replicas IP IP IP ZooKeeper BPEL BPEL BPEL Engine Engine Engine OP OP OP IP IP IP Web Srv. A Web Srv. A Web Srv. A Johannes Behl | Reliable BPEL infrastructure | Page 16
De Details ls – Cl Client / BPEL BPEL Stage (1) Web-service request is passed to Output Proxy OP local output proxy Client Input Proxy IP OP (2) Request data and request ID are sent to input proxies ZooKeeper for list of active replicas IP IP IP (3) Request is registered at ZooKeeper ZooKeeper BPEL BPEL BPEL Engine Engine Engine OP OP OP IP IP IP Web Srv. A Web Srv. A Web Srv. A Johannes Behl | Reliable BPEL infrastructure | Page 17
De Details ls – Cl Client / BPEL BPEL Stage (1) Web-service request is passed to Output Proxy OP local output proxy Client Input Proxy IP OP (2) Request data and request ID are sent to input proxies ZooKeeper for list of active replicas IP IP IP (3) Request is registered at ZooKeeper ZooKeeper BPEL BPEL BPEL (4) Output proxy waits for reply Engine Engine Engine OP OP OP IP IP IP Web Srv. A Web Srv. A Web Srv. A Johannes Behl | Reliable BPEL infrastructure | Page 18
Recommend
More recommend