SlideShare ist ein Scribd-Unternehmen logo
1 von 23
Migrating of SOAP-based Services to
RESTful Services

          Bipin Upadhyaya
          Queen’s University
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
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
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. Request

How does client know about Resources ?
Initial starting node
And then the user agent is guided through the response
                                                                                                            4
“….. 85% of service requests employed on RESTful API,
not SOAP, and that querying Amazon using REST was
roughly six times faster than with the SOAP equivalents”
                                       -Jeff Barr [Amazon]




                                                          Total Service : 2198




       Protocol usage by API [src: programmableweb.com]
                                                                                 5
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
WSDL
           I/O
       Parameters




                    7
Overview of Our Approach




                           8
Clustering WSDL Operations




Criteria for Clustering




                                                        2 * ((5 + 1))
     similarity (GetAllCustomer , GetCustomerByID ) =                 = .923
                                                        5 + 5 + 2 +1           9
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
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
Example Identify Noun


            getModifiedCustomer        getCustomerByCustID   getAllCustomer



Semantic    Customer                   Customer              Customer

Output      Customer                   Customer              Customer[]
Operation
Input       -                          CustID                --
Operation
                Resource : /customer




                                                                              12
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
Example Identify Resource Methods

               getModifiedCustomer      getCustomerByCustID       getAllCustomer



   Semantic    Customer                 Customer                  Customer

   Output    Customer                   Customer                  Customer[]
   Operation
   Input     -                          CustID                    --
   Operation
   Verb        GET, Modified            GET                       GET

Resource : /customer/modified   Resource : /customer/{custid}   Resource : /customer
HTTP-Method: GET                HTTP-Method: GET                HTTP-Method: GET

                                                                                   14
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
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
Resource Verification




                        17
Wrapping SOAP-based Services




                               18
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
Case Study


Category        #     #Predicted    #misidentified   #Actual  Precision Recall
             Methods Resources       Resources      Resources
Finance            59          35                 8        40      0.77   0.67
Government         39          25                 2        27      0.92   0.85
Travel/           132          97                16       110      0.83   0.73
Tourism
Ecommerce        102          80               14         90      0.82    0.73
Others            78          47                6         53      0.87    0.77




                                                                            20
Performance Measurement




                          21
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.
Service migration

Weitere ähnliche Inhalte

Was ist angesagt? (6)

JAX-RS 2.0: RESTful Web Services
JAX-RS 2.0: RESTful Web ServicesJAX-RS 2.0: RESTful Web Services
JAX-RS 2.0: RESTful Web Services
 
Java EE 7 in practise - OTN Hyderabad 2014
Java EE 7 in practise - OTN Hyderabad 2014Java EE 7 in practise - OTN Hyderabad 2014
Java EE 7 in practise - OTN Hyderabad 2014
 
Java web programming
Java web programmingJava web programming
Java web programming
 
Java Web Programming [4/9] : JSP Basic
Java Web Programming [4/9] : JSP BasicJava Web Programming [4/9] : JSP Basic
Java Web Programming [4/9] : JSP Basic
 
JAX-RS 2.0: New and Noteworthy in RESTful Web services API at JAX London
JAX-RS 2.0: New and Noteworthy in RESTful Web services API at JAX LondonJAX-RS 2.0: New and Noteworthy in RESTful Web services API at JAX London
JAX-RS 2.0: New and Noteworthy in RESTful Web services API at JAX London
 
Javatwo2012 java frameworkcomparison
Javatwo2012 java frameworkcomparisonJavatwo2012 java frameworkcomparison
Javatwo2012 java frameworkcomparison
 

Ähnlich wie Service migration

Rest with Java EE 6 , Security , Backbone.js
Rest with Java EE 6 , Security , Backbone.jsRest with Java EE 6 , Security , Backbone.js
Rest with Java EE 6 , Security , Backbone.js
Carol McDonald
 
Android App Development 06 : Network &amp; Web Services
Android App Development 06 : Network &amp; Web ServicesAndroid App Development 06 : Network &amp; Web Services
Android App Development 06 : Network &amp; Web Services
Anuchit Chalothorn
 
Rest presentation
Rest  presentationRest  presentation
Rest presentation
srividhyau
 
Ambari Meetup: APIs and SPIs of Ambari
Ambari Meetup: APIs and SPIs of AmbariAmbari Meetup: APIs and SPIs of Ambari
Ambari Meetup: APIs and SPIs of Ambari
Hortonworks
 

Ähnlich wie Service migration (20)

RESTful Web Services
RESTful Web ServicesRESTful Web Services
RESTful Web Services
 
Best Practices for Architecting a Pragmatic Web API.
Best Practices for Architecting a Pragmatic Web API.Best Practices for Architecting a Pragmatic Web API.
Best Practices for Architecting a Pragmatic Web API.
 
Cqrs api v2
Cqrs api v2Cqrs api v2
Cqrs api v2
 
JAX-RS. Developing RESTful APIs with Java
JAX-RS. Developing RESTful APIs with JavaJAX-RS. Developing RESTful APIs with Java
JAX-RS. Developing RESTful APIs with Java
 
Building RESTful applications using Spring MVC
Building RESTful applications using Spring MVCBuilding RESTful applications using Spring MVC
Building RESTful applications using Spring MVC
 
