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