| 
  • If you are citizen of an European Union member nation, you may not use this service unless you are at least 16 years old.

  • You already know Dokkio is an AI-powered assistant to organize & manage your digital files & messages. Very soon, Dokkio will support Outlook as well as One Drive. Check it out today!

View
 

Web Services

Page history last edited by Dmitry Sokolov 4 years, 2 months ago

Go:

 Visual Taxonomy Links   Hide/Show:

Taxonomy Path

SSS Yet To Be Done.

https://en.wikipedia.org/wiki/Web_service

The term Web service (WS) is either:

  • (generic) a service offered by an electronic device to another electronic device, communicating with each other via the World Wide Web, or
  • (specific) a Web service is a server running on a computer device, listening for requests at a particular port over a network, serving web documents (HTML, JSON, XML, Images), and creating web applications services, which serve in solving specific domain problems over the web (www, internet, HTTP)

In a Web service a Web technology such as HTTP — originally designed for human-to-machine communication[citation needed] — is used for transferring machine-readable file formats such as XML and JSON.

In practice, a Web service commonly provides an object-oriented Web-based interface to a database server, utilized for example by another Web server, or by a mobile app, that provides a user interface to the end-user. Many organizations that provide data in formatted HTML pages will also provide that data on their server as XML or JSON, often through a Web service to allow syndication, for example, Wikipedia's Export. Another application offered to the end-user may be a mashup, where a Web server consumes several Web services at different machines and compiles the content into one user interface.

Web Services (generic)

Asynchronous JavaScript And XML

Main article: Ajax (programming)

Asynchronous JavaScript And XML (AJAX) is a dominant technology for Web services. Developing from the combination of HTTP servers, JavaScript clients and Plain Old XML (as distinct from SOAP and W3C Web Services), now it is frequently used with JSON as well as, or instead of, XML.

REST

Main article: REST

Representational State Transfer (REST) is an architecture for well-behaved Web services that can function at Internet scale.

In a 2004 document, the W3C sets following REST as a key distinguishing feature of Web services:

We can identify two major classes of Web services:

  • REST-compliant Web services, in which the primary purpose of the service is to manipulate XML representations of Web resources using a uniform set of "stateless" operations; and
  • arbitrary Web services, in which the service may expose an arbitrary set of operations.
    — W3C, Web Services Architecture[1]

Web services that use markup languages

There are a number of Web services that use markup languages:

Web API

Main article: Web API

A Web API is a development in Web services where emphasis has been moving to simpler representational state transfer (REST) based communications.[2] Restful APIs do not require XML-based Web service protocols (SOAP and WSDL) to support their interfaces.

W3C Web Services (specific)

In relation to W3C Web Services, the W3C defined a Web service as:

A web service is a software system designed to support interoperable machine-to-machine interaction over a network. 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 using SOAP-messages, typically conveyed using HTTP with an XML serialization in conjunction with other web-related standards.

— W3C, Web Services Glossary[3]

W3C Web Services may use SOAP over HTTP protocol, allowing less costly (more efficient) interactions over the Internet than via proprietary solutions like EDI/B2B. Besides SOAP over HTTP, Web services can also be implemented on other reliable transport mechanisms like FTP. In a 2002 document, the Web Services Architecture Working Group defined a Web services architecture, requiring a standardized implementation of a "Web service."

Explanation

Web services architecture: the service provider sends a WSDL file to UDDI. The service requester contacts UDDI to find out who is the provider for the data it needs, and then it contacts the service provider using the SOAP protocol. The service provider validates the service request and sends structured data in an XML file, using the SOAP protocol. This XML file would be validated again by the service requester using an XSD file.

The term "Web service" describes a standardized way of integrating Web-based applications using the XML, SOAP, WSDL and UDDI open standards over an Internet Protocol backbone. XML is the data format used to contain the data and provide metadata around it, SOAP is used to transfer the data, WSDL is used for describing the services available and UDDI lists what services are available.

A Web service is a method of communication 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.

Many organizations use multiple software systems for management.[citation needed] Different software systems often need to exchange data with each other, and a Web service is a method of communication that allows two software systems to exchange this data over the Internet. The software system that requests data is called a service requester, whereas the software system that would process the request and provide the data is called a service provider.

Different software may use different programming languages, and hence there is a need for a method of data exchange that doesn't depend upon a particular programming language. Most types of software can, however, interpret XML tags. Thus, Web services can use XML files for data exchange.

Rules for communication between different systems need to be defined, such as:

  • How one system can request data from another system.
  • Which specific parameters are needed in the data request.
  • What would be the structure of the data produced. (Normally, data is exchanged in XML files, and the structure of the XML file is validated against a .xsd file.)
  • What error messages to display when a certain rule for communication is not observed, to make troubleshooting easier.

All of these rules for communication are defined in a file called WSDL (Web Services Description Language), which has a .wsdl extension. (Proposals for Autonomous Web Services (AWS) seek to develop more flexible Web services that do not rely on strict rules.[a])

A directory called UDDI (Universal Description, Discovery, and Integration) defines which software system should be contacted for which type of data. So when one software system needs one particular report/data, it would go to the UDDI and find out which other systems it can contact for receiving that data. Once the software system finds out which other systems it should contact, it would then contact that system using a special protocol called SOAP (Simple Object Access Protocol). The service provider system would first validate the data request by referring to the WSDL file, and then process the request and send the data under the SOAP protocol.

Automated design methods

Web services in a service-oriented architecture.

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.[5]
  • 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 the 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.[6]
  • A developer using a Subset WSDL (SWSDL)[7] (i.e. a WSDL with the subset operation in the original WSDL) can perform Web service testing and top-down development.

Criticism

Critics of non-RESTful Web services often complain that they are too complex[8] and based upon large software vendors or integrators, rather than typical open source implementations.

