According to Wikipedia, it's something like follows.
“A Web service is a method of communication between two electronic devices over World Wide Web. A web service is a software function provided at a network address over the web or the cloud; it is a service that is 'always on' as in the concept of utility computing “ - wikipedia (6 February 2014) - (http://en.wikipedia.org/wiki/Web_service)
But, let me put this into bit more simple way..!
- Web services are application components which can be used by other applications and
- Web services communicate using open protocols like HTTP.
- Web services are self-contained and self-describing.
- Web services can be discovered using UDDI (Universal Description & Discovery Integration).
- HTTP and XML is the basis for Web services.
Basically a web service is an application component which has been exposed to World Wide Web where other application can access and request for a particular service regardless the implemented language or deployed environment.
It's the common media which makes a service interoperable..!
Why an Interoperability a Priority ??
Different platforms couldn't or rather I say, hard to interact with each other which brings us to the next obstetrical.
When it comes to distributed systems, integration technologies or simply integration among systems plays a major role in order to carry out one single, happy transaction or a task.
Apparently the implementations of the systems in a distributed environment are different form one to another, making communication more and more complex.
May be the communication media of a system could be totally alien to the other systems briefly..!
So the solution is pretty much clear or at least it seems it would..!
Moving toward a common media, so all the applications which are eligible to communicate over it, can access the same set of exposed data.
World Wide Web or WWW can be access by all the major platforms via a web browser, which makes it a common media.
That's actually the origin of WEB APPLICATIONS..!
But apart from that, what about non major platforms? Are we going to omit them??
No way, because some new platforms are way more robust, unique, effective and remarkable than an existing major platforms...!
For an example, get WSO2 Identity Server which provides a role base, policy base access control and single sign on over conventional authentication and authorization management (such as Spring security) to an enterprise web application.
For an example, get WSO2 Identity Server which provides a role base, policy base access control and single sign on over conventional authentication and authorization management (such as Spring security) to an enterprise web application.
So the question is, how we going to utilize them??
Easy...! Expose them as web services to WWW, so any application which requires it's service can access and communicate, platform independently.
Taking WS to the next level..!
By using Web services, your application can publish its function or message to the rest of the world as I mentioned previously.
Web services use XML to code and to decode data, and SOAP to transport it..!
But trust me, there're some other ways like REST (REpresentational State Transfer), but we'll have a different session for that..!
But trust me, there're some other ways like REST (REpresentational State Transfer), but we'll have a different session for that..!
Basically, usage of a web services can be speared down into two major categories..!
- Reusable application-components.
- Integrate existing software applications.
- Reusable application-components
There are common components which software applications need frequently.
So why make these components over and over again?
Web services can offer common application-components like Currency conversion, Payment gateways, Weather reports, or even Language translation as services.
- Integrate existing software applications.
Web services can be helpful to solve an interoperability problems by linking different applications in different platforms which providing a way to communicate with each other.
If you're new to WS or integration technologies and looking for something to start, hope this helped. Thanks for reading this post and please leave a comment if you're having any doubts..!
Happy Hunting..!