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
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
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
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
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