I am getting into the understanding of application integration on Oracle Cloud for some upcoming requirements. So this post and the next few onwards, will be regarding it.
So what is a web service?
A Service is a discrete unit of business functionality exposed to applications within a given enterprise, or possibly across multiple enterprises.
- A Service Contract specifies purpose, functionality, constraints and usage of a service.
- A Service Implementation fulfills the service contract.
- A Service Interface describes a means to access service functionality according to the contract it offers.
- A Service Consumer only interfaces with the service interface and does not need to be aware of service implementation.
A contract is usually human readable documentation that helps developers who write application code which consumes services to describe which service to use. It is a responsibility of a web service provider to maintain correct documentation which should assist consumers in making decisions about using that particular service.
A Service implementation should fulfil the service contract. Services may be implemented in different ways and in different programming languages. Service Interfaces can be described using some from of Interface Definition Language (IDL), which provides an implementation independent description of the service interface.
All SOAP Service Interfaces are described with Extensible Markup Language (XML , with Web Service Description Language (WSDL) and XML Schema Definition (XSD) documents.
REST Services do not provide a common interface description standard. However, a number of competing service descriptor mechanisms have been proposed to describe REST Services, such as Web Application Description Language (WADL), OpenAPI Specification (also known as Swagger), and RESTful API Modeling Language (RAML). REST descriptors are implemented using a variety of languages such as XML Java Script Object Notation (JSON) or YAML Ain’t Markup Language (YAML).
Hope it helps.