PhD Thesis Unifying Service Oriented Technologies for the Specification and Detection of their Antipatterns Francis PALMA Supervised by: Dr. Naouel Moha, Universit´ e du Qu´ ebec ` a Montr´ eal, Canada eneuc, ´ Dr. Yann-Ga¨ el Gu´ eh´ Ecole Polytechnique de Montr´ eal, Canada August 19, 2015 Francis PALMA (´ EPM, UQ` AM) Detection of Service Antipatterns August 19, 2015 1 / 60
Context: Adoption of Web Technologies and Styles *Source: www.programmableweb.com Francis PALMA (´ EPM, UQ` AM) Detection of Service Antipatterns August 19, 2015 2 / 60
Context: Service-based Systems (SBSs) Francis PALMA (´ EPM, UQ` AM) Detection of Service Antipatterns August 19, 2015 3 / 60
Thesis Francis PALMA (´ EPM, UQ` AM) Detection of Service Antipatterns August 19, 2015 4 / 60
Thesis Service an � pa � erns hinder Francis PALMA (´ EPM, UQ` AM) Detection of Service Antipatterns August 19, 2015 4 / 60
Thesis Service an � pa � erns hinder ICSOC '12 ECSA '14 IJCIS '13 Francis PALMA (´ EPM, UQ` AM) Detection of Service Antipatterns August 19, 2015 4 / 60
Thesis Service an � pa � erns hinder Changed lines of code and code churns ICSOC '12 ECSA '14 IJCIS '13 Francis PALMA (´ EPM, UQ` AM) Detection of Service Antipatterns August 19, 2015 4 / 60
Thesis Service an � pa � erns hinder Changed lines of code and code churns ICSOC '12 ECSA '14 IJCIS '13 Proposing a uni fi ed approach to specify and detect service an � pa � erns by assessing the quality of design and quality of service of SBSs. Francis PALMA (´ EPM, UQ` AM) Detection of Service Antipatterns August 19, 2015 4 / 60
Service Antipatterns Catalog: Books Francis PALMA (´ EPM, UQ` AM) Detection of Service Antipatterns August 19, 2015 5 / 60
Tiny Service Antipattern in SOAP Web Services Web Service 1 <?xml version="1.0" encoding="UT <definitions name="AktienKurs"> </definitions> WSDL WSDL Web Service 2 Web Service 3 <?xml version="1.0" encoding="UT <?xml version="1.0" encoding="UT <definitions name="AktienKurs"> <definitions name="AktienKurs"> - Few Operations - Low Cohesion - High Coupling </definitions> </definitions> WSDL WSDL WSDL WSDL Francis PALMA (´ EPM, UQ` AM) Detection of Service Antipatterns August 19, 2015 6 / 60
God Component Antipattern in SCA Proper � es s References to e Components c i v r e S d e Component A t a l u s p a c n E Francis PALMA (´ EPM, UQ` AM) Detection of Service Antipatterns August 19, 2015 7 / 60
Forgetting Hypermedia Antipattern in RESTful APIs 2: s k . n . . i w l o o l N l o f o t . . . s w k o n l i l L o f o t s k . n . . w i l o o N l l o f o t Francis PALMA (´ EPM, UQ` AM) Detection of Service Antipatterns August 19, 2015 8 / 60
Challenges and Problems Service an � pa � erns hinder Changed lines of code and code churns Francis PALMA (´ EPM, UQ` AM) Detection of Service Antipatterns August 19, 2015 9 / 60
Challenges and Problems Service an � pa � erns hinder Changed lines of code and code churns Properties ICSOC '12 IJCIS '13 References - SOAP, REST, JMS, RMI Services - SCDL speci fi ca � ons (local) An SCA Component - XML or SDO (Service Data Object) - One addi � onal layer of components Francis PALMA (´ EPM, UQ` AM) Detection of Service Antipatterns August 19, 2015 9 / 60
Challenges and Problems Service an � pa � erns hinder Changed lines of code and code churns Properties ICSOC '12 IJCIS '13 References - SOAP, REST, JMS, RMI Services - SCDL speci fi ca � ons (local) An SCA Component - XML or SDO (Service Data Object) - One addi � onal layer of components Web Service Interface Types <types> ... </types> Messages <message> ... </message> - XML-based Port Types <portType> ... </portType> - SOAP-based Operations <operation> ... </operation> - WS*-standards Input <input> ... </input> Output <output> ... </output> - WSDL speci fi ca � ons (remote) Bindings <binding> ... </binding> - BPEL composi � on Service <service> ... </service> Port <port> ... </port> Francis PALMA (´ EPM, UQ` AM) Detection of Service Antipatterns August 19, 2015 9 / 60
Challenges and Problems Service an � pa � erns hinder Changed lines of code and code churns Properties ICSOC '12 IJCIS '13 References - SOAP, REST, JMS, RMI - Representa � on (JSON, PDF, ...) Services REST - SCDL speci fi ca � ons (local) - HTTP Method (GET, POST, PUT, DELETE,...) An SCA Resource Component - En � ty Endpoint (hos � ng server) - XML or SDO (Service Data Object) - One addi � onal layer of components h � ps://api.twi � er.com/1.1/followers/ids.json Web Service Interface Types <types> ... </types> Messages <message> ... </message> - XML-based Port Types <portType> ... </portType> - SOAP-based Operations <operation> ... </operation> - WS*-standards Input <input> ... </input> Output <output> ... </output> - WSDL speci fi ca � ons (remote) Bindings <binding> ... </binding> - BPEL composi � on Service <service> ... </service> Port <port> ... </port> Francis PALMA (´ EPM, UQ` AM) Detection of Service Antipatterns August 19, 2015 9 / 60
Challenges and Problems Service an � pa � erns hinder Changed lines of code and code churns Properties ICSOC '12 IJCIS '13 References - SOAP, REST, JMS, RMI - Representa � on (JSON, PDF, ...) Services REST - SCDL speci fi ca � ons (local) - HTTP Method (GET, POST, PUT, DELETE,...) An SCA Resource Component - En � ty Endpoint (hos � ng server) - XML or SDO (Service Data Object) - One addi � onal layer of components h � ps://api.twi � er.com/1.1/followers/ids.json Web Service Interface No uni fi ed abstrac � on Types <types> ... </types> Messages <message> ... </message> - XML-based Port Types <portType> ... </portType> - SOAP-based Operations <operation> ... </operation> - WS*-standards Input <input> ... </input> Output <output> ... </output> - WSDL speci fi ca � ons (remote) Bindings <binding> ... </binding> - BPEL composi � on Service <service> ... </service> Port <port> ... </port> Challenge 1 Francis PALMA (´ EPM, UQ` AM) Detection of Service Antipatterns August 19, 2015 9 / 60
Challenges and Problems Challenge 2 - Only textual descrip � ons - No speci fi ca � ons Service an � pa � erns hinder Changed lines of code and code churns Properties ICSOC '12 IJCIS '13 References - SOAP, REST, JMS, RMI - Representa � on (JSON, PDF, ...) Services REST - SCDL speci fi ca � ons (local) - HTTP Method (GET, POST, PUT, DELETE,...) An SCA Resource Component - En � ty Endpoint (hos � ng server) - XML or SDO (Service Data Object) - One addi � onal layer of components h � ps://api.twi � er.com/1.1/followers/ids.json Web Service Interface Types <types> ... </types> Messages <message> ... </message> - XML-based Port Types <portType> ... </portType> - SOAP-based Operations <operation> ... </operation> - WS*-standards Input <input> ... </input> Output <output> ... </output> - WSDL speci fi ca � ons (remote) Bindings <binding> ... </binding> - BPEL composi � on Service <service> ... </service> Port <port> ... </port> Challenge 1 Francis PALMA (´ EPM, UQ` AM) Detection of Service Antipatterns August 19, 2015 9 / 60
Challenges and Problems Challenge 2 Challenge 3 - Only textual descrip � ons - No dedicated uni fi ed approach - No speci fi ca � ons - No uni fi ed framework Service an � pa � erns hinder Changed lines of code and code churns Properties ICSOC '12 IJCIS '13 References - SOAP, REST, JMS, RMI - Representa � on (JSON, PDF, ...) Services REST - SCDL speci fi ca � ons (local) - HTTP Method (GET, POST, PUT, DELETE,...) An SCA Resource Component - En � ty Endpoint (hos � ng server) - XML or SDO (Service Data Object) - One addi � onal layer of components h � ps://api.twi � er.com/1.1/followers/ids.json Web Service Interface Types <types> ... </types> Messages <message> ... </message> - XML-based Port Types <portType> ... </portType> - SOAP-based Operations <operation> ... </operation> - WS*-standards Input <input> ... </input> Output <output> ... </output> - WSDL speci fi ca � ons (remote) Bindings <binding> ... </binding> - BPEL composi � on Service <service> ... </service> Port <port> ... </port> Challenge 1 Francis PALMA (´ EPM, UQ` AM) Detection of Service Antipatterns August 19, 2015 9 / 60
Recommend
More recommend