There are also concerns about performance due to Web services' use of XML as a message format and SOAP/HTTP in enveloping and transporting.[9]

Regression testing of Web services

Functional and non-functional testing of Web services is done with the help of WSDL parsing. Regression testing is performed by identifying the changes made to upgrade software. Web service regression testing needs can be categorized in three different ways, namely, changes in WSDL, changes in the code, and selective re-testing of operations. We can capture the above three needs in three intermediate forms of Subset WSDL,[7] namely, Difference WSDL (DWSDL), Unit WSDL (UWSDL), and Reduced WSDL (RWSDL), respectively. These three Subset WSDLs are then combined to form Combined WSDL (CWSDL) that is further used for regression testing of the Web service. This will help in Automated Web Service Change Management (AWSCM),[10] by performing the selection of the relevant test cases to construct a reduced test suite from the old test suite. [11]

Web services testing can also be automated using several test automation tools like SOAP UI, Oracle Application Testing Suite (OATS),[12][13] Unified Functional Testing, Selenium, etc.

Web service change management

Work-related to the capture and visualization of changes made to a Web service. Visualization and computation of changes can be done in the form of intermediate artifacts (Subset WSDL).[7] The insight on the computation of change impact is helpful in testing, top-down development and reduce regression testing. AWSCM[10] is a tool that can identify subset operations in a WSDL file to construct a subset WSDL.


Links  

See also



https://en.wikipedia.org/wiki/Category:Web_services

Wikimedia Commons has media related to Web services.

Subcategories

``E

`  Enterprise application integration (3 C, 78 P)

`I

`Instant messaging (6 C, 62 P)

Internet mirror services (1 C, 20 P)

`  Internet search (2 C, 17 P)

``M

`  Web mapping (5 C, 59 P)

`S

``SPARQL (6 P)

``W

`Web desktops (9 P)

Web service development tools (8 P)

Web service providers (1 C, 39 P)

Pages

`.

`  .NET My Services

`*

`  List of web service protocols

`A

`  Amazon Elastic Block Store

  Amazon Elastic Compute Cloud

  Amazon Mechanical Turk

  Amazon Product Advertising API

  Amazon Simple Queue Service

  Apache Axis

  Apache Axis2

  Apache CXF

  Apache Rampart module

  Automated Logic Corporation

  AWS Elastic Beanstalk

`B

`  Baynote

  BigQuery

  Blackle

  BOSH (software)

  Browserless Web

  Business process network

`C

`  Cadec-online.com

  Calais (Reuters product)

  Cartika

  Celtix

  Cloud Foundry

  Co-ment

  Common Base Event

  Comparison of web service frameworks

  Composite application

  Cwm (software)

`D

`  DAML-S

  DataNucleus

  Daylife

  Devices Profile for Web Services

  DigitalOcean

  Direct Internet Message Encapsulation

  DNSimple

  Dynamic site acceleration

`E

`  EMML (Motorola)

  Enterprise Mashup Markup Language

  Event-driven SOA

`F

`  FlexiScale

  Fuse Mediation Router

  Fuse Services Framework

`G

`  GeoNames

  Gigas (company)

  GlassFish Metro

  Google Cloud Platform

  Google Compute Engine

  Google Storage

  GSOAP

`H

`  Heeii

  Hessian (Web service protocol)

  HPE Helion

`I

`  IFTTT

  Information and Content Exchange

  International Journal of Web Services Research

  Internationalized Resource Identifier

`J

`  JackBe

  Java Web Services Development Pack

  JSON-RPC

  JSON-WSP

`L

`  Lamebook

  Link contract

  Linode

  List of web service frameworks

  List of web service specifications

`M

`  Media Temple

  MetaWeblog

  Mibbit

  Microwork

`O

`  OASIS (organization)

  Open Mashup Alliance

  OPeNDAP

  OpenShift

  Orb (software)

  OrionVM

  OWL-S

`P

`  Parlay X

  Pimp My Search

  Ping.fm

  Plasmapper

  Platial

`R

`  Really Simple Discovery

  RSDL

`S

`  Safe Swiss Cloud

  SanderMap

  Sarvega

  Search/Retrieve Web Service

  Secure-adaptive architecture

  Semantic service-oriented architecture

  Semantic Web

  Semantic web service

  SemanticGov

  Sensor Observation Service

  SensorThings API

  ServerCentral

  Service-oriented architecture

  Service-oriented architecture implementation framework

  Service-oriented distributed applications

  SOALIB

  SOAP-over-UDP

  SOAPjr

  List of SPARQL implementations

  SPARQL

  Sun Web Developer Pack

`T

`  Tarsnap

  Texts From Last Night

  Timable

`V

`  Virtuoso Universal Server

`W

`  WCF Data Services

  Web 2.0

  Web Application Description Language

  Web data services

  Web service

  Web Services Conversation Language

  Web Services Discovery

  Web Services Distributed Management

  Web Services Enhancements

  Web Services Flow Language

  Web Services Interoperability

  Web Services Interoperability Technology

  Web Services Invocation Framework

  Web Services Modeling Language

  Web services protocol stack

  Web Services Resource Framework

  Web Services Test Forum

  WebMethods Glue

  WebMethods Integration Server

  Wholesale Applications Community

  Windows CardSpace

  Windows Communication Foundation

  WordWeb

  World Wide Web Consortium

  WS-CAF

  WS-Discovery

  WSMO

`X

`  XML Interface for Network Services

  XML-RPC

  XMLVend

`Y

`  Yahoo! Search BOSS

  Yuuguu

Pages in Other Languages

Forking

Categories:

Distributed computing architecture

XML-based standards

Web technology

Web 2.0

Network service

Comments (0)

You don't have permission to comment on this page.