Service migration


Published on

WSDL to REST migration.

Published in: Education
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • For example, if GET a blog post the response document will have URIs embedded in it that allow you to create a comment , edit the post and any other action that you might want to do.
  • Correction were mainly due to un-clear name of the operations, tunneling through post is predicted Output parameters naming is very generic and exactly same for different kind of operations.
  • Number of WSDL documents Analyzed 61 Total Number of Operations 410 Number of Resources Identified 284 Misidentified Resources 46
  • Service migration

    1. 1. Migrating of SOAP-based Services toRESTful Services Bipin Upadhyaya Queen’s University
    2. 2. Limitations of SOAP-based ServicesNo Web in traditional web servicesNo use of scalability features of WebService provider dependent interfacesProblematic standardization process Infighting Lack of architectural coherence 2
    3. 3. RESTful ServicesA resource is any entity that can be identified or namedUniform interface for all resourcesHypermedia as the engine of application state (HATEOAS) Not only the name of resources but also the relationships between resources 3
    4. 4. Links and Forms Resources <xml> <book> 2. Response <name>Night Star </name> <author> </author> 1. Request </book> <a rel=“review” href=“http://..order/ns/reveiw” /> GET http://../book?search=Night Star <a rel=“order” href=“http://..order/ns” /> </xml> GET http://..order/ns/reveiw 3. RequestHow does client know about Resources ?Initial starting nodeAnd then the user agent is guided through the response 4
    5. 5. “….. 85% of service requests employed on RESTful API,not SOAP, and that querying Amazon using REST wasroughly six times faster than with the SOAP equivalents” -Jeff Barr [Amazon] Total Service : 2198 Protocol usage by API [src:] 5
    6. 6. MotivationRESTful services has various advantages over SOAP-based services Scalability of component interactions Generality of interfaces Independence in components deploymentNew services and service clients support RESTful services SOA P RE S T 6
    7. 7. WSDL I/O Parameters 7
    8. 8. Overview of Our Approach 8
    9. 9. Clustering WSDL OperationsCriteria for Clustering 2 * ((5 + 1)) similarity (GetAllCustomer , GetCustomerByID ) = = .923 5 + 5 + 2 +1 9
    10. 10. Identifying Resources From a ClusterExtract Nouns Input and output parameters is considered as nounFind word relationship/hierarchy between extracted wordsFind resource/container relationship 10
    11. 11. Identifying Resources From a ClusterInitially rank the words, according to the place of occurrence.  Words in semantic region are given highest priority, input parameters as second and output parameters as third.Check if the word already exits as a resource. If so give increase its priority.Check the relationship between the words and prioritize them according to the relationship.Combine the words to form the resource. 11
    12. 12. Example Identify Noun getModifiedCustomer getCustomerByCustID getAllCustomerSemantic Customer Customer CustomerOutput Customer Customer Customer[]OperationInput - CustID --Operation Resource : /customer 12
    13. 13. Identifying Resource MethodsSemantic analysis of each operation Extract and analyze verbs from the operation namesBased on fan-in and fan-out of the operationsIn case of conflict, revisit the cluster to form the new URI.Example : getCards()  Extract verb  get [Equivalent to HTTP operation Get] 13
    14. 14. Example Identify Resource Methods getModifiedCustomer getCustomerByCustID getAllCustomer Semantic Customer Customer Customer Output Customer Customer Customer[] Operation Input - CustID -- Operation Verb GET, Modified GET GETResource : /customer/modified Resource : /customer/{custid} Resource : /customerHTTP-Method: GET HTTP-Method: GET HTTP-Method: GET 14
    15. 15. Example Resource HTTP-Methods Functions/customer GET GetAllCustomers/customer/modified GET GetModifiedCustomers/customer/{custID} GET GetAllCustomerByCustID/servicelocations GET GetAllServiceLocations/servicelocations/modified GET GetModifiedServiceLocations/servicelocations/{serloc} GET GetAllServiceLocationBySerLoc 15
    16. 16. Example /campaign GetCampaings GET CreateOrUpdateCampaign POST DeleteCampaign DELETE /campaign/account/recepients GetCampaignAccountRecepients GET DeleteCampaignAccountRecepient DELETE CreateOrUpdateCampaignAccountRecepient POST / ImportCampaignAccountRecepients POST campaign/account/recepients? #methodname= ImportCampaignAccountRecep ients 16
    17. 17. Resource Verification 17
    18. 18. Wrapping SOAP-based Services 18
    19. 19. Case Study• Analyzed publicly available WSDL documents. Category # Description Finance 12 Services related to financial management and banks. Government 6 Services provided by government organization. Travel/Tourism 17 Services that are related to travel and tourism e.g., flight book, hotel booking, and taxi reservation. Ecommerce 13 Services provided by online business e.g., Amazon, BestBuy and EBay. Others 13 Services from domains such as weather, music search, content sharing and aggregation. 19
    20. 20. Case StudyCategory # #Predicted #misidentified #Actual Precision Recall Methods Resources Resources ResourcesFinance 59 35 8 40 0.77 0.67Government 39 25 2 27 0.92 0.85Travel/ 132 97 16 110 0.83 0.73TourismEcommerce 102 80 14 90 0.82 0.73Others 78 47 6 53 0.87 0.77 20
    21. 21. Performance Measurement 21
    22. 22. Conclusion and Future workProvide a mechanism to migrate SOAP- based services to RESTful servicesValidate the mechanism with larger set of WSDL filesExtend the approach to migrate other legacy systems to RESTful services.