1.Web
service
A Web service is a method of communications
between two electronic devices over a network. It is a software function provided at a
network address over the web with the service always on as in
the concept of utility computing.
a software system
designed to support interoperable machine-to-machine interaction over anetwork. It has an interface described in a
machine-processable format (specifically WSDL). Other systems
interact with the Web service in a manner prescribed by its description usingSOAP messages,
typically conveyed using HTTP with an XML serialization in conjunction with other Web-related
standards.[1]
Service-oriented architecture (SOA) is a software design and
software architecture design pattern based on
discrete pieces of software providing application functionality as services to
other applications. This is known as service-orientation. It is independent of any vendor, product or technology.[1]
A
service is a self-contained unit of functionality, such as retrieving an online
bank statement.[2] Services
can be combined by other software applications to provide the complete
functionality of a large software application.[3]SOA makes it
easy for computers connected over a network to cooperate. Every computer can
run an arbitrary number of services, and each service is built in a way that
ensures that the service can exchange information with any other service in the
network without human interaction and without the need to make changes to the
underlying program itself.
1.Web
service
Web service
A Web service is a method of communications between
two electronic devices over a network. It is a software function provided at a network address
over the web with the service always
on as in the concept of utility computing.
The W3C defines a Web service as:
a
software system designed to support interoperable machine-to-machine interaction over anetwork. It has an
interface described in a machine-processable format (specifically WSDL). Other systems interact with the Web service in a
manner prescribed by its description usingSOAP messages, typically conveyed using HTTP with an XML serialization in
conjunction with other Web-related standards.[1]
Automated design methods[edit]
Automated
tools can aid in the creation of a web service. For services using WSDL, it is
possible to either automatically generate WSDL for existing classes (a
bottom-up model) or to generate a class skeleton given existing WSDL (a
top-down model).
·
A developer using a
bottom-up model writes implementing classes first (in some programming
language), and then uses a WSDL generating tool to expose methods from these
classes as a web service. This is simpler to develop but may be harder to
maintain if the original classes are subject to frequent change.[4]
·
A developer using a
top-down model writes the WSDL document first and then uses a code generating
tool to produce the class skeleton, to be completed as necessary. This model is
generally considered more difficult but can produce cleaner designs and is
generally more resistant to change. As long as the message formats between sender
and receiver do not change, changes in the sender and receiver themselves do
not affect the web service. The technique is also referred to as contract first since the WSDL (or contract between
sender and receiver) is the starting point.[5]
Service-oriented architecture
Service-oriented
architecture (SOA) is a software design and software architecture design pattern based on discrete pieces of software
providing application functionality as services to other applications. This is known
as service-orientation. It is independent of any vendor,
product or technology.[1]
Principles[edit]
There
are no industry standards relating to the exact composition of a
service-oriented architecture, although many industry sources have published
their own principles. Some of the principles published[10][11][12] include
the following:
·
Standardized
service contract: Services adhere to
a communications agreement, as defined collectively by one or more
service-description documents.
·
Service loose
coupling: Services maintain a
relationship that minimizes dependencies and only requires that they maintain
an awareness of each other.
·
Service abstraction: Beyond descriptions in the service contract, services
hide logic from the outside world.
·
Service
reusability: Logic is divided into
services with the intention of promoting reuse.
·
Service
autonomy: Services have control over
the logic they encapsulate, from a Design-time and a Run-time perspective.
·
Service
statelessness: Services minimize
resource consumption by deferring the management of state information when
necessary
·
Service discoverability: Services are supplemented with communicative meta data
by which they can be effectively discovered and interpreted.
·
Service
composability: Services are
effective composition participants, regardless of the size and complexity of
the composition.
Other SOA concepts[edit]
Architectures
can operate independently of specific technologies and can therefore be
implemented using a wide range of technologies, including:
·
REST
·
DCOM
·
CORBA
Web Services Description Language
The Web
Services Description Language (WSDL) is
anXML-based interface description language that is used for describing the
functionality offered by a web service. The acronym is also used for any
specific WSDL description of a web service (also referred to as a WSDL file), which provides a
machine-readable description of how the service can be called, what parameters
it expects, and what data structures it returns. It thus serves a purpose that
corresponds roughly to that of a method signature in a programming language.
WSDL 1.1 Term
|
WSDL 2.0 Term
|
Description
|
Service
|
Service
|
Contains a set of system functions that have
been exposed to the Web-based protocols.
|
Port
|
Endpoint
|
Defines the address or connection point to a
Web service. It is typically represented by a simple HTTP URL string.
|
Binding
|
Binding
|
|
PortType
|
Interface
|
Defines a Web service, the operations that can
be performed, and the messages that are used to perform the operation.
|
Operation
|
Operation
|
Defines the SOAP actions and the way the
message is encoded, for example, "literal." An operation is like a
method or function call in a traditional programming language.
|
Message
|
n/a
|
Typically, a message corresponds to an
operation. The message contains the information needed to perform the
operation. Each message is made up of one or more logical parts. Each part is
associated with a message-typing attribute. The message name attribute
provides a unique name among all messages. The part name attribute provides a
unique name among all the parts of the enclosing message. Parts are a
description of the logical content of a message. In RPC binding, a binding
may reference the name of a part in order to specify binding-specific
information about the part. A part may represent a parameter in the message;
the bindings define the actual meaning of the part. Messages were removed in
WSDL 2.0, in which XML schema types for
defining bodies of inputs, outputs and faults are referred to simply and
directly.
|
Types
|
Types
|
Describes the data. The XML Schema language (also known as XSD) is used (inline or
referenced) for this purpose.
|
XML-RPC
XML-RPC is a remote
procedure call (RPC) protocol which uses XML to encode its calls and HTTP as a transport mechanism.[1] "XML-RPC" also refers
generically to the use of XML for remote procedure call, independently of the
specific protocol. This article is about the protocol named
"XML-RPC".
Usage[edit]
XML-RPC
works by sending a HTTP request to a server implementing the protocol. The
client in that case is typically software wanting to call a single method of a
remote system. Multiple input parameters can be passed to the remote method,
one return value is returned. The parameter types allow nesting of parameters
into maps and lists, thus larger structures can be transported. Therefore
XML-RPC can be used to transport objects or structures both as input and as
output parameters.
Identification of clients for authorization purposes can be achieved
using popular HTTP security methods. Basic access authentication is used for identification, HTTPS is used when identification (via certificates) and encrypted
messages are needed. Both methods can be combined.
In
comparison to REST, where resource representations (documents) are transferred, XML-RPC
is designed to call methods.
Data types[edit]
Common datatypes are
converted into their XML equivalents with example values shown below:
Name
|
Tag Example
|
Description
|
array
|
<array> <data>
<value><i4>1404</i4></value>
<value><string>Something here</string></value>
<value><i4>1</i4></value>
</data>
</array> |
Array of values, storing no keys
|
base64
|
<base64>eW91IGNhbid0IHJlYWQgdGhpcyE=</base64> |
Base64-encoded binary
data
|
boolean
|
<boolean>1</boolean> |
Booleanlogical
value (0 or 1)
|
date/time
|
<dateTime.iso8601>19980717T14:08:55</dateTime.iso8601> |
Date
and time in ISO 8601 format
|
double
|
<double>-12.53</double> |
Double precisionfloating
point number
|
integer
|
<int>42</int> |
Whole
number,integer
|
string
|
<string>Hello world!</string>
or
Hello world!
|
String
of characters. Must followXML encoding.
|
struct
|
<struct> <member>
<name>foo</name>
<value><i4>1</i4></value>
</member>
<member>
<name>bar</name>
<value><i4>2</i4></value>
</member>
</struct> |
|
nil
|
<nil/> |
Discriminated null value; an XML-RPCextension
|
SOAP
SOAP, originally defined as Simple Object Access Protocol,
is a protocol specification for exchanging structured
information in the implementation of Web Services in computer networks. It relies on XML
Information Set for its message format, and usually
relies on other Application Layer protocols, most notably Hypertext
Transfer Protocol (HTTP) or Simple Mail Transfer Protocol (SMTP), for message negotiation and
transmission.
Characteristics
SOAP can
form the foundation layer of a web
services protocol stack,
providing a basic messaging framework upon which web services can be built.
This XML-based protocol consists of three parts: an envelope, which defines
what is in the message and how to process it, a set of encoding rules for
expressing instances of application-defined datatypes, and a convention for
representing procedure calls and responses. SOAP has three major
characteristics: extensibility (security and WS-routing are among the
extensions under development), neutrality (SOAP can be used over any transport
protocol such asHTTP, SMTP, TCP, UDP, or JMS), and independence (SOAP allows for any programming
model).
Example message[edit]
POST /InStock HTTP/1.1
Host: www.example.org
Content-Type: application/soap+xml; charset=utf-8
Content-Length: 299
SOAPAction: "http://www.w3.org/2003/05/soap-envelope"
<!- ->
<?xml version="1.0"?>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
<soap:Header>
</soap:Header>
<soap:Body>
<m:GetStockPrice xmlns:m="http://www.example.org/stock">
<m:StockName>IBM</m:StockName>
</m:GetStockPrice>
</soap:Body>
</soap:Envelope>
Web Services, Service-Oriented Architectures, and Cloud Computing
This site will help you get started with a service-oriented architecture SOA) using Web Services and Cloud Computing. It features free articles, services, and product listings that can be used to develop a service-oriented architecture using Web Services and Cloud Computing.
- Articles that provide an extensive overview of Cloud Computing, Web Services, standards, and related technologies that can be used in a service-oriented architecture. There are over 450 pages of free, online articles on this site. Here are the major categories of articles. Expand the "Articles" menu item at the left for more detail.
- Service-Oriented Architecture Articles
- Cloud Computing Articles
- Database Articles
- Application Server Articles
- Online Briefings that complement the articles on this site. These are narrated slide presentations.
- Services to help your organization decide how to use a service-oriented architecture.
- Product listings to connect you to the vendor sites for each of the technologies.
Example Enterprise Service-Oriented Architecture with Cloud Computing
The following diagram is an example of a service-oriented architecture using Web Services. Click on the yellow boxes below to obtain more information on a subject.
Getting Started
We help prepare organizations for moving to a service-oriented architecture:
- Consulting and customized working sessions on software architecture. This helps you quickly make fully informed decisions concerning your enterprise architecture. More...
- Mentoring on technical issues. These sessions make it easier for managers and project leads to get up-to-speed on architectural considerations. More...
- Speaking on topics related to advanced software architectures and how such architectures can be used in organizations. This is a great way to communicate the value of using various types of software architectures to larger groups. More...
No comments:
Post a Comment