SlideShare a Scribd company logo
1 of 6
Download to read offline
A RESTful implementation of the WS-Agreement
specification
Roland Kübert, Gregory Katsaros, Tinghe Wang
Höchstleistungsrechenzentrum Stuttgart
Nobelstraße 19
70569 Stuttgart
{kuebert,katsaros,twang}@hlrs.de
ABSTRACT
Representational State Transfer (REST) is an architectural
style for distributed systems. RESTful web services have
been gaining popularity in the last years. The Java API
for RESTful Web Services (JAX-RS) has been specified as
Java Specification Request 311 and is therefore an official
part of Java; with the Jersey framework, a robust reference
implementation of the specification exists. We examine in
how far RESTful web services can fulfill tasks that have
been defined as WS-* specifications. In particular, we in-
vestigate how a RESTful design and implementation of the
WS-Agreement specification can be realized, presenting a
light-weight approach to the creation and management of
service level agreements.
Categories and Subject Descriptors
D.2.0 [Software Engineering]: Standards; C.5.m [Computer
System Implementation]: Miscellaneous; C.2.4 [Computer-
communication networks]: Distributed Systems
General Terms
Design
1. INTRODUCTION
The terms service level and service level agreement (SLA)
have been initially defined and widely used in the telecom-
munication sector. The need for providing to the customer
a certain level of quality of service (QoS) along with adop-
tion of more flexible business policies drove the research
and development to invest a lot of effort to this very topic
[1][2][3][4]. From the emergence of service oriented architec-
ture (SOA) until cloud computing lately, SLAs have been an
integral part of contemporary research in those fields as well
[5][6][7]. SLAs can be seen as bipartite electronic contracts,
which define service levels between a service provider and
a customer.Service levels define acceptable QoS thresholds
Permission to make digital or hard copies of all or part of this work for
personal or classroom use is granted without fee provided that copies are
not made or distributed for profit or commercial advantage and that copies
bear this notice and the full citation on the first page. To copy otherwise, to
republish, to post on servers or to redistribute to lists, requires prior specific
permission and/or a fee.
WS-REST 2011, Mar 28-28 2011, Hyderabad, India
Copyright 2011 ACM 978-1-4503-0623-2/11/03 ...$10.00.
agreed upon by both parties. As a proposed recommenda-
tion by the Open Grid Forum (OGF), the WS-Agreement
Specification defines a language to specify an SLA and de-
fines a protocol to create SLAs based on so-called templates,
which are blueprints for the final agreements. It is funda-
mental to automate the contracting process as well as the
whole agreement life cycle, including creation, provision-
ing, monitoring and assessment of agreed terms. Currently
there are implementations of the WS-Agreement specifica-
tion with the traditional SOA approach, which have been
mostly applied and tried in European research projects [8]
[9] [10].
In contrast to the classical SOA approach realized with
SOAP web services, RESTful web services are an architec-
tural practice which utilizes web standards such as HTTP,
URI, XML. In the last years, the RESTful style is gaining
popularity in web development. In this paper we present
the implementation of the WS-Agreement specification with
a RESTful approach, which can be divided into four steps:
identifying resources, defining URLs, deciding on resource
representation and assigning HTTP methods.
The remainder of this work is organized as follows: in sec-
tion two we are presenting the two major architectural styles
for developing web services, in section three we are analyz-
ing the Web Services Agreement Specification (WS-Ag), in
section four we present detail of the implementation of the
aforementioned specification using the REST architectural
style and in the last section we conclude and summarize our
findings.
2. WEB SERVICES AND REPRESENTATIONAL
STATE TRANSFER
For years the best practice for realizing web services was
through SOAP [11], a standard recommended by W3C [12],
OASIS [13] and supported by enterprises such as IBM and
Microsoft. SOAP interfaces are usually defined by a Web
Service Description Language (WSDL) [14] document which
describes methods and expected inputs and outputs, while
Extensible Markup Language (XML) [15] is used to describe
the schemas for those inputs and outputs. This very set
of languages and standards, which can be often termed as
WS-*, is being used extensively for the implementation of
complex web service frameworks by researchers as well as by
enterprises. In 2000 Roy Fielding in his doctoral dissertation
[16] defined Representational State Transfer (a.k.a.REST),
an ”architectural style for distributed hypermedia systems”.
From that point on REST became a strong competitor to
WS-*.
The fundamental principle of the REST concept is that
everything is a resource identified by a Uniform Resource
Identifier (URI). It consumes HTTP as an application level
protocol utilizing four of HTTP’s request methods - GET,
POST, PUT and DELETE - for the realization of the CRUD
operations (create, read, update, delete). Interactions with
resources are stateless in the sense that each request to the
server must contain all the necessary information in order
for the latter to understand or generate the state of the
resource. The equivalent to WSDL for RESTful services
is WADL, a machine-readable description of HTTP-based
applications [17]; WADL, in contrast to WSDL, which is
W3C a recommendation, was a member submission by Sun
to the W3C in 2009 but “W3C has no plans to take up work
based on this Submission” [18].
SOAP utilizes HTTP as a transport protocol by send-
ing messages through the POST request method. SOAP
web services are, similar to RESTful web services, normally
stateless as well, but can be rendered stateful as proposed in
the WS-Resource Framework (WSRF) set of specifications;
thus, the server can maintain state across multiple trans-
actions [19]. Finally, the security for the WS-* family of
specification is defined by the WS-Security framework, while
for the RESTful services, secure communication is realized
through HTTPS (HTTP+SSL/TLS). As also presented in
the analytical comparison in [20], both techniques are rather
similar, although having their own strong and weak points.
Overall, the lack in alternative options that REST provides,
results in a simplified structure that offers better flexibil-
ity and control. When it comes to enterprise applications
though, the reliability and better defined security features
of WS-* make SOAP a probably more appropriate solution.
3. THE WEB SERVICES AGREEMENT SPEC-
IFICATION
The Web Service Agreement Specification (WS-Agreement)
is a proposed recommendation which has been worked out by
the Grid Resource Allocation Agreement Protocol (GRAAP)
working group of the Open Grid Forum (OGF). The OGF is
a community “committed to driving the rapid evolution and
adoption of applied distributed computing” [21]. It has pub-
lished more than 150 documents, for example the well-known
Open Grid Service Architecture (OGSA) specification, the
Open Cloud Computing Interface (OCCI) specification, grid
extensions to the FTP protocol (GridFTP) and many more
[22].
WS-Agreement describes an XML schema for specifying
service level agreements, for example between a service provider
and a consumer, as well as a simple protocol that describes
how parties can communicate in order to build an agree-
ment. WS-Agreement builds on other web service specifica-
tions, namely the following:
• Web Services Addressing (WS-Addressing) 1.0 Core
• Web Services ResourceProperties (WSRF RP) 1.2
• Web Services Resource Lifetime 1.2 (WSRF RLF)
• Web Services Base Faults 1.2 (WSRF BF)
Elements of these specifications are included into WS-
Agreement, for example the Endpoint Reference from WS-
Addressing which describes how resources can be addressed
or fault types from BaseFaults which define error messages
that can be thrown by operations. Other parts of these
specifications are used to extend the interface that WS-
Agreement specifies by itself. This is done by including port
types described by WSRF RLF and WSRF RP, which can
be thought of as inheriting from these specifications as super
classes.
WSRF RLF provides operation for specifying the life time
of a resource while WSRF RP describes standardized opera-
tions to get, set or query so-called“resource properties”; they
can be thought of as getters and setters in Java, which are
instance methods that retrieve or store values from object
instances.
3.1 WS-Agreement port types
Port types can be thought of as specifications of an inter-
face of a service, more precisely “A port type is a named set
of abstract operations and the abstract messages involved”
[23]. In WSDL 2.0, port types have consequently been re-
named interfaces [24].
WS-Agreement itself specifies the following port types:
• AgreementFactory
• PendingAgreementFactory
• Agreement
• AgreementAcceptance
• AgreementState
These port types offer the possibility to implement differ-
ent scenarios, for example asymmetric, symmetric, direct or
deferred, and combinations of these. We focus on the im-
plementation of a case that is often used, the “simple client-
server” scenario [25]:
The AgreementFactory can be invoked by initia-
tors to create a responder-side Agreement and to
perform monitoring and management using only
WS client mechanisms. Both port types would
be implemented by the responder.
The only relevant port type in this scenario are the Agree-
mentFactory port type, which offers an operation to cre-
ate agreements, and the Agreement port type itself. It is,
however, desirable, to use the AgreementState port type as
well. The AgreementState port type’s purpose is “to define
a resource document type for monitoring the state of the
agreement”; it should be “composed into a domain-specific
Agreement port type”, that means it is not foreseen to be
used on its own.
3.2 Creating an agreement
The AgreementFactory is invoked through one operation,
createAgreement. The input is an AgreementOffer and, pos-
sibly extension elements. We focus on the generic part and
ignore the extensions; as we deal with the client-server sce-
nario, we can safely ignore the input initiatorAgreementEPR,
which is “a contact point (. . . ) where the invoked party can
send messages pertaining to this Agreement”, as the client
does not implement any server functionality.
The response of a call to createAgreement is an Endpoint
Reference, that is the address of a resource that was created,
indicating the acceptance of an agreement [26]. If the offer
was rejected, a fault is to be thrown [25, p. 39].
But how does the invoker know what to send to the re-
sponder? This problem is solved by the AgreementFactory,
respectively the invoker, providing templates. Templates
describe how an offer can be created, without giving a guar-
antee on its acceptance; they offer a mechanism to allow the
responder to define constraints on possible fields which can
be easily validated. Templates are, however, not exposed
through “normal” operations by the service - like, for ex-
ample, the “createAgreement” operation - but are resource
properties. Resource properties can be accesses through
generic operations specified in WSRF, for example GetRe-
sourceProperty to retrieve a single resource property, Get-
MultipleResourceProperties to retrieve a number of resource
properties etc. [19, pp. 21–30].
3.3 Using an agreement
If an agreement has been reached, that means an agree-
ment resource has been created; otherwise, a fault would
have been thrown. An agreement exists in a certain state
after its creation, the specification dictates that this state
must be either “Observed” or “Complete”.
Section 3.1 described the different port types offered by
WS-Agreement, among them the AgreementState port type.
This is to be used together with the Agreement port type in
order for the agreement to have states.
An agreement, after creation, can be in three states: pend-
ing, observed, or rejected. Pending means the agreement has
neither been accepted or rejected while observed means it
has been accepted and rejected means it has been rejected.
Agreements can either run until completion or be termi-
nated. Completion means that an offer had been accepted
initially but all activities regarding the agreement have been
finished; termination means that and offer has been termi-
nated and that no obligations exist any longer. Penalties
may be imposed when an agreement is in the terminating
state.
An agreement can be
• terminated or
• queried.
Queries against an agreement can be made using the Ge-
tResourceProperty operation defined in WSRF RP; this al-
lows a caller to obtain the different parts of the agreement,
that is the name, id, context and terms.
4. FROM WS-AGREEMENT TO RESTFUL
AGREEMENT
It is not possible to directly“translate”the WS-Agreement
specification to a RESTful service. This is due to the na-
ture and differences of WS-* and RESTful services (see sec-
tion 2). One can, however, implement a service that is
similar to WS-Agreement using RESTful principles, thereby
providing a RESTful way to create and manage agreements.
This section describes the steps performed in order to im-
plement a RESTful Agreement service [27, pp. 69–79]. We
have already identified the requirements our service needs to
fulfill, therefore we begin with identifying the resources our
service needs. We then decide on which resource represen-
tations to offer, which URLs we use to access our resources,
Figure 2: The four steps in developing a RESTful
web service.
how we validate messages that are passed to us from the
caller and, finally, how we represent state.
4.1 Identifying resources
From the requirements discussed in the scope of the client-
server scenario that we want to support, we can identify
agreements and templates. Both templates and agreements
appear in two forms: single resources and lists of resources.
This leads us to the following resources:
• Template
• List of templates
• Agreement
• List of agreements
• Agreement state
4.2 Deciding on resource representations
We want to provide a straightforward translation from
the WS-Agreement specification to RESTful implementa-
tion, therefore we of course have to offer XML as a repre-
sentation of our resources. For simplicity, we offer a textual
representation of the resources as well where it makes sense.
The XML representation comes naturally from WS-Agreement,
which specifies an XML schema for templates, agreements
and states. WS-Agreement, however, does not specify a rep-
resentation of a list of templates or agreements. A list of
templates is defined like follows:
<templates>
<wsag:Template
xmlns:wsag="..."
...>
<wsag:Name></wsag:Name>
</wsag:Template>
<wsag:Template
xmlns:wsag="..."
...>
</wsag:Template>
</templates>
Likewise, a list of agreements is defined as follows:
<agreements>
<wsag:AgreementType
xmlns:wsag="..."
...>
<wsag:Name></wsag:Name>
</wsag:AgreementType>
<wsag:AgreementType
xmlns:wsag="..."
...>
</wsag:AgreementType>
</agreements>
Offer
receive
Pending Observed Completed
Terminated
Pending and
terminated
Observed
and
terminated
Rejected
Figure 1: State diagram of agreement states.
The advantage of using WS-Agreement’s XML schema
is that the RESTful service can easily communicate with
“legacy” services using WS-Agreement. Representing tem-
plates, agreements etc. as well in other forms, for example
JSON [29], can provide for a better usability, for example
using JavaScript.
4.3 Defining URLs
The URIs of a RESTful web service define its API, which
in our case is a public API. APIs should be logical, hierar-
chical and as permanent as possible [27]. We therefore try
to develop an API that is not likely to change much [28].
We assume that our web service will be deployed at http:
//localhost:8080/rest-agreement/. The host name will
change for each service provider, but the path from the host
name on should be consistent with the one we propose1
.
As proposed in [27], we define keywords for identifiers that
do not change as parts of the URI and we enclose dynamic
keywords in curly braces. The URIs for out service therefore
are:
/rest-agreement/templates With the GET method, this
URI returns a list of all templates. The POST method
allows the creation of a new template. The PUT and
DELETE methods are not supported for a list of tem-
plates.
/rest-agreement/templates/search/{query} With the
GET method, this URI returns a list of templates
that match the given query. The POST, PUT and
DELETE methods are not supported.
/rest-agreement/template/{id} With the GET method,
this URI returns a representation of a template with
a unique identifier specified in the URI; with the PUT
1
Note that it is possible to deploy the service to the root of
the host as well, but this is normally not intended as many
web services can be running on the same host.
method, it updates a template; and, with the DELETE
method, it deletes a template. 2
rest-agreement/agreements The POST method allows
the creation of a new agreement. This method on this
URI is thus equivalent to WS-Agreements “createA-
greement” call; an agreement is only created if the ser-
vice provider, that is the service, agrees. The GET
method returns a list of all agreements, the PUT and
DELETE methods are not supported.
rest-agreement/agreement/{id} The GET method in-
voked on this URI returns a specific agreement. As
agreements are binding once agreed upon, they can-
not be updated, hence there is no support for the
PUT method. Likewise, there is no support for the
POST method. Agreements can be deleted with the
DELETE method, although the service provider has
to keep into account that he may be obliged to store
agreements even after they have expired.
rest-agreement/agreement/{id}/state The GET method
invoked on this URI returns the state of the agreement
with the current id. The POST method allows the cre-
ation of a resource holding state for an agreement with
the given id, the PUT method allows the update of a
resource and the DELETE method removes a resource.
Except for the GET method, only the service provider
should be allowed to invoke the methods.
4.4 Validating templates, offers and agreements
Using an XML Schema Document (XSD), the WS-Agreement
specification defines the syntax and data format to describe
how to represent SLAs, templates etc. Thus, every SLA
instance (SLA Template, SLA offer and SLA) must be com-
pliant with the WS-Agreement XSD in its life cycle. To
2
Clients should of course not be allowed to call the PUT and
DELETE methods. We refrain from further description of
the implementation of security.
ensure the correctness of an SLA instance, the validation
includes two parts:
1. Every SLA instance is in XML format.
2. Every SLA template or SLA is an instance of the WS-
Agreement XSD.
In a RESTful implementation, the first validation can ben-
efit directly from the HTTP protocol by setting the HTTP
media type with XML (application/xml, text/xml, applica-
tion/*+xml). Based on the HTTP response code, one can
know if the document is valid XML. If not, it surely is not
valid according to the WS-Agreement schema and does not
even need to be processed further but an error code“406 not
acceptable” can be returned to the sender.
The second validation can be trivially realized by Java
types generated directly from the WS-Agreement schema.
XMLBeans, for example, compiles a schema into Java ob-
jects which can be accessed in a JavaBeans style way, using
getters and setters [30]. XMLBeans provides different possi-
bilities for creating instances, for example through deserial-
ization of a text string. This allows for a straightforward val-
idation without using custom code. Domain-specific parts
of course need to be handled in a special way, but this can
be realized, for example, through an XML schema for the
domain-specific parts, leveraging the advantages of XML-
Beans again.
4.5 Handling state
A point that is often stressed when talking about REST
is that “application state is to be kept on the client”. This
seems unusual if one comes from a WS-* world - after all,
why shouldn’t resources have a state themselves? Actually,
the formulation of keeping application state on the client is
kind of misleading. RESTful service can of course manipu-
late the state of resources through creation, retrieval, update
and deletion; every result of an operation, however, must be
a resource representation [27, p. 12].
There are at least two options for handling state in a
RESTful service [31, p. 7]:
• Encode state in URIs or
• store state in a persistent storage (for example a database)
and encode a reference to the state in the URIs.
The question how to represent state does not pose itself
for templates: templates either exist or they do not exist;
the service provider has to store templates, of course, as the
client needs to query them from the service provider. We
decided to simple use a file system-based storage as it can
be implemented easily.
Agreements come into existence if mutual agreement be-
tween provider and client is reached. Should we encode the
agreement state then in the URI and let the client specify it
during calls? In our case, this does not make sense: firstly,
the service provider needs to store the resource anyway in or-
der to access it, for legal reasons, etc. If the agreement would
only exist on the client side, a client could easily manipulate
it and force the provider to fulfill terms he did not agree too.
Agreements therefore need to be saved on the provider side
in a persistent way; we decided to use a database-backed
system for this. There will most probably be a high fluctu-
ation in the creation and deletion of agreements so it makes
sense to not use a file system-based solution for this.
The actual “agreement state” proposed by WS-Agreement
is a property of a port type that can be implemented by an
agreement; as it is not specified in the agreement document,
we could either store it as a domain-specific extension or use
a separate resource to represent it. As has been described in
section 4.3, we have chosen to use a separate resource for the
agreement state. This makes for a cleaner implementation as
we don’t have to specify, inject and extract domain-specific
parts into the agreement documents. It is as well quite close
to the original WS-Agreement specification, with the differ-
ence that the agreement state is not part of an agreement
resource but a resource in its own right.
5. CONCLUSIONS
This work has presented how a web service specification,
WS-Agreement, can be implemented in a RESTful way. For
this implementation, we have focused on one specific sce-
nario that is presented by WS-Agreement, namely a simple
client-server scenario. In this scenario, the client does not
provide any interface to the service provider, but in the lit-
eral sense of the word acts purely as a client accessing the
interface offered by the service provider. This is only one
out of a number of scenarios that can be addressed by WS-
Agreement; it is, however, one that has been addressed and
implemented quite often using WS-* tools, which is, without
doubt, due to its inherent simplicity. Apart from that, this
scenario uses all relevant parts of the WS-Agreement spec-
ification: it specifies an endpoint where a client can create
agreements, it uses template and agreement documents and
has the ability to track the state of an agreement.
Even though there are conceptually quite many differences
between the approaches taken by the WS-* web service and
REST, we have implemented a solution that supports the
basic client-server scenario. As REST is solely an architec-
tural approach and not a specification, we have only used the
WS-Agreement specification itself for defining the resources
and thereby the messages we use. In this sense, a RESTful
implementation is much more straightforward as the REST
world does not yet suffer from the many specifications that
exist in WS-*3
. REST itself of course makes use of other
specifications as well (HTTP, XML, HTML, XML Schema,
URL, URI, etc.).
The RESTful implementation presented in this work has
three great advantages in comparison to the WS-* imple-
mentation: bookmarkability, multiple representations and
well-defined links [32]. Bookmarkability refers to the fact
that every URI points to a unique entity and that every en-
tity is referenced by a URI. Multiple representations means
the fact that resources can be provided in different views:
an application might use XML to communicate with the
server while HTML can be used provide human users with
the possibility to quickly investigate resources. The well-
defined links show the connection between operations and
resources.
In conclusion, with little programming complexity - one
does not need to have deep experience in REST or use lots
of code to develop a service like the one we presented - one
can quickly implement a powerful service that mimics the
behavior of the WS-Agreement specification but provides,
for the first time, the opportunity to make use of service
3
OASIS alone provides more than a dozen specifications, see
http://docs.oasis-open.org/
level agreements in a RESTful way.
6. ACKNOWLEDGMENTS
This work has been supported by the OPTIMIS project
(http://www.optimis-project.eu/) and has been partly funded
by the European Commission’s IST activity of the 7th Frame-
work Program under contract number 257115. This work
expresses the opinions of the authors and not necessarily
those of the European Commission. The European Com-
mission is not liable for any use that may be made of the
information contained in this work.
7. REFERENCES
[1] J. Kosinski, P. Nawrocki, D. Radziszowski,
K. Zielinski, S. Zielinski, G. Przybylski, and P. Wnek.
Sla monitoring and management framework for
telecommunication services. In Networking and
Services, 2008. ICNS 2008. Fourth International
Conference on, pages 170 –175, 2008.
[2] C. Courcoubetis and V. Siris. Managing and pricing
service level agreements for differentiated services. In
Quality of Service, 1999. IWQoS ’99. 1999 Seventh
International Workshop on, 1999.
[3] P. Bhoj, S. Singhal, and S. Chutani. Sla management
in federated environments. In Integrated Network
Management, 1999. Distributed Management for the
Networked Millennium. Proceedings of the Sixth
IFIP/IEEE International Symposium on, 1999.
[4] L. Lewis and P. Ray. Service level management
definition, architecture, and research challenges. In
Global Telecommunications Conference, 1999.
GLOBECOM ’99, 1999.
[5] M. Alhamad, T. Dillon, and E. Chang. Conceptual sla
framework for cloud computing. In Digital Ecosystems
and Technologies (DEST), 2010 4th IEEE
International Conference on, pages 606 –610, 2010.
[6] M. Alhamad, T. Dillon, and E. Chang. Sla-based trust
model for cloud computing. In Network-Based
Information Systems (NBiS), 2010 13th International
Conference on, pages 321 –324, 2010.
[7] S. de Chaves, C. Westphall, and F. Lamin. Sla
perspective in security management for cloud
computing. In Networking and Services (ICNS), 2010
Sixth International Conference on, pages 212 –217,
2010.
[8] BREIN Consortium. BREIN project homepage.
http://www.eu-brein.com/.
[9] BEinGRID Consortium. BEinGRID project
homepage. http://www.beingrid.eu/.
[10] IRMOS Consortium. IRMOS project homepage.
http://www.irmosproject.eu/.
[11] SOAP. Project Website:
http://www.w3.org/TR/soap/.
[12] W3C. Project Website: http://www.w3.org.
[13] OASIS. Project Website:
http://www.oasis-open.org.
[14] WSDL. Project Website:
http://www.w3.org/TR/wsdl/.
[15] XML. Project Website: http://www.w3.org/TR/XML/.
[16] R. T. Fielding. Architectural styles and the design of
network-based software architectures. PhD thesis,
University of California, Irvine, 2000. AAI9980887.
[17] M. J. Hadley Web Application Description Language
(WADL) Sun Microsystems, Inc. Mountain View, CA,
USA, 2006
[18] Y. Lafon Team Comment on the ”Web Application
Description Language” Submission
http://www.w3.org/Submission/2009/03/Comment
[19] M. Banks Web Services Resource Framework (WSRF)
Primer v1.2. OASIS Web Services Resource
Framework (WSRF) Technical Commitee
[20] C. Pautasso, O. Zimmermann, and F. Leymann.
Restful web services vs. ”big”’ web services: making
the right architectural decision. In Proceeding of the
17th international conference on World Wide Web,
WWW ’08, pages 805–814, New York, NY, USA,
2008. ACM.
[21] Open Grid Forum. Open Grid Forum home page.
http://www.ogf.org/.
[22] Open Grid Forum. OGF documents.
http://www.ogf.org/gf/docs/?final&all.
[23] E. Christensen, F. Curbera, G. Meredith, and
S. Weerawarana. Web Service Definition Language
(WSDL). Technical report, World Wide Web
Consortium (W3C), March 2001.
[24] J. J. Moreau, R. Chinnici, A. Ryman, and
S. Weerawarana. Web services description language
(WSDL) version 2.0 part 1: Core language. Candidate
recommendation, W3C, March 2006.
[25] A. Andrieux, K. Czajkowski, A. Dan, K. Keahey,
H. Ludwig, T. Nakata, J. Pruyne, J. Rofrano,
S. Tuecke, and M. Xu. Web Services Agreement
Specification (WS-Agreement). Technical report,
Global Grid Forum, Grid Resource Allocation
Agreement Protocol (GRAAP) WG, September 2005.
[26] M. Gudgin, M. Hadley, and T. Rogers. Web Services
Addressing - Core. Technical report, W3C, May 2006.
[27] J. Sandoval. RESTful Java Web Services. Packt
Publishing, Birmingham, UK, 2009.
[28] T. B. Lee. Cool URIs don’t change. 1998.
[29] D. Crockford RFC 4627 - The application/json Media
Type for JavaScript Object Notation (JSON) IETF
RFC, http://tools.ietf.org/html/rfc4627, 2006.
[30] The Apache Software Foundation. Apache xmlbeans
project website.
http://xmlbeans.apache.org/index.html.
[31] S. Allamaraju and M. Amudsen. RESTful Web
Services Cookbook. O’Reilly, Sebastopol, 2010.
[32] S. Weerawarana. WS-* vs. REST: Mashing up the
truth from facts, myths and lies. Presented at QCon
San Francisco, 2007.

More Related Content

What's hot

Secc tutorials development and deployment of rest web services in java_v2.0
Secc tutorials development and deployment of rest web services in java_v2.0Secc tutorials development and deployment of rest web services in java_v2.0
Secc tutorials development and deployment of rest web services in java_v2.0Aravindharamanan S
 
Session 1 Shanon Richards-Exposing Data Using WCF
Session 1 Shanon Richards-Exposing Data Using WCFSession 1 Shanon Richards-Exposing Data Using WCF
Session 1 Shanon Richards-Exposing Data Using WCFCode Mastery
 
Tulsa Tech Fest2008 Service Oriented Development With Windows Communication F...
Tulsa Tech Fest2008 Service Oriented Development With Windows Communication F...Tulsa Tech Fest2008 Service Oriented Development With Windows Communication F...
Tulsa Tech Fest2008 Service Oriented Development With Windows Communication F...Jason Townsend, MBA
 
Service Oriented Development With Windows Communication Foundation Tulsa Dnug
Service Oriented Development With Windows Communication Foundation   Tulsa DnugService Oriented Development With Windows Communication Foundation   Tulsa Dnug
Service Oriented Development With Windows Communication Foundation Tulsa DnugJason Townsend, MBA
 
Software Evolution: From Legacy Systems, Service Oriented Architecture to Clo...
Software Evolution: From Legacy Systems, Service Oriented Architecture to Clo...Software Evolution: From Legacy Systems, Service Oriented Architecture to Clo...
Software Evolution: From Legacy Systems, Service Oriented Architecture to Clo...PET Computação
 
Description of soa and SOAP,WSDL & UDDI
Description of soa and SOAP,WSDL & UDDIDescription of soa and SOAP,WSDL & UDDI
Description of soa and SOAP,WSDL & UDDITUSHAR VARSHNEY
 
Security considerations
Security considerationsSecurity considerations
Security considerationsPooja Dixit
 
Semantic Web Services (Standards, Monitoring, Testing and Security)
Semantic Web Services  (Standards, Monitoring, Testing and Security)Semantic Web Services  (Standards, Monitoring, Testing and Security)
Semantic Web Services (Standards, Monitoring, Testing and Security)Reza Gh
 
Performance Evaluation of Web Services In Linux On Multicore
Performance Evaluation of Web Services In Linux On MulticorePerformance Evaluation of Web Services In Linux On Multicore
Performance Evaluation of Web Services In Linux On MulticoreCSCJournals
 
Lecture 16 - Web Services
Lecture 16 - Web ServicesLecture 16 - Web Services
Lecture 16 - Web Servicesphanleson
 
Introduction to web services and how to in php
Introduction to web services and how to in phpIntroduction to web services and how to in php
Introduction to web services and how to in phpAmit Kumar Singh
 

What's hot (20)

Secc tutorials development and deployment of rest web services in java_v2.0
Secc tutorials development and deployment of rest web services in java_v2.0Secc tutorials development and deployment of rest web services in java_v2.0
Secc tutorials development and deployment of rest web services in java_v2.0
 
Session 1 Shanon Richards-Exposing Data Using WCF
Session 1 Shanon Richards-Exposing Data Using WCFSession 1 Shanon Richards-Exposing Data Using WCF
Session 1 Shanon Richards-Exposing Data Using WCF
 
Tulsa Tech Fest2008 Service Oriented Development With Windows Communication F...
Tulsa Tech Fest2008 Service Oriented Development With Windows Communication F...Tulsa Tech Fest2008 Service Oriented Development With Windows Communication F...
Tulsa Tech Fest2008 Service Oriented Development With Windows Communication F...
 
Web service introduction 2
Web service introduction 2Web service introduction 2
Web service introduction 2
 
Service Oriented Development With Windows Communication Foundation Tulsa Dnug
Service Oriented Development With Windows Communication Foundation   Tulsa DnugService Oriented Development With Windows Communication Foundation   Tulsa Dnug
Service Oriented Development With Windows Communication Foundation Tulsa Dnug
 
Software Evolution: From Legacy Systems, Service Oriented Architecture to Clo...
Software Evolution: From Legacy Systems, Service Oriented Architecture to Clo...Software Evolution: From Legacy Systems, Service Oriented Architecture to Clo...
Software Evolution: From Legacy Systems, Service Oriented Architecture to Clo...
 
Description of soa and SOAP,WSDL & UDDI
Description of soa and SOAP,WSDL & UDDIDescription of soa and SOAP,WSDL & UDDI
Description of soa and SOAP,WSDL & UDDI
 
Soa unit iv
Soa unit ivSoa unit iv
Soa unit iv
 
WSDL 2.0 and Apache Woden
WSDL 2.0 and Apache WodenWSDL 2.0 and Apache Woden
WSDL 2.0 and Apache Woden
 
Web service architecture
Web service architectureWeb service architecture
Web service architecture
 
Security considerations
Security considerationsSecurity considerations
Security considerations
 
Lab7 paper
Lab7 paperLab7 paper
Lab7 paper
 
Semantic Web Services (Standards, Monitoring, Testing and Security)
Semantic Web Services  (Standards, Monitoring, Testing and Security)Semantic Web Services  (Standards, Monitoring, Testing and Security)
Semantic Web Services (Standards, Monitoring, Testing and Security)
 
Web Services - WSDL
Web Services - WSDLWeb Services - WSDL
Web Services - WSDL
 
Performance Evaluation of Web Services In Linux On Multicore
Performance Evaluation of Web Services In Linux On MulticorePerformance Evaluation of Web Services In Linux On Multicore
Performance Evaluation of Web Services In Linux On Multicore
 
Introduction to Web Services
Introduction to Web ServicesIntroduction to Web Services
Introduction to Web Services
 
Overview of web services
Overview of web servicesOverview of web services
Overview of web services
 
Lecture 16 - Web Services
Lecture 16 - Web ServicesLecture 16 - Web Services
Lecture 16 - Web Services
 
Introduction to web services and how to in php
Introduction to web services and how to in phpIntroduction to web services and how to in php
Introduction to web services and how to in php
 
componenets of osb12c
componenets of osb12ccomponenets of osb12c
componenets of osb12c
 

Viewers also liked

Power Point
Power PointPower Point
Power PointLê Hoà
 
Familias De Instrumentos
Familias De InstrumentosFamilias De Instrumentos
Familias De Instrumentosguest9df375
 
GRUPO #7 PLAN BOHAN
GRUPO #7 PLAN BOHAN GRUPO #7 PLAN BOHAN
GRUPO #7 PLAN BOHAN LYLYMYLEY
 
Comunicacion
ComunicacionComunicacion
Comunicacionhjat1997
 
Tugas_pbw_css-1210651163-abdul wafi
Tugas_pbw_css-1210651163-abdul wafiTugas_pbw_css-1210651163-abdul wafi
Tugas_pbw_css-1210651163-abdul wafiAbdul Wafi
 
2013-2. Broadband pada Linux Backtrack
2013-2. Broadband pada Linux Backtrack2013-2. Broadband pada Linux Backtrack
2013-2. Broadband pada Linux BacktrackSyiroy Uddin
 
PcLinuxos
PcLinuxosPcLinuxos
PcLinuxospluza
 
Diapositiva informatica
Diapositiva informaticaDiapositiva informatica
Diapositiva informaticaconjuro
 
principios_inspiracionales_cristinag
principios_inspiracionales_cristinagprincipios_inspiracionales_cristinag
principios_inspiracionales_cristinagEmma Cristina
 
Lonlockwood le ds
Lonlockwood le dsLonlockwood le ds
Lonlockwood le dsDavid715
 
Présentation1
Présentation1Présentation1
Présentation1jackthemac
 
Comparation studies1
Comparation studies1Comparation studies1
Comparation studies1dreams-a2
 

Viewers also liked (19)

Self-Awareness
Self-AwarenessSelf-Awareness
Self-Awareness
 
Slide 6
Slide 6Slide 6
Slide 6
 
Tecnologica
TecnologicaTecnologica
Tecnologica
 
Power Point
Power PointPower Point
Power Point
 
Articles de presse
Articles de presseArticles de presse
Articles de presse
 
0
00
0
 
Familias De Instrumentos
Familias De InstrumentosFamilias De Instrumentos
Familias De Instrumentos
 
GRUPO #7 PLAN BOHAN
GRUPO #7 PLAN BOHAN GRUPO #7 PLAN BOHAN
GRUPO #7 PLAN BOHAN
 
Comunicacion
ComunicacionComunicacion
Comunicacion
 
31 julio 2015 declaracion farc
31 julio 2015 declaracion farc31 julio 2015 declaracion farc
31 julio 2015 declaracion farc
 
Tugas_pbw_css-1210651163-abdul wafi
Tugas_pbw_css-1210651163-abdul wafiTugas_pbw_css-1210651163-abdul wafi
Tugas_pbw_css-1210651163-abdul wafi
 
2013-2. Broadband pada Linux Backtrack
2013-2. Broadband pada Linux Backtrack2013-2. Broadband pada Linux Backtrack
2013-2. Broadband pada Linux Backtrack
 
PcLinuxos
PcLinuxosPcLinuxos
PcLinuxos
 
10
1010
10
 
Diapositiva informatica
Diapositiva informaticaDiapositiva informatica
Diapositiva informatica
 
principios_inspiracionales_cristinag
principios_inspiracionales_cristinagprincipios_inspiracionales_cristinag
principios_inspiracionales_cristinag
 
Lonlockwood le ds
Lonlockwood le dsLonlockwood le ds
Lonlockwood le ds
 
Présentation1
Présentation1Présentation1
Présentation1
 
Comparation studies1
Comparation studies1Comparation studies1
Comparation studies1
 

Similar to A12 kubert 2

Bt9002 Grid computing 2
Bt9002 Grid computing 2Bt9002 Grid computing 2
Bt9002 Grid computing 2Techglyphs
 
WebService-Java
WebService-JavaWebService-Java
WebService-Javahalwal
 
Web services and SOA [Modified]
Web services and SOA [Modified]Web services and SOA [Modified]
Web services and SOA [Modified]Subin Sugunan
 
Web services, the ws stack, and research prospects a survey
Web services, the ws stack, and research prospects   a surveyWeb services, the ws stack, and research prospects   a survey
Web services, the ws stack, and research prospects a surveybdemchak
 
Introduction to webservices
Introduction to webservicesIntroduction to webservices
Introduction to webservicesGagandeep Singh
 
Res tful web services oracle
Res tful web services oracleRes tful web services oracle
Res tful web services oracleknoxxs
 
Dot Net Training Wcf Dot Net35
Dot Net Training Wcf Dot Net35Dot Net Training Wcf Dot Net35
Dot Net Training Wcf Dot Net35Subodh Pushpak
 
Service Oriented Architecture Luqman
Service Oriented Architecture LuqmanService Oriented Architecture Luqman
Service Oriented Architecture LuqmanLuqman Shareef
 
webservices overview
webservices overviewwebservices overview
webservices overviewelliando dias
 
Windows Communication Foundation
Windows Communication FoundationWindows Communication Foundation
Windows Communication FoundationMahmoud Tolba
 
Web services
Web servicesWeb services
Web servicesaspnet123
 
Advancio, Inc. Academy: Web Sevices, WCF & SOAPUI
Advancio, Inc. Academy: Web Sevices, WCF & SOAPUIAdvancio, Inc. Academy: Web Sevices, WCF & SOAPUI
Advancio, Inc. Academy: Web Sevices, WCF & SOAPUIAdvancio
 
WCF (Windows Communication Foundation)
WCF (Windows Communication Foundation)WCF (Windows Communication Foundation)
WCF (Windows Communication Foundation)ipower softwares
 

Similar to A12 kubert 2 (20)

Java web services
Java web servicesJava web services
Java web services
 
Bt9002 Grid computing 2
Bt9002 Grid computing 2Bt9002 Grid computing 2
Bt9002 Grid computing 2
 
15376199.ppt
15376199.ppt15376199.ppt
15376199.ppt
 
WebService-Java
WebService-JavaWebService-Java
WebService-Java
 
Xml.ppt
Xml.pptXml.ppt
Xml.ppt
 
Service view
Service viewService view
Service view
 
Web services and SOA [Modified]
Web services and SOA [Modified]Web services and SOA [Modified]
Web services and SOA [Modified]
 
Web services, the ws stack, and research prospects a survey
Web services, the ws stack, and research prospects   a surveyWeb services, the ws stack, and research prospects   a survey
Web services, the ws stack, and research prospects a survey
 
Introduction to webservices
Introduction to webservicesIntroduction to webservices
Introduction to webservices
 
Res tful web services oracle
Res tful web services oracleRes tful web services oracle
Res tful web services oracle
 
Dot Net Training Wcf Dot Net35
Dot Net Training Wcf Dot Net35Dot Net Training Wcf Dot Net35
Dot Net Training Wcf Dot Net35
 
Service Oriented Architecture Luqman
Service Oriented Architecture LuqmanService Oriented Architecture Luqman
Service Oriented Architecture Luqman
 
Unit iii soa
Unit iii soaUnit iii soa
Unit iii soa
 
SOA & WCF
SOA & WCFSOA & WCF
SOA & WCF
 
webservices overview
webservices overviewwebservices overview
webservices overview
 
Windows Communication Foundation
Windows Communication FoundationWindows Communication Foundation
Windows Communication Foundation
 
Web services
Web servicesWeb services
Web services
 
Wcf development
Wcf developmentWcf development
Wcf development
 
Advancio, Inc. Academy: Web Sevices, WCF & SOAPUI
Advancio, Inc. Academy: Web Sevices, WCF & SOAPUIAdvancio, Inc. Academy: Web Sevices, WCF & SOAPUI
Advancio, Inc. Academy: Web Sevices, WCF & SOAPUI
 
WCF (Windows Communication Foundation)
WCF (Windows Communication Foundation)WCF (Windows Communication Foundation)
WCF (Windows Communication Foundation)
 

More from ekofficiel

Comment créer un moteur de recherche
Comment créer un moteur de rechercheComment créer un moteur de recherche
Comment créer un moteur de rechercheekofficiel
 
Web service with url redirect discussion forums
Web service with url redirect   discussion forumsWeb service with url redirect   discussion forums
Web service with url redirect discussion forumsekofficiel
 
Gestion de projet
Gestion de projetGestion de projet
Gestion de projetekofficiel
 
Gestion de projet
Gestion de projetGestion de projet
Gestion de projetekofficiel
 
Codebook solution
Codebook solutionCodebook solution
Codebook solutionekofficiel
 
Goo tracking final
Goo tracking finalGoo tracking final
Goo tracking finalekofficiel
 
Letrre de prétention andré
Letrre de prétention andréLetrre de prétention andré
Letrre de prétention andréekofficiel
 

More from ekofficiel (12)

2 analyse 2
2  analyse 22  analyse 2
2 analyse 2
 
Comment créer un moteur de recherche
Comment créer un moteur de rechercheComment créer un moteur de recherche
Comment créer un moteur de recherche
 
Web service with url redirect discussion forums
Web service with url redirect   discussion forumsWeb service with url redirect   discussion forums
Web service with url redirect discussion forums
 
Gestion de projet
Gestion de projetGestion de projet
Gestion de projet
 
Gestion de projet
Gestion de projetGestion de projet
Gestion de projet
 
Transpcrypto
TranspcryptoTranspcrypto
Transpcrypto
 
Codebook solution
Codebook solutionCodebook solution
Codebook solution
 
Musee
MuseeMusee
Musee
 
Iss03
Iss03Iss03
Iss03
 
Kryptologie
KryptologieKryptologie
Kryptologie
 
Goo tracking final
Goo tracking finalGoo tracking final
Goo tracking final
 
Letrre de prétention andré
Letrre de prétention andréLetrre de prétention andré
Letrre de prétention andré
 

Recently uploaded

定制(SCU毕业证书)南十字星大学毕业证成绩单原版一比一
定制(SCU毕业证书)南十字星大学毕业证成绩单原版一比一定制(SCU毕业证书)南十字星大学毕业证成绩单原版一比一
定制(SCU毕业证书)南十字星大学毕业证成绩单原版一比一z xss
 
do's and don'ts in Telephone Interview of Job
do's and don'ts in Telephone Interview of Jobdo's and don'ts in Telephone Interview of Job
do's and don'ts in Telephone Interview of JobRemote DBA Services
 
定制(UQ毕业证书)澳洲昆士兰大学毕业证成绩单原版一比一
定制(UQ毕业证书)澳洲昆士兰大学毕业证成绩单原版一比一定制(UQ毕业证书)澳洲昆士兰大学毕业证成绩单原版一比一
定制(UQ毕业证书)澳洲昆士兰大学毕业证成绩单原版一比一lvtagr7
 
Gurgaon Call Girls: Free Delivery 24x7 at Your Doorstep G.G.N = 8377087607
Gurgaon Call Girls: Free Delivery 24x7 at Your Doorstep G.G.N = 8377087607Gurgaon Call Girls: Free Delivery 24x7 at Your Doorstep G.G.N = 8377087607
Gurgaon Call Girls: Free Delivery 24x7 at Your Doorstep G.G.N = 8377087607dollysharma2066
 
定制(ECU毕业证书)埃迪斯科文大学毕业证毕业证成绩单原版一比一
定制(ECU毕业证书)埃迪斯科文大学毕业证毕业证成绩单原版一比一定制(ECU毕业证书)埃迪斯科文大学毕业证毕业证成绩单原版一比一
定制(ECU毕业证书)埃迪斯科文大学毕业证毕业证成绩单原版一比一fjjwgk
 
Preventing and ending sexual harassment in the workplace.pptx
Preventing and ending sexual harassment in the workplace.pptxPreventing and ending sexual harassment in the workplace.pptx
Preventing and ending sexual harassment in the workplace.pptxGry Tina Tinde
 
Call Girl in Low Price Delhi Punjabi Bagh 9711199012
Call Girl in Low Price Delhi Punjabi Bagh  9711199012Call Girl in Low Price Delhi Punjabi Bagh  9711199012
Call Girl in Low Price Delhi Punjabi Bagh 9711199012sapnasaifi408
 
办理(NUS毕业证书)新加坡国立大学毕业证成绩单原版一比一
办理(NUS毕业证书)新加坡国立大学毕业证成绩单原版一比一办理(NUS毕业证书)新加坡国立大学毕业证成绩单原版一比一
办理(NUS毕业证书)新加坡国立大学毕业证成绩单原版一比一F La
 
办澳洲詹姆斯库克大学毕业证成绩单pdf电子版制作修改
办澳洲詹姆斯库克大学毕业证成绩单pdf电子版制作修改办澳洲詹姆斯库克大学毕业证成绩单pdf电子版制作修改
办澳洲詹姆斯库克大学毕业证成绩单pdf电子版制作修改yuu sss
 
办理哈珀亚当斯大学学院毕业证书文凭学位证书
办理哈珀亚当斯大学学院毕业证书文凭学位证书办理哈珀亚当斯大学学院毕业证书文凭学位证书
办理哈珀亚当斯大学学院毕业证书文凭学位证书saphesg8
 
Storytelling, Ethics and Workflow in Documentary Photography
Storytelling, Ethics and Workflow in Documentary PhotographyStorytelling, Ethics and Workflow in Documentary Photography
Storytelling, Ethics and Workflow in Documentary PhotographyOrtega Alikwe
 
办理(Hull毕业证书)英国赫尔大学毕业证成绩单原版一比一
办理(Hull毕业证书)英国赫尔大学毕业证成绩单原版一比一办理(Hull毕业证书)英国赫尔大学毕业证成绩单原版一比一
办理(Hull毕业证书)英国赫尔大学毕业证成绩单原版一比一F La
 
原版定制copy澳洲查尔斯达尔文大学毕业证CDU毕业证成绩单留信学历认证保障质量
原版定制copy澳洲查尔斯达尔文大学毕业证CDU毕业证成绩单留信学历认证保障质量原版定制copy澳洲查尔斯达尔文大学毕业证CDU毕业证成绩单留信学历认证保障质量
原版定制copy澳洲查尔斯达尔文大学毕业证CDU毕业证成绩单留信学历认证保障质量sehgh15heh
 
VIP Call Girls Service Saharanpur Aishwarya 8250192130 Independent Escort Ser...
VIP Call Girls Service Saharanpur Aishwarya 8250192130 Independent Escort Ser...VIP Call Girls Service Saharanpur Aishwarya 8250192130 Independent Escort Ser...
VIP Call Girls Service Saharanpur Aishwarya 8250192130 Independent Escort Ser...Suhani Kapoor
 
Gray Gold Clean CV Resume2024tod (1).pdf
Gray Gold Clean CV Resume2024tod (1).pdfGray Gold Clean CV Resume2024tod (1).pdf
Gray Gold Clean CV Resume2024tod (1).pdfpadillaangelina0023
 
Black and White Minimalist Co Letter.pdf
Black and White Minimalist Co Letter.pdfBlack and White Minimalist Co Letter.pdf
Black and White Minimalist Co Letter.pdfpadillaangelina0023
 
Call Girls In Bhikaji Cama Place 24/7✡️9711147426✡️ Escorts Service
Call Girls In Bhikaji Cama Place 24/7✡️9711147426✡️ Escorts ServiceCall Girls In Bhikaji Cama Place 24/7✡️9711147426✡️ Escorts Service
Call Girls In Bhikaji Cama Place 24/7✡️9711147426✡️ Escorts Servicejennyeacort
 
Outsmarting the Attackers A Deep Dive into Threat Intelligence.docx
Outsmarting the Attackers A Deep Dive into Threat Intelligence.docxOutsmarting the Attackers A Deep Dive into Threat Intelligence.docx
Outsmarting the Attackers A Deep Dive into Threat Intelligence.docxmanas23pgdm157
 
VIP High Profile Call Girls Jamshedpur Aarushi 8250192130 Independent Escort ...
VIP High Profile Call Girls Jamshedpur Aarushi 8250192130 Independent Escort ...VIP High Profile Call Girls Jamshedpur Aarushi 8250192130 Independent Escort ...
VIP High Profile Call Girls Jamshedpur Aarushi 8250192130 Independent Escort ...Suhani Kapoor
 
办理学位证(UoM证书)北安普顿大学毕业证成绩单原版一比一
办理学位证(UoM证书)北安普顿大学毕业证成绩单原版一比一办理学位证(UoM证书)北安普顿大学毕业证成绩单原版一比一
办理学位证(UoM证书)北安普顿大学毕业证成绩单原版一比一A SSS
 

Recently uploaded (20)

定制(SCU毕业证书)南十字星大学毕业证成绩单原版一比一
定制(SCU毕业证书)南十字星大学毕业证成绩单原版一比一定制(SCU毕业证书)南十字星大学毕业证成绩单原版一比一
定制(SCU毕业证书)南十字星大学毕业证成绩单原版一比一
 
do's and don'ts in Telephone Interview of Job
do's and don'ts in Telephone Interview of Jobdo's and don'ts in Telephone Interview of Job
do's and don'ts in Telephone Interview of Job
 
定制(UQ毕业证书)澳洲昆士兰大学毕业证成绩单原版一比一
定制(UQ毕业证书)澳洲昆士兰大学毕业证成绩单原版一比一定制(UQ毕业证书)澳洲昆士兰大学毕业证成绩单原版一比一
定制(UQ毕业证书)澳洲昆士兰大学毕业证成绩单原版一比一
 
Gurgaon Call Girls: Free Delivery 24x7 at Your Doorstep G.G.N = 8377087607
Gurgaon Call Girls: Free Delivery 24x7 at Your Doorstep G.G.N = 8377087607Gurgaon Call Girls: Free Delivery 24x7 at Your Doorstep G.G.N = 8377087607
Gurgaon Call Girls: Free Delivery 24x7 at Your Doorstep G.G.N = 8377087607
 
定制(ECU毕业证书)埃迪斯科文大学毕业证毕业证成绩单原版一比一
定制(ECU毕业证书)埃迪斯科文大学毕业证毕业证成绩单原版一比一定制(ECU毕业证书)埃迪斯科文大学毕业证毕业证成绩单原版一比一
定制(ECU毕业证书)埃迪斯科文大学毕业证毕业证成绩单原版一比一
 
Preventing and ending sexual harassment in the workplace.pptx
Preventing and ending sexual harassment in the workplace.pptxPreventing and ending sexual harassment in the workplace.pptx
Preventing and ending sexual harassment in the workplace.pptx
 
Call Girl in Low Price Delhi Punjabi Bagh 9711199012
Call Girl in Low Price Delhi Punjabi Bagh  9711199012Call Girl in Low Price Delhi Punjabi Bagh  9711199012
Call Girl in Low Price Delhi Punjabi Bagh 9711199012
 
办理(NUS毕业证书)新加坡国立大学毕业证成绩单原版一比一
办理(NUS毕业证书)新加坡国立大学毕业证成绩单原版一比一办理(NUS毕业证书)新加坡国立大学毕业证成绩单原版一比一
办理(NUS毕业证书)新加坡国立大学毕业证成绩单原版一比一
 
办澳洲詹姆斯库克大学毕业证成绩单pdf电子版制作修改
办澳洲詹姆斯库克大学毕业证成绩单pdf电子版制作修改办澳洲詹姆斯库克大学毕业证成绩单pdf电子版制作修改
办澳洲詹姆斯库克大学毕业证成绩单pdf电子版制作修改
 
办理哈珀亚当斯大学学院毕业证书文凭学位证书
办理哈珀亚当斯大学学院毕业证书文凭学位证书办理哈珀亚当斯大学学院毕业证书文凭学位证书
办理哈珀亚当斯大学学院毕业证书文凭学位证书
 
Storytelling, Ethics and Workflow in Documentary Photography
Storytelling, Ethics and Workflow in Documentary PhotographyStorytelling, Ethics and Workflow in Documentary Photography
Storytelling, Ethics and Workflow in Documentary Photography
 
办理(Hull毕业证书)英国赫尔大学毕业证成绩单原版一比一
办理(Hull毕业证书)英国赫尔大学毕业证成绩单原版一比一办理(Hull毕业证书)英国赫尔大学毕业证成绩单原版一比一
办理(Hull毕业证书)英国赫尔大学毕业证成绩单原版一比一
 
原版定制copy澳洲查尔斯达尔文大学毕业证CDU毕业证成绩单留信学历认证保障质量
原版定制copy澳洲查尔斯达尔文大学毕业证CDU毕业证成绩单留信学历认证保障质量原版定制copy澳洲查尔斯达尔文大学毕业证CDU毕业证成绩单留信学历认证保障质量
原版定制copy澳洲查尔斯达尔文大学毕业证CDU毕业证成绩单留信学历认证保障质量
 
VIP Call Girls Service Saharanpur Aishwarya 8250192130 Independent Escort Ser...
VIP Call Girls Service Saharanpur Aishwarya 8250192130 Independent Escort Ser...VIP Call Girls Service Saharanpur Aishwarya 8250192130 Independent Escort Ser...
VIP Call Girls Service Saharanpur Aishwarya 8250192130 Independent Escort Ser...
 
Gray Gold Clean CV Resume2024tod (1).pdf
Gray Gold Clean CV Resume2024tod (1).pdfGray Gold Clean CV Resume2024tod (1).pdf
Gray Gold Clean CV Resume2024tod (1).pdf
 
Black and White Minimalist Co Letter.pdf
Black and White Minimalist Co Letter.pdfBlack and White Minimalist Co Letter.pdf
Black and White Minimalist Co Letter.pdf
 
Call Girls In Bhikaji Cama Place 24/7✡️9711147426✡️ Escorts Service
Call Girls In Bhikaji Cama Place 24/7✡️9711147426✡️ Escorts ServiceCall Girls In Bhikaji Cama Place 24/7✡️9711147426✡️ Escorts Service
Call Girls In Bhikaji Cama Place 24/7✡️9711147426✡️ Escorts Service
 
Outsmarting the Attackers A Deep Dive into Threat Intelligence.docx
Outsmarting the Attackers A Deep Dive into Threat Intelligence.docxOutsmarting the Attackers A Deep Dive into Threat Intelligence.docx
Outsmarting the Attackers A Deep Dive into Threat Intelligence.docx
 
VIP High Profile Call Girls Jamshedpur Aarushi 8250192130 Independent Escort ...
VIP High Profile Call Girls Jamshedpur Aarushi 8250192130 Independent Escort ...VIP High Profile Call Girls Jamshedpur Aarushi 8250192130 Independent Escort ...
VIP High Profile Call Girls Jamshedpur Aarushi 8250192130 Independent Escort ...
 
办理学位证(UoM证书)北安普顿大学毕业证成绩单原版一比一
办理学位证(UoM证书)北安普顿大学毕业证成绩单原版一比一办理学位证(UoM证书)北安普顿大学毕业证成绩单原版一比一
办理学位证(UoM证书)北安普顿大学毕业证成绩单原版一比一
 

A12 kubert 2

  • 1. A RESTful implementation of the WS-Agreement specification Roland Kübert, Gregory Katsaros, Tinghe Wang Höchstleistungsrechenzentrum Stuttgart Nobelstraße 19 70569 Stuttgart {kuebert,katsaros,twang}@hlrs.de ABSTRACT Representational State Transfer (REST) is an architectural style for distributed systems. RESTful web services have been gaining popularity in the last years. The Java API for RESTful Web Services (JAX-RS) has been specified as Java Specification Request 311 and is therefore an official part of Java; with the Jersey framework, a robust reference implementation of the specification exists. We examine in how far RESTful web services can fulfill tasks that have been defined as WS-* specifications. In particular, we in- vestigate how a RESTful design and implementation of the WS-Agreement specification can be realized, presenting a light-weight approach to the creation and management of service level agreements. Categories and Subject Descriptors D.2.0 [Software Engineering]: Standards; C.5.m [Computer System Implementation]: Miscellaneous; C.2.4 [Computer- communication networks]: Distributed Systems General Terms Design 1. INTRODUCTION The terms service level and service level agreement (SLA) have been initially defined and widely used in the telecom- munication sector. The need for providing to the customer a certain level of quality of service (QoS) along with adop- tion of more flexible business policies drove the research and development to invest a lot of effort to this very topic [1][2][3][4]. From the emergence of service oriented architec- ture (SOA) until cloud computing lately, SLAs have been an integral part of contemporary research in those fields as well [5][6][7]. SLAs can be seen as bipartite electronic contracts, which define service levels between a service provider and a customer.Service levels define acceptable QoS thresholds Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. WS-REST 2011, Mar 28-28 2011, Hyderabad, India Copyright 2011 ACM 978-1-4503-0623-2/11/03 ...$10.00. agreed upon by both parties. As a proposed recommenda- tion by the Open Grid Forum (OGF), the WS-Agreement Specification defines a language to specify an SLA and de- fines a protocol to create SLAs based on so-called templates, which are blueprints for the final agreements. It is funda- mental to automate the contracting process as well as the whole agreement life cycle, including creation, provision- ing, monitoring and assessment of agreed terms. Currently there are implementations of the WS-Agreement specifica- tion with the traditional SOA approach, which have been mostly applied and tried in European research projects [8] [9] [10]. In contrast to the classical SOA approach realized with SOAP web services, RESTful web services are an architec- tural practice which utilizes web standards such as HTTP, URI, XML. In the last years, the RESTful style is gaining popularity in web development. In this paper we present the implementation of the WS-Agreement specification with a RESTful approach, which can be divided into four steps: identifying resources, defining URLs, deciding on resource representation and assigning HTTP methods. The remainder of this work is organized as follows: in sec- tion two we are presenting the two major architectural styles for developing web services, in section three we are analyz- ing the Web Services Agreement Specification (WS-Ag), in section four we present detail of the implementation of the aforementioned specification using the REST architectural style and in the last section we conclude and summarize our findings. 2. WEB SERVICES AND REPRESENTATIONAL STATE TRANSFER For years the best practice for realizing web services was through SOAP [11], a standard recommended by W3C [12], OASIS [13] and supported by enterprises such as IBM and Microsoft. SOAP interfaces are usually defined by a Web Service Description Language (WSDL) [14] document which describes methods and expected inputs and outputs, while Extensible Markup Language (XML) [15] is used to describe the schemas for those inputs and outputs. This very set of languages and standards, which can be often termed as WS-*, is being used extensively for the implementation of complex web service frameworks by researchers as well as by enterprises. In 2000 Roy Fielding in his doctoral dissertation [16] defined Representational State Transfer (a.k.a.REST), an ”architectural style for distributed hypermedia systems”. From that point on REST became a strong competitor to WS-*.
  • 2. The fundamental principle of the REST concept is that everything is a resource identified by a Uniform Resource Identifier (URI). It consumes HTTP as an application level protocol utilizing four of HTTP’s request methods - GET, POST, PUT and DELETE - for the realization of the CRUD operations (create, read, update, delete). Interactions with resources are stateless in the sense that each request to the server must contain all the necessary information in order for the latter to understand or generate the state of the resource. The equivalent to WSDL for RESTful services is WADL, a machine-readable description of HTTP-based applications [17]; WADL, in contrast to WSDL, which is W3C a recommendation, was a member submission by Sun to the W3C in 2009 but “W3C has no plans to take up work based on this Submission” [18]. SOAP utilizes HTTP as a transport protocol by send- ing messages through the POST request method. SOAP web services are, similar to RESTful web services, normally stateless as well, but can be rendered stateful as proposed in the WS-Resource Framework (WSRF) set of specifications; thus, the server can maintain state across multiple trans- actions [19]. Finally, the security for the WS-* family of specification is defined by the WS-Security framework, while for the RESTful services, secure communication is realized through HTTPS (HTTP+SSL/TLS). As also presented in the analytical comparison in [20], both techniques are rather similar, although having their own strong and weak points. Overall, the lack in alternative options that REST provides, results in a simplified structure that offers better flexibil- ity and control. When it comes to enterprise applications though, the reliability and better defined security features of WS-* make SOAP a probably more appropriate solution. 3. THE WEB SERVICES AGREEMENT SPEC- IFICATION The Web Service Agreement Specification (WS-Agreement) is a proposed recommendation which has been worked out by the Grid Resource Allocation Agreement Protocol (GRAAP) working group of the Open Grid Forum (OGF). The OGF is a community “committed to driving the rapid evolution and adoption of applied distributed computing” [21]. It has pub- lished more than 150 documents, for example the well-known Open Grid Service Architecture (OGSA) specification, the Open Cloud Computing Interface (OCCI) specification, grid extensions to the FTP protocol (GridFTP) and many more [22]. WS-Agreement describes an XML schema for specifying service level agreements, for example between a service provider and a consumer, as well as a simple protocol that describes how parties can communicate in order to build an agree- ment. WS-Agreement builds on other web service specifica- tions, namely the following: • Web Services Addressing (WS-Addressing) 1.0 Core • Web Services ResourceProperties (WSRF RP) 1.2 • Web Services Resource Lifetime 1.2 (WSRF RLF) • Web Services Base Faults 1.2 (WSRF BF) Elements of these specifications are included into WS- Agreement, for example the Endpoint Reference from WS- Addressing which describes how resources can be addressed or fault types from BaseFaults which define error messages that can be thrown by operations. Other parts of these specifications are used to extend the interface that WS- Agreement specifies by itself. This is done by including port types described by WSRF RLF and WSRF RP, which can be thought of as inheriting from these specifications as super classes. WSRF RLF provides operation for specifying the life time of a resource while WSRF RP describes standardized opera- tions to get, set or query so-called“resource properties”; they can be thought of as getters and setters in Java, which are instance methods that retrieve or store values from object instances. 3.1 WS-Agreement port types Port types can be thought of as specifications of an inter- face of a service, more precisely “A port type is a named set of abstract operations and the abstract messages involved” [23]. In WSDL 2.0, port types have consequently been re- named interfaces [24]. WS-Agreement itself specifies the following port types: • AgreementFactory • PendingAgreementFactory • Agreement • AgreementAcceptance • AgreementState These port types offer the possibility to implement differ- ent scenarios, for example asymmetric, symmetric, direct or deferred, and combinations of these. We focus on the im- plementation of a case that is often used, the “simple client- server” scenario [25]: The AgreementFactory can be invoked by initia- tors to create a responder-side Agreement and to perform monitoring and management using only WS client mechanisms. Both port types would be implemented by the responder. The only relevant port type in this scenario are the Agree- mentFactory port type, which offers an operation to cre- ate agreements, and the Agreement port type itself. It is, however, desirable, to use the AgreementState port type as well. The AgreementState port type’s purpose is “to define a resource document type for monitoring the state of the agreement”; it should be “composed into a domain-specific Agreement port type”, that means it is not foreseen to be used on its own. 3.2 Creating an agreement The AgreementFactory is invoked through one operation, createAgreement. The input is an AgreementOffer and, pos- sibly extension elements. We focus on the generic part and ignore the extensions; as we deal with the client-server sce- nario, we can safely ignore the input initiatorAgreementEPR, which is “a contact point (. . . ) where the invoked party can send messages pertaining to this Agreement”, as the client does not implement any server functionality. The response of a call to createAgreement is an Endpoint Reference, that is the address of a resource that was created,
  • 3. indicating the acceptance of an agreement [26]. If the offer was rejected, a fault is to be thrown [25, p. 39]. But how does the invoker know what to send to the re- sponder? This problem is solved by the AgreementFactory, respectively the invoker, providing templates. Templates describe how an offer can be created, without giving a guar- antee on its acceptance; they offer a mechanism to allow the responder to define constraints on possible fields which can be easily validated. Templates are, however, not exposed through “normal” operations by the service - like, for ex- ample, the “createAgreement” operation - but are resource properties. Resource properties can be accesses through generic operations specified in WSRF, for example GetRe- sourceProperty to retrieve a single resource property, Get- MultipleResourceProperties to retrieve a number of resource properties etc. [19, pp. 21–30]. 3.3 Using an agreement If an agreement has been reached, that means an agree- ment resource has been created; otherwise, a fault would have been thrown. An agreement exists in a certain state after its creation, the specification dictates that this state must be either “Observed” or “Complete”. Section 3.1 described the different port types offered by WS-Agreement, among them the AgreementState port type. This is to be used together with the Agreement port type in order for the agreement to have states. An agreement, after creation, can be in three states: pend- ing, observed, or rejected. Pending means the agreement has neither been accepted or rejected while observed means it has been accepted and rejected means it has been rejected. Agreements can either run until completion or be termi- nated. Completion means that an offer had been accepted initially but all activities regarding the agreement have been finished; termination means that and offer has been termi- nated and that no obligations exist any longer. Penalties may be imposed when an agreement is in the terminating state. An agreement can be • terminated or • queried. Queries against an agreement can be made using the Ge- tResourceProperty operation defined in WSRF RP; this al- lows a caller to obtain the different parts of the agreement, that is the name, id, context and terms. 4. FROM WS-AGREEMENT TO RESTFUL AGREEMENT It is not possible to directly“translate”the WS-Agreement specification to a RESTful service. This is due to the na- ture and differences of WS-* and RESTful services (see sec- tion 2). One can, however, implement a service that is similar to WS-Agreement using RESTful principles, thereby providing a RESTful way to create and manage agreements. This section describes the steps performed in order to im- plement a RESTful Agreement service [27, pp. 69–79]. We have already identified the requirements our service needs to fulfill, therefore we begin with identifying the resources our service needs. We then decide on which resource represen- tations to offer, which URLs we use to access our resources, Figure 2: The four steps in developing a RESTful web service. how we validate messages that are passed to us from the caller and, finally, how we represent state. 4.1 Identifying resources From the requirements discussed in the scope of the client- server scenario that we want to support, we can identify agreements and templates. Both templates and agreements appear in two forms: single resources and lists of resources. This leads us to the following resources: • Template • List of templates • Agreement • List of agreements • Agreement state 4.2 Deciding on resource representations We want to provide a straightforward translation from the WS-Agreement specification to RESTful implementa- tion, therefore we of course have to offer XML as a repre- sentation of our resources. For simplicity, we offer a textual representation of the resources as well where it makes sense. The XML representation comes naturally from WS-Agreement, which specifies an XML schema for templates, agreements and states. WS-Agreement, however, does not specify a rep- resentation of a list of templates or agreements. A list of templates is defined like follows: <templates> <wsag:Template xmlns:wsag="..." ...> <wsag:Name></wsag:Name> </wsag:Template> <wsag:Template xmlns:wsag="..." ...> </wsag:Template> </templates> Likewise, a list of agreements is defined as follows: <agreements> <wsag:AgreementType xmlns:wsag="..." ...> <wsag:Name></wsag:Name> </wsag:AgreementType> <wsag:AgreementType xmlns:wsag="..." ...> </wsag:AgreementType> </agreements>
  • 4. Offer receive Pending Observed Completed Terminated Pending and terminated Observed and terminated Rejected Figure 1: State diagram of agreement states. The advantage of using WS-Agreement’s XML schema is that the RESTful service can easily communicate with “legacy” services using WS-Agreement. Representing tem- plates, agreements etc. as well in other forms, for example JSON [29], can provide for a better usability, for example using JavaScript. 4.3 Defining URLs The URIs of a RESTful web service define its API, which in our case is a public API. APIs should be logical, hierar- chical and as permanent as possible [27]. We therefore try to develop an API that is not likely to change much [28]. We assume that our web service will be deployed at http: //localhost:8080/rest-agreement/. The host name will change for each service provider, but the path from the host name on should be consistent with the one we propose1 . As proposed in [27], we define keywords for identifiers that do not change as parts of the URI and we enclose dynamic keywords in curly braces. The URIs for out service therefore are: /rest-agreement/templates With the GET method, this URI returns a list of all templates. The POST method allows the creation of a new template. The PUT and DELETE methods are not supported for a list of tem- plates. /rest-agreement/templates/search/{query} With the GET method, this URI returns a list of templates that match the given query. The POST, PUT and DELETE methods are not supported. /rest-agreement/template/{id} With the GET method, this URI returns a representation of a template with a unique identifier specified in the URI; with the PUT 1 Note that it is possible to deploy the service to the root of the host as well, but this is normally not intended as many web services can be running on the same host. method, it updates a template; and, with the DELETE method, it deletes a template. 2 rest-agreement/agreements The POST method allows the creation of a new agreement. This method on this URI is thus equivalent to WS-Agreements “createA- greement” call; an agreement is only created if the ser- vice provider, that is the service, agrees. The GET method returns a list of all agreements, the PUT and DELETE methods are not supported. rest-agreement/agreement/{id} The GET method in- voked on this URI returns a specific agreement. As agreements are binding once agreed upon, they can- not be updated, hence there is no support for the PUT method. Likewise, there is no support for the POST method. Agreements can be deleted with the DELETE method, although the service provider has to keep into account that he may be obliged to store agreements even after they have expired. rest-agreement/agreement/{id}/state The GET method invoked on this URI returns the state of the agreement with the current id. The POST method allows the cre- ation of a resource holding state for an agreement with the given id, the PUT method allows the update of a resource and the DELETE method removes a resource. Except for the GET method, only the service provider should be allowed to invoke the methods. 4.4 Validating templates, offers and agreements Using an XML Schema Document (XSD), the WS-Agreement specification defines the syntax and data format to describe how to represent SLAs, templates etc. Thus, every SLA instance (SLA Template, SLA offer and SLA) must be com- pliant with the WS-Agreement XSD in its life cycle. To 2 Clients should of course not be allowed to call the PUT and DELETE methods. We refrain from further description of the implementation of security.
  • 5. ensure the correctness of an SLA instance, the validation includes two parts: 1. Every SLA instance is in XML format. 2. Every SLA template or SLA is an instance of the WS- Agreement XSD. In a RESTful implementation, the first validation can ben- efit directly from the HTTP protocol by setting the HTTP media type with XML (application/xml, text/xml, applica- tion/*+xml). Based on the HTTP response code, one can know if the document is valid XML. If not, it surely is not valid according to the WS-Agreement schema and does not even need to be processed further but an error code“406 not acceptable” can be returned to the sender. The second validation can be trivially realized by Java types generated directly from the WS-Agreement schema. XMLBeans, for example, compiles a schema into Java ob- jects which can be accessed in a JavaBeans style way, using getters and setters [30]. XMLBeans provides different possi- bilities for creating instances, for example through deserial- ization of a text string. This allows for a straightforward val- idation without using custom code. Domain-specific parts of course need to be handled in a special way, but this can be realized, for example, through an XML schema for the domain-specific parts, leveraging the advantages of XML- Beans again. 4.5 Handling state A point that is often stressed when talking about REST is that “application state is to be kept on the client”. This seems unusual if one comes from a WS-* world - after all, why shouldn’t resources have a state themselves? Actually, the formulation of keeping application state on the client is kind of misleading. RESTful service can of course manipu- late the state of resources through creation, retrieval, update and deletion; every result of an operation, however, must be a resource representation [27, p. 12]. There are at least two options for handling state in a RESTful service [31, p. 7]: • Encode state in URIs or • store state in a persistent storage (for example a database) and encode a reference to the state in the URIs. The question how to represent state does not pose itself for templates: templates either exist or they do not exist; the service provider has to store templates, of course, as the client needs to query them from the service provider. We decided to simple use a file system-based storage as it can be implemented easily. Agreements come into existence if mutual agreement be- tween provider and client is reached. Should we encode the agreement state then in the URI and let the client specify it during calls? In our case, this does not make sense: firstly, the service provider needs to store the resource anyway in or- der to access it, for legal reasons, etc. If the agreement would only exist on the client side, a client could easily manipulate it and force the provider to fulfill terms he did not agree too. Agreements therefore need to be saved on the provider side in a persistent way; we decided to use a database-backed system for this. There will most probably be a high fluctu- ation in the creation and deletion of agreements so it makes sense to not use a file system-based solution for this. The actual “agreement state” proposed by WS-Agreement is a property of a port type that can be implemented by an agreement; as it is not specified in the agreement document, we could either store it as a domain-specific extension or use a separate resource to represent it. As has been described in section 4.3, we have chosen to use a separate resource for the agreement state. This makes for a cleaner implementation as we don’t have to specify, inject and extract domain-specific parts into the agreement documents. It is as well quite close to the original WS-Agreement specification, with the differ- ence that the agreement state is not part of an agreement resource but a resource in its own right. 5. CONCLUSIONS This work has presented how a web service specification, WS-Agreement, can be implemented in a RESTful way. For this implementation, we have focused on one specific sce- nario that is presented by WS-Agreement, namely a simple client-server scenario. In this scenario, the client does not provide any interface to the service provider, but in the lit- eral sense of the word acts purely as a client accessing the interface offered by the service provider. This is only one out of a number of scenarios that can be addressed by WS- Agreement; it is, however, one that has been addressed and implemented quite often using WS-* tools, which is, without doubt, due to its inherent simplicity. Apart from that, this scenario uses all relevant parts of the WS-Agreement spec- ification: it specifies an endpoint where a client can create agreements, it uses template and agreement documents and has the ability to track the state of an agreement. Even though there are conceptually quite many differences between the approaches taken by the WS-* web service and REST, we have implemented a solution that supports the basic client-server scenario. As REST is solely an architec- tural approach and not a specification, we have only used the WS-Agreement specification itself for defining the resources and thereby the messages we use. In this sense, a RESTful implementation is much more straightforward as the REST world does not yet suffer from the many specifications that exist in WS-*3 . REST itself of course makes use of other specifications as well (HTTP, XML, HTML, XML Schema, URL, URI, etc.). The RESTful implementation presented in this work has three great advantages in comparison to the WS-* imple- mentation: bookmarkability, multiple representations and well-defined links [32]. Bookmarkability refers to the fact that every URI points to a unique entity and that every en- tity is referenced by a URI. Multiple representations means the fact that resources can be provided in different views: an application might use XML to communicate with the server while HTML can be used provide human users with the possibility to quickly investigate resources. The well- defined links show the connection between operations and resources. In conclusion, with little programming complexity - one does not need to have deep experience in REST or use lots of code to develop a service like the one we presented - one can quickly implement a powerful service that mimics the behavior of the WS-Agreement specification but provides, for the first time, the opportunity to make use of service 3 OASIS alone provides more than a dozen specifications, see http://docs.oasis-open.org/
  • 6. level agreements in a RESTful way. 6. ACKNOWLEDGMENTS This work has been supported by the OPTIMIS project (http://www.optimis-project.eu/) and has been partly funded by the European Commission’s IST activity of the 7th Frame- work Program under contract number 257115. This work expresses the opinions of the authors and not necessarily those of the European Commission. The European Com- mission is not liable for any use that may be made of the information contained in this work. 7. REFERENCES [1] J. Kosinski, P. Nawrocki, D. Radziszowski, K. Zielinski, S. Zielinski, G. Przybylski, and P. Wnek. Sla monitoring and management framework for telecommunication services. In Networking and Services, 2008. ICNS 2008. Fourth International Conference on, pages 170 –175, 2008. [2] C. Courcoubetis and V. Siris. Managing and pricing service level agreements for differentiated services. In Quality of Service, 1999. IWQoS ’99. 1999 Seventh International Workshop on, 1999. [3] P. Bhoj, S. Singhal, and S. Chutani. Sla management in federated environments. In Integrated Network Management, 1999. Distributed Management for the Networked Millennium. Proceedings of the Sixth IFIP/IEEE International Symposium on, 1999. [4] L. Lewis and P. Ray. Service level management definition, architecture, and research challenges. In Global Telecommunications Conference, 1999. GLOBECOM ’99, 1999. [5] M. Alhamad, T. Dillon, and E. Chang. Conceptual sla framework for cloud computing. In Digital Ecosystems and Technologies (DEST), 2010 4th IEEE International Conference on, pages 606 –610, 2010. [6] M. Alhamad, T. Dillon, and E. Chang. Sla-based trust model for cloud computing. In Network-Based Information Systems (NBiS), 2010 13th International Conference on, pages 321 –324, 2010. [7] S. de Chaves, C. Westphall, and F. Lamin. Sla perspective in security management for cloud computing. In Networking and Services (ICNS), 2010 Sixth International Conference on, pages 212 –217, 2010. [8] BREIN Consortium. BREIN project homepage. http://www.eu-brein.com/. [9] BEinGRID Consortium. BEinGRID project homepage. http://www.beingrid.eu/. [10] IRMOS Consortium. IRMOS project homepage. http://www.irmosproject.eu/. [11] SOAP. Project Website: http://www.w3.org/TR/soap/. [12] W3C. Project Website: http://www.w3.org. [13] OASIS. Project Website: http://www.oasis-open.org. [14] WSDL. Project Website: http://www.w3.org/TR/wsdl/. [15] XML. Project Website: http://www.w3.org/TR/XML/. [16] R. T. Fielding. Architectural styles and the design of network-based software architectures. PhD thesis, University of California, Irvine, 2000. AAI9980887. [17] M. J. Hadley Web Application Description Language (WADL) Sun Microsystems, Inc. Mountain View, CA, USA, 2006 [18] Y. Lafon Team Comment on the ”Web Application Description Language” Submission http://www.w3.org/Submission/2009/03/Comment [19] M. Banks Web Services Resource Framework (WSRF) Primer v1.2. OASIS Web Services Resource Framework (WSRF) Technical Commitee [20] C. Pautasso, O. Zimmermann, and F. Leymann. Restful web services vs. ”big”’ web services: making the right architectural decision. In Proceeding of the 17th international conference on World Wide Web, WWW ’08, pages 805–814, New York, NY, USA, 2008. ACM. [21] Open Grid Forum. Open Grid Forum home page. http://www.ogf.org/. [22] Open Grid Forum. OGF documents. http://www.ogf.org/gf/docs/?final&all. [23] E. Christensen, F. Curbera, G. Meredith, and S. Weerawarana. Web Service Definition Language (WSDL). Technical report, World Wide Web Consortium (W3C), March 2001. [24] J. J. Moreau, R. Chinnici, A. Ryman, and S. Weerawarana. Web services description language (WSDL) version 2.0 part 1: Core language. Candidate recommendation, W3C, March 2006. [25] A. Andrieux, K. Czajkowski, A. Dan, K. Keahey, H. Ludwig, T. Nakata, J. Pruyne, J. Rofrano, S. Tuecke, and M. Xu. Web Services Agreement Specification (WS-Agreement). Technical report, Global Grid Forum, Grid Resource Allocation Agreement Protocol (GRAAP) WG, September 2005. [26] M. Gudgin, M. Hadley, and T. Rogers. Web Services Addressing - Core. Technical report, W3C, May 2006. [27] J. Sandoval. RESTful Java Web Services. Packt Publishing, Birmingham, UK, 2009. [28] T. B. Lee. Cool URIs don’t change. 1998. [29] D. Crockford RFC 4627 - The application/json Media Type for JavaScript Object Notation (JSON) IETF RFC, http://tools.ietf.org/html/rfc4627, 2006. [30] The Apache Software Foundation. Apache xmlbeans project website. http://xmlbeans.apache.org/index.html. [31] S. Allamaraju and M. Amudsen. RESTful Web Services Cookbook. O’Reilly, Sebastopol, 2010. [32] S. Weerawarana. WS-* vs. REST: Mashing up the truth from facts, myths and lies. Presented at QCon San Francisco, 2007.