Rest with Java EE 6 , Security , Backbone.js
Rest with Java EE 6 , Security , Backbone.jsRest with Java EE 6 , Security , Backbone.js
Rest with Java EE 6 , Security , Backbone.js
 
Rest
RestRest
Rest
 
Modified REST Presentation
Modified REST PresentationModified REST Presentation
Modified REST Presentation
 
Introduction To REST
Introduction To RESTIntroduction To REST
Introduction To REST
 
API Design choices
API Design choicesAPI Design choices
API Design choices
 
Ws rest
Ws restWs rest
Ws rest
 
Micro service architecture
Micro service architectureMicro service architecture
Micro service architecture
 
REST Architecture with use case and example
REST Architecture with use case and exampleREST Architecture with use case and example
REST Architecture with use case and example
 
REST Architecture with use case and example
REST Architecture with use case and exampleREST Architecture with use case and example
REST Architecture with use case and example
 
Android App Development 06 : Network &amp; Web Services
Android App Development 06 : Network &amp; Web ServicesAndroid App Development 06 : Network &amp; Web Services
Android App Development 06 : Network &amp; Web Services
 
Rest presentation
Rest  presentationRest  presentation
Rest presentation
 
Angular presentation
Angular presentationAngular presentation
Angular presentation
 
Http and REST APIs.
Http and REST APIs.Http and REST APIs.
Http and REST APIs.
 
AGADOS function & feature Chapter-02 biz logic define
AGADOS function & feature Chapter-02 biz logic defineAGADOS function & feature Chapter-02 biz logic define
AGADOS function & feature Chapter-02 biz logic define
 
Ambari Meetup: APIs and SPIs of Ambari
Ambari Meetup: APIs and SPIs of AmbariAmbari Meetup: APIs and SPIs of Ambari
Ambari Meetup: APIs and SPIs of Ambari
 

Kürzlich hochgeladen

Gardella_Mateo_IntellectualProperty.pdf.
Gardella_Mateo_IntellectualProperty.pdf.Gardella_Mateo_IntellectualProperty.pdf.
Gardella_Mateo_IntellectualProperty.pdf.
MateoGardella
 
Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptx
negromaestrong
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
QucHHunhnh
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
QucHHunhnh
 

Kürzlich hochgeladen (20)

Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 
SECOND SEMESTER TOPIC COVERAGE SY 2023-2024 Trends, Networks, and Critical Th...
SECOND SEMESTER TOPIC COVERAGE SY 2023-2024 Trends, Networks, and Critical Th...SECOND SEMESTER TOPIC COVERAGE SY 2023-2024 Trends, Networks, and Critical Th...
SECOND SEMESTER TOPIC COVERAGE SY 2023-2024 Trends, Networks, and Critical Th...
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impact
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17
 
Gardella_Mateo_IntellectualProperty.pdf.
Gardella_Mateo_IntellectualProperty.pdf.Gardella_Mateo_IntellectualProperty.pdf.
Gardella_Mateo_IntellectualProperty.pdf.
 
Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptx
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SD
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot Graph
 
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptxINDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
 
psychiatric nursing HISTORY COLLECTION .docx
psychiatric  nursing HISTORY  COLLECTION  .docxpsychiatric  nursing HISTORY  COLLECTION  .docx
psychiatric nursing HISTORY COLLECTION .docx
 
Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 

Service migration

  • 1. Migrating of SOAP-based Services to RESTful Services Bipin Upadhyaya Queen’s University
  • 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. 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. 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. Request How does client know about Resources ? Initial starting node And then the user agent is guided through the response 4
  • 5. “….. 85% of service requests employed on RESTful API, not SOAP, and that querying Amazon using REST was roughly six times faster than with the SOAP equivalents” -Jeff Barr [Amazon] Total Service : 2198 Protocol usage by API [src: programmableweb.com] 5
  • 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. WSDL I/O Parameters 7
  • 8. Overview of Our Approach 8
  • 9. Clustering WSDL Operations Criteria for Clustering 2 * ((5 + 1)) similarity (GetAllCustomer , GetCustomerByID ) = = .923 5 + 5 + 2 +1 9
  • 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. 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. Example Identify Noun getModifiedCustomer getCustomerByCustID getAllCustomer Semantic Customer Customer Customer Output Customer Customer Customer[] Operation Input - CustID -- Operation Resource : /customer 12
  • 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. Example Identify Resource Methods getModifiedCustomer getCustomerByCustID getAllCustomer Semantic Customer Customer Customer Output Customer Customer Customer[] Operation Input - CustID -- Operation Verb GET, Modified GET GET Resource : /customer/modified Resource : /customer/{custid} Resource : /customer HTTP-Method: GET HTTP-Method: GET HTTP-Method: GET 14
  • 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. 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
  • 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. Case Study Category # #Predicted #misidentified #Actual Precision Recall Methods Resources Resources Resources Finance 59 35 8 40 0.77 0.67 Government 39 25 2 27 0.92 0.85 Travel/ 132 97 16 110 0.83 0.73 Tourism Ecommerce 102 80 14 90 0.82 0.73 Others 78 47 6 53 0.87 0.77 20
  • 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.

Hinweis der Redaktion

  1. 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.
  2. 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.
  3. Number of WSDL documents Analyzed 61 Total Number of Operations 410 Number of Resources Identified 284 Misidentified Resources 46