Web Services Midterm
What's status codes and their meaning?
1xx: The request is received, continuing process 2xx: The request was successfully received, understood, and accepted 200 OK Standard response for successful HTTP requests. Most general successful response code 201 Created The request has been fulfilled, resulting in the creation of a new resource. Most for POST response 204 No Content The server successfully processed the request and is not returning any content. 3xx: Further action needs to be taken in order to complete the request 4xx: The request contains bad syntax or cannot be fulfilled 400 Bad Request The server cannot or will not process the request due to an apparent client error. 401 Unauthorized For use when authentication is required and has failed or has not yet been provided. 403 Forbidden The request was valid, but the server is refusing action. 404 Not Found 5xx: The server failed to fulfill an apparently valid request 500 Internal Server Error 503 Service Unavailable
What's web services? What are two major types in web service?
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 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; Arbitrary web services: in which the service may expose an arbitrary set of operations.
Statelessness
A service does not maintain state between invocations. It takes the parameters provided, performs the defined function, and returns the expected result. Note: HTTP protocol is stateless.
What's the service?
A service is a self -contained, distinct, and reusable component that provides certain business functionality. Contains contract with specification of the purpose, functionality, interface, constrains, usage of the business functionality.
What's Idempotent HTTP Methods
An idempotent HTTP method can be called many times without different outcomes Post is not, it creates a new resource
What's API?
Application Programming Interface: An interface, through which users, developers, and applications interact with the data on a remote server.
Loose coupling
Coupling refers to a connection or relationship between two things and is a measure of dependency. Loose coupling promotes independent design and evolution of a service's logic and implementation.
HTTP methods
GET - get specified resource if available PUT- update resource based on ID POST- create a new resource and add it to the collection PATCH- modifying resource based on ID DELETE- delete resource based on ID
Understand HTTP protocol including request and response
HTTP: HyerText Transfer Protocol Each HTTP transaction consists of a request and a response
Evolution of architectures
Monolithic: a single-tiered software application in which different components combined into a single program from a single platform 2-Tier: Where you have direct communication between a client and a server with no intermediary. It is divided into two parts; 1. ) Client Application. 2. ) Database. 3-Tier/N-tier: Presentation Layer (Client tier) Application Layer (Business tier) Database Layer (Data tier) SOA
What's RESTful?
Representational State Transfer Representation - the resource (image, product, order, profile) is represented by the web server to the client in any format like HTML, Image, JSON, XML etc
What's SOA? What' POA? What's the difference between them?
SOA - Service Oriented Architecture: Architectural style for building software applications that use services available in a network such as the web. It promotes loose coupling between software components so that they can be reused. It implements the endpoint of a web service. POA - Presentation Orientation Architecture: generates interactive web pages containing various types of markup language (HTML, XHTML, XML, and so on) and dynamic content in response to requests. These applications are often clients of service-oriented web applications.
More SOA info
SOA applications use services as building blocks to form large, complex business application functionality or to integrate within the enterprise or trading partners. Key players include service providers and service consumers. SOA applications are not monolithic. SOA emphasizes the loose coupling of services.
Abstraction
Service contracts only contain essential information and information about service is limited to what is published in service contracts
What's SOAP?
Simple Object Access Protocol XML-based protocol for accessing web services. Usually used with HTTP(s), but is compatible with other protocols such as FTP, SMTP. Language and operating system independent. Actions (verbs) based web services.
RESTful constrains.
Stateless: No client context is stored on the server between requests Client-server architecture: The client and server have separate responsibilities - separation of concerns. Cache-able: Clients are able to cache responses Uniform interface : An interface is decoupled/separated from the service implementation. Similar to how it is in OOP: a public interface separates the private implementation. 4 constraints: Identification of resources Manipulation of resources through representations. Self-descriptive message Hypermedia as the engine of application state (HATEOAS) Layered system: Allows a system to be composed of multiple layers and each layer serves a specific function.
Principle of SOA
Statelessness Loose coupling Abstraction Standardized service contract Autonomy Reusability Discoverability Composability Interoperability
RESTful API, and understand resource and collection
The web service that conforms the REST constrains is called RESTful API
Understand URI and URL
URI (Universal Resource Identifier): Refers to a string of characters that unambiguously identifies a particular resource. URL: Universal Resource Locator Refers to an URI that identifies a resource by specifying its unique location and the primary access mechanism (http, ftp, etc.)
What's Service Oriented Architecture Triangle?
View pic
What's WSDL?
Web Service Description Language. It provides the location of a particular service, the data types in this service, the methods, parameters, and return values that are available.
What's XML and its syntax
XML = eXtensible Markup Language designed to store and transport data. was designed to carry data - with focus on what data is tags are not predefined like HTML tags are
What's endpoint?
one end of a communication channel In APIs, it can be the whole or part of a URL that is used to make a request for a resource. Should only contain resources (nouns), but not actions (verbs) Examples: /api/companies/5/employees //without domain /api/v1/employees/3 //without domain https://mywebsite.com/login //with domain GET /api/v1/message{id} // with method
Web Service vs. Website
powerpoint pg 34
Understand HTTP headers for both request and response
unit 1 pp 2 pg 29
JSON related syntax and how to use JSON in Java Script and in PHP
unit 1 pp 2 pg 34
How to use XML in PHP including creating and Parsing XML.
unit 2 pp 1