Cloud Computing: Service-Oriented Architecture (SOA)
74 Questions
0 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

Which of the following best describes the role of a service in Service-Oriented Architecture (SOA)?

  • To serve as a firewall for the system.
  • To manage network infrastructure.
  • To provide direct access to a database.
  • To offer features and functions to independent clients. (correct)

In the context of Service-Oriented Architecture (SOA), what is the significance of a service description?

  • It enables the service to be discovered and selected by potential clients. (correct)
  • It dictates the physical location of the server hosting the service.
  • It provides the programming code necessary to execute the service.
  • It encrypts the data transmitted between the client and the service.

How does Service-Oriented Architecture (SOA) facilitate complex solutions?

  • By centralizing all processing logic within a single monolithic service.
  • By eliminating the need for inter-service communication.
  • By supporting the composition of services to deliver complex solutions. (correct)
  • By enforcing a strict hierarchy of service dependencies.

What is the primary purpose of 'nouns' in the context of RESTful architecture?

<p>To name the resources that can be talked about. (C)</p> Signup and view all the answers

In RESTful architecture, what role do 'verbs' play?

<p>They are the operations that can be applied to named resources. (D)</p> Signup and view all the answers

Within the context of REST architecture, what do content types primarily define?

<p>Which information representations are available. (A)</p> Signup and view all the answers

Which statement accurately captures the essence of Representational State Transfer (REST)?

<p>It's an architectural style for building distributed systems based on simplifying agreement. (A)</p> Signup and view all the answers

How does REST ensure that client-server interactions are independent?

<p>By requiring each request to contain all information needed to understand the request. (B)</p> Signup and view all the answers

How does the 'uniform interface' constraint in RESTful systems contribute to system design?

<p>By simplifying system architecture and improving visibility. (B)</p> Signup and view all the answers

What does the REST constraint of 'client-server architecture' primarily ensure?

<p>That concerns are separated, promoting simplicity, scalability, and evolvability. (A)</p> Signup and view all the answers

What is the key characteristic of a 'stateless' system in the context of REST constraints?

<p>Each request from client to server contains all necessary information to understand the request. (A)</p> Signup and view all the answers

Which property is primarily enhanced by the 'cacheable' constraint in REST?

<p>Performance (A)</p> Signup and view all the answers

What is the primary benefit of the 'layered system' constraint in REST?

<p>Improved performance (A)</p> Signup and view all the answers

What is the main goal of the Representational State Transfer (REST) architectural style?

<p>To minimize latency and network communication. (A)</p> Signup and view all the answers

How does REST promote component scalability and independence?

<p>By maximizing the independence and scalability of component implementations. (A)</p> Signup and view all the answers

What does REST emphasize regarding the use of the HTTP protocol?

<p>The correct and complete use of the HTTP protocol. (B)</p> Signup and view all the answers

What does it mean for a system to be 'RESTful'?

<p>It exhibits all defined constraints of the REST architecture. (D)</p> Signup and view all the answers

According to RESTful principles, what is the purpose of hypermedia?

<p>To control application behavior. (B)</p> Signup and view all the answers

When is HTTP a transport protocol?

<p>HTTP is never a transport protocol. (B)</p> Signup and view all the answers

In the context of HTTP, what does it mean for a request to be 'addressable'?

<p>A request is sent to a specified URI. (D)</p> Signup and view all the answers

What are the key components of a uniform format HTTP message?

<p>Start line, header lines, message body. (A)</p> Signup and view all the answers

In an HTTP response, what does the 'Content-Type' header indicate?

<p>The type of data contained in the body. (A)</p> Signup and view all the answers

When designing a REST API, what does 'finding all the nouns' refer to?

<p>Identifying all the resources that the API will expose. (A)</p> Signup and view all the answers

When designing URIs in a RESTful system, what does it mean for them to be 'opaque'?

<p>Clients should not infer meaning from them. (A)</p> Signup and view all the answers

In REST API design, for what purpose should query variables be used?

<p>To imply inputs into an algorithm. (A)</p> Signup and view all the answers

According to REST principles, what is the preferred practice concerning URI length?

<p>While the URI space is infinite, URI length should be kept within a practical limit. (A)</p> Signup and view all the answers

In the context of designing a RESTful API for an expense reporting system, what is the significance of allowing various views on the data?

<p>It provides flexibility in how data can be consumed. (D)</p> Signup and view all the answers

When designing a RESTful API, how should the nouns be expressed?

<p>Through URI Templates (D)</p> Signup and view all the answers

In the context of HTTP methods, what does it mean for a method to be 'safe'?

<p>It does not have the significance of taking an action other than retrieval. (B)</p> Signup and view all the answers

In HTTP methods, what does it mean for a method to be 'idempotent'?

<p>The side effects of N &gt; 0 identical requests is the same as for a single request (aside from error or expiration issues). (B)</p> Signup and view all the answers

When creating new resources, under which circumstance should POST be used?

<p>If the server chooses the URI (C)</p> Signup and view all the answers

In HTTP response status codes, what does a '2xx' code generally indicate?

<p>Success (B)</p> Signup and view all the answers

In HTTP, what status code indicates that the request contains bad syntax or cannot be understood?

<p>4xx (C)</p> Signup and view all the answers

Considering REST and HTTP, how should a single resource with multiple representations handle different client preferences, such as language?

<p>By using client request headers for content negotiation. (A)</p> Signup and view all the answers

In RESTful API design, what is the best practice when content negotiation with Accept headers is not reliable?

<p>Use Accept headers and expose the content type in the URI. (A)</p> Signup and view all the answers

When defining data formats for REST APIs including JSON, binary, XML, what is the primary recommendation regarding schema languages?

<p>They are not required (if even possible). (B)</p> Signup and view all the answers

When should binary formats, such as Protocol Buffers or MessagePack, be used in a Well-Designed REST Api?

<p>JSON instead of lower-level binary formats like Protocol Buffers or MessagePack (C)</p> Signup and view all the answers

What is a typical advantage of using 'up-stack' media types in API data formats?

<p>Simplifying the API design and implementation (D)</p> Signup and view all the answers

In the context of HTTP caching, what is the purpose of the 'Cache-Control: no-store' header?

<p>It instructs caches not to store the response. (B)</p> Signup and view all the answers

Which of the following is associated with a 304 HTTP Response Code?

<p>Not Modified (B)</p> Signup and view all the answers

In RESTful API design, what is the purpose of using the '202 Accepted' response code in asynchronous operations?

<p>To acknowledge that the request has been accepted for processing. (C)</p> Signup and view all the answers

Why is the web considered to be a 'platform'?

<p>Because it is open, scalable, extensible, and easy to understand. (D)</p> Signup and view all the answers

According to the design principles discussed, what is a key characteristic of well-designed Web technologies regarding URIs, HTTP, and HTML?

<p>URIs, HTTP, and HTML are required. (B)</p> Signup and view all the answers

When designing with REST, In a typical RESTful setup that properly implements REST what does manipulating the HTTP protocol enable?

<p>All of the above (D)</p> Signup and view all the answers

When designing with REST, how should the designer implement a proper STATEFUL interaction?

<p>The state is represented as part of the content being transferred (C)</p> Signup and view all the answers

In Service-Oriented Architecture (SOA), what is a key requirement each service should fulfill?

<p>Providing a description that allows for discovery and selection. (A)</p> Signup and view all the answers

According to REST principles, which aspect of an application is primarily controlled by hypermedia?

<p>Application behavior (B)</p> Signup and view all the answers

In the context of RESTful services, how are resources typically defined?

<p>By unique Resource Identifiers (URIs) (D)</p> Signup and view all the answers

In REST architecture, what ensures that the resources can be modified through their representations?

<p>Uniform Interface (B)</p> Signup and view all the answers

How does the principle of 'self-descriptive messages' contribute to RESTful system design?

<p>By ensuring each message contains enough info to be understood without context. (C)</p> Signup and view all the answers

In REST, what is the significance of resources exposing a 'uniform interface'?

<p>It simplifies system architecture and improves visibility. (A)</p> Signup and view all the answers

In RESTful API design, what does 'REST enables the caching and reuse of interactions' imply for client-server communication?

<p>Interactions can be stored and reused, reducing latency and network load. (A)</p> Signup and view all the answers

When designing RESTful APIs, How should the use of HTTP protocol be implemented?

<p>It should be used correctly and completely. (A)</p> Signup and view all the answers

What is a primary advantage of using 'up-stack' media types in RESTful API data formats?

<p>They are easier for humans to read and debug. (B)</p> Signup and view all the answers

Which media type is generally recommended over lower-level binary formats in RESTful APIs to achieve maximum accessibility, if possible?

<p>JSON (A)</p> Signup and view all the answers

When designing a RESTful API, why is it important to avoid exposing internal implementation details in URIs?

<p>To allow for greater flexibility in changing the underlying technology. (B)</p> Signup and view all the answers

In a well-designed RESTful system, what is the purpose of URIs being 'opaque'?

<p>To prevent automated clients from inferring meaning from them. (B)</p> Signup and view all the answers

When designing URIs for a RESTful API, what is the preferred approach for handling inputs into an algorithm?

<p>Use query variables only when necessary; path variables are preferable where possible. (D)</p> Signup and view all the answers

According to the principles discussed, what is a significant component of RESTful system design regarding data and component interactions?

<p>Simplicity regarding latency and network communication. (D)</p> Signup and view all the answers

How does caching in REST contribute to system efficiency?

<p>It improves response time and reduces server load. (C)</p> Signup and view all the answers

Why is 'less communication state' a desirable characteristic in a RESTful architecture?

<p>It allows for easier load balancing among servers. (A)</p> Signup and view all the answers

In the context of REST, what does it mean for a system to have 'less specialized software'?

<p>The underlying technologies of the system are simple. (D)</p> Signup and view all the answers

In RESTful systems, what does the concept of 'identification' primarily rely on?

<p>Standard mechanisms without extra names. (B)</p> Signup and view all the answers

Why is it important for RESTful API designs to 'highlight exceptional status codes'?

<p>To provide detailed error information to clients. (B)</p> Signup and view all the answers

In designing a RESTful API, what should guide decisions about when to use POST versus PUT methods?

<p>POST should be used when the server chooses the URI. (A)</p> Signup and view all the answers

How should a RESTful system treat 'sessions' to adhere to statelessness?

<p>Sessions should be avoided to maintain statelessness. (B)</p> Signup and view all the answers

What is the significance of 'Hypermedia as the Engine of Application State' (HATEOAS) in REST?

<p>It decouples the client and server, allowing the server to guide the client through available states. (C)</p> Signup and view all the answers

According to the guidelines, which practice indicates a potential design flaw in a RESTful API?

<p>Changing state using the HTTP GET method. (A)</p> Signup and view all the answers

In RESTful API design, what is the recommended approach for expressing a collection of expense reports?

<p>As a list of links, with summary data for each report at a detail data. and need a format. (B)</p> Signup and view all the answers

What does the principle of 'Loose coupling not only applies to API vs. document' mean in the context of REST?

<p>States can be transferred. (A)</p> Signup and view all the answers

What are 'formal microformats', such as those found at http://microformats.org/, used for in designing RESTful Web services?

<p>Giving semantic meaning to HTML tags. (C)</p> Signup and view all the answers

A client sends a request to a RESTful API, expressing a preference for content in English and German, with English being preferred. How is the 'q' value used in the Accept-Language header to indicate relative preference?

<p>Values are used to express relative preferences. &quot;Allow client to ask for a particular representations via request headers&quot;. (B)</p> Signup and view all the answers

What mechanism does REST employ to ensure that client-server interactions can be scaled and load-balanced easily?

<p>Statelessness (C)</p> Signup and view all the answers

How should web application architecture be developed?

<p>All other Web technologies are built-on foundations of URIs, HTTP, and HTML. (B)</p> Signup and view all the answers

Flashcards

Service Oriented Architecture (SOA)

An architectural model to deliver services to independent clients over the Internet.

REST (Representational State Transfer)

A set of software design constraints for building distributed systems.

Uniform Resource Identifier (URI)

A standardized identifier used to name resources

Stateless Interactions

A software system constraint where client requests must contain all info for the server to understand the request.

Signup and view all the flashcards

REST Architectural Style

Architectural style for building distributed systems based on transferring representations of resources.

Signup and view all the flashcards

Architectural Constraints in REST

Constraints that attempt to minimize latency and maximize independence and scalability.

Signup and view all the flashcards

Caching in REST

Enhances response time and lowers server load.

Signup and view all the flashcards

Common Model

A design approach using a common model, nouns, and verbs

Signup and view all the flashcards

HATEOAS

Hypermedia as the Engine Of Application State.

Signup and view all the flashcards

Classified Links

Links with semantic meaning that smart clients know.

Signup and view all the flashcards

Choosing URI with POST

Use POST if the server chooses the URI

Signup and view all the flashcards

Choosing URI with PUT

Use PUT if the client chooses the URI

Signup and view all the flashcards

Benefits of hypermedia

Hypermedia provides discover of capabilties

Signup and view all the flashcards

Study Notes

  • Cloud Computing is a topic covered in Magistrale in informatica.

Service Oriented Architecture (SOA)

  • It is an architectural model to provide services over the Internet.
  • A service provides features and functions to independent clients.
  • Each service should provide a description to be discovered and selected.
  • Each service should provide access through well-known protocols.
  • Each service should support composition to deliver complex solutions.
  • Each service should address client's business needs and domain requirements.

Web Services Basic Architecture

  • Consistent with established Service-Oriented Architecture (SOA) principles.
  • Web Services Component consists of a service and service description
  • Web service roles are service providers, service brokers and service requestors
  • Web Services Operations: Publish, Find and Interact

Everything as a Service (XaaS)

  • Traditional IT management involves managing applications, runtimes, security & integration, databases, servers, virtualization, server hardware, storage, and networking.
  • Infrastructure as a Service (IaaS) has vendor managed server hardware, storage, and networking, with the rest managed by the user.
  • Platform as a Service (PaaS) has vendor managed virtualization, server hardware, storage, and networking, with the rest managed by the user.
  • Software as a Service (SaaS) has all levels managed by the vendor.

Web APIs

  • Most of the existing services provide Web APIs.
  • Web APIs use HTTP to tunnel procedure calls.
  • Web APIs exhibit unknown semantics of both operations and data exchanged.

Establishing a Common Model

  • Distributed systems must be based on a shared model.
  • WSDL/SOAP traditional systems must agree on a common API.
  • WSDL/SOAP SOA systems must agree on several messages.
  • REST simplifies agreement, building around resources (nouns), operations (verbs), and content types (information representations).

Understanding REST

  • REST = REpresentational State Transfer.
  • REST is an architectural style for distributed systems.
  • Architectural style has constraints that affect the roles/features and allowed relationships among architectural elements.
  • It's an abstraction/design pattern to discuss architecture.
  • Examples of styles include music (Jazz, Blues), building (Baroque, Bauhaus), and programming (object-oriented, functional, procedural).

REST Principles

  • REST = REpresentational State Transfer.
  • Resources are defined by URIs.
  • Resources are manipulated through representations.
  • Multiple representations can exist for a resource
  • Messages are self-descriptive and stateless.
  • Application state is driven by resource manipulations.
  • Hypermedia controls application behavior.
  • REST fits nicely with Web architectural components: URI & HTTP.

Representational State Transfer

  • Key data abstraction is "The Resource".
  • A resource is any information that can be named Documents, images, services, people, collections, etc.
  • Resources have state that may change over time.
  • Resources have identifiers (constraint).
  • A resource should be important enough to be referenced.
  • Resources expose a uniform interface (constraint).
  • It simplifies system architecture and improves visibility.
  • It encourages independent evolvability of implementations.
  • On request, a resource can transfer a representation of its state to a client.
  • It requires client-server architecture (constraint).
  • A client can send a proposed representation to a resource.
  • Resources are manipulated through representations (constraint).
  • Representations returned from servers link to application state, allowing clients to follow links and assume a new state.
  • Hypermedia is the engine of application state (constraint):
  • Implies that each client-to-server request contains all info to understand the request and cannot use stored context.
  • Standard media types, meta-data and control-data are used.
  • Uniform interface + Stateless + Self-descriptive = Cacheable (constraint).
  • Cacheable necessitates a layered-system (constraint).

Summary of REST Constraints

  • Client-Server enables separation of concerns, simplicity, scalability, and evolvability.
  • Statelessness enables scalability, reliability and visibility
  • Cacheable property enables scalability and performance.
  • Uniform Interface allows for simplicity, evolvability and visibility.
  • Layered System enhances scalability, security and legacy integration.
  • Identification of Resources has simplicity and scalability if required by uniform interface
  • Manipulation via representation enhances the Evolvability if Required by uniform interface
  • Self-descriptive messages are required by stateless, cacheable, uniform interface, and layered system
  • Hypermedia as the engine of application state enables scalability, reliability, evolvability, performance, and the uniform interface

Why have Constraints

  • Distributed systems must be based on a shared model
  • "There are irreconcilable differences between local and distributed computing"
  • The Eight Fallacies of Network Programming:
    • The network is reliable
    • Latency is zero
    • Bandwidth is infinite
    • The network is secure
    • Topology doesn't change
    • There is one administrator
    • Transport cost is zero
    • The network is homogeneous
    • The constrained systems emphasize simplicity and awareness of the system's contect
    • Constraints are the realization of design goals.
    • Unconstrained distributed systems are difficult to use, brittle, unreliable, and of marginal utility

REST: The Answer

  • REST is a coordinated set of architectural constraints that attempts to minimize latency and network communication while maximizing independence and scalability of component implementations.
  • The caching and reuse of interactions, dynamic substitutability of components, and processing of actions by intermediaries, thereby meets the needs of internet scale distributed hypermedia system.

REST Claims

  • REST is simplicity
  • Caching improves response time and reduces server load
  • Less communication state enables easier load balancing between servers
  • Less specialized software can exist because the underlying technologies are simpler
  • Identification is done using standard mechanisms, no additional names necessary
  • The principles emphasizes the correct and complete use of HTTP protocol to publish services on the Web
  • REST over HTTP provides lightweight and layered mechanisms for data and service integration
  • REST with HTTP protocol provides a distributed, hypermedia-driven application platform

Conclusions

  • REST defines a set of constraints for distributed systems that achieve:
    • Simplicity
    • Scalability
    • Modifiability
    • Performance
    • Visibility (to monitoring)
    • Portability
    • Reliability
  • A system that exhibits all defined constraints is RESTful.
  • Systems can add or relax constraints but may be more/less RESTful after.
  • REST is a style, not laws or specifications

Using HTTP to Build Applications

  • Standard protocols involved:
    • HTTP 1.1 aka RFC 2616 or URIs: RFC 3986
    • Media Types (multiple RFCs, IANA)
    • MIME: RFCs 2045/2046

Using HTTP to Build REST applications

  • What HTTP is not:
    • Inevitable
    • Archaic
    • Poorly Designed
    • Something to be suffered through
    • A transport protocol
    • The answer to everything
  • What HTTP is:
    • Purposefully Designed
    • REST conformant
    • Frequently abused
    • Wildly successful
    • An application protocol

HTTP: A Recap

  • Stateless, client/server, request/response application protocol.
  • Clients request information, servers respond.
  • Clients use four main operations (uniform interface)
    • GET, POST, PUT, DELETE
  • HTTP Requests are sent to an addressable URI
  • Requests/Responses are envelopes
  • Headers are followed by a resource - if any (self-descriptive).

Format of http Messages

  • Same format for request and response
  • Human readable characters

HTTP Requests

  • HTTP requests contain a request line structured in a specific format.
  • HTTP requests set a host name.
  • May state what type of connections or agent is available.
  • It may also express which languages are permitted

HTTP Response

  • Responses contain connection information
  • The type of server
  • A date and the last modified data
  • It also states the size and type of sent data

Anatomy of HTTP Get

  • The request line contains GET, POST and HEAD methods
  • The request line is the status line that contains protocol, status code, and status phrase.
  • There are also headers that contain request, response, general and entity types.

The REST Recipe for building REST applications

  • Find all the nouns
  • Define the formats
  • Pick the operations
  • Highlight exceptional status codes

Find all the nouns

  • Everything in a RESTful system is a resource
  • Every resource has a URI
  • URIs should be descriptive
  • URIs should be opaque
  • URIs should be cool

Using HTTP to Build REST Applications Considerations

  • Use path variables to encode hierarchies.
  • Use other punctuations to avoid implying hierarchies.
  • Use query variables to imply inputs into algorithms.
  • URIs with query variables are often ignored by caches.
  • URI space is infinite but URI length is limited to ~ 4K.
  • Do not leak platform information.

Sample Web API Design

  • Sample Application with a simple expense reporting system
  • There should be Web APIs
  • It needs to allow to create, edit and delete
  • There should be different views on the data
  • Users should be able to authenticate
  • User shouldn't considered as resources
  • Authentication should be possible

Sample Application for web API: resources (not an exhaustive list)

  • Bill's Expense Reports: /users/bill/expenses
  • Expense Report Number: /users/bill/expenses/123
  • All expense reports: /expenses/
  • Pending expense reports: /expenses;pending
  • Bill's pending expense reports: /users/bill/expenses;pending
  • Expense 123's line items: /users/bill/expenses/123/line_items
  • Link item 2 of Expense 123: /users/bill/expenses/123/line_items/2
  • 2006 Expenses: /2006/expenses/
  • 2006 Open Expenses: /2006/expenses;submitted

HTTP Operations

HTTP has a constrained user interface (set of verbs/operations/methods)

  • GET
  • POST
  • PUT
  • DELETE
  • HEAD OPTIONS (not widely supported)
  • TRACE (not significant)
  • CONNECT (not significant)
  • All will support GET

HTTP Methods

METHOD CACHE SAFE IDEMPOTENT
OPTIONS can be cached is safe
GET cached is safe is idempotent
HEAD cached is safe is idempotent
POST
PUT is idempotent
DELETE is idempotent
TRACE is idempotent

PUT vs POST

  • When creating new resources, Use POST if the server chooses the URI.
  • Use PUT if the client chooses the URI.
  • POST does "something" and returns "something" (Usually masking an RPC call, or "overloaded POST")
  • Don't use casually (process this" POST sometimes valuable
  • Resource factories is an example of something that are valuable to POST
  • Sometimes you just want a verb
  • Reexamine you design to see if it can´t retrieved with GET
  • You get it out of a design Jam

HTTP Response Status Codes

The response status code is generated by the server to indicate the outcome of a request. The status code is a 3-digit number:

  • 1xx (Informational): Request received; server is continuing the process.
  • 2xx (Success): The request was successfully received, understood, accepted and serviced.
  • 3xx (Redirection): Further action must be taken in order to complete the request.
  • 4xx (Client Error): The request contains bad syntax or cannot be understood.
  • 5xx (Server Error): The server failed to fulfill an apparently valis request. Proper identification of status codes associated with a request is a crucial decision in REST development

Web API Sample Application

Below are the Methods, Business Operations and Return codes

URI | Method | Business Operation | Return Codes

  • -- | --- | --- | --- /users/{uname}/expenses | POST | Create new expense header | 201, 400, 409, 404, 415, 405 /users/{uname}/expenses/{rep_id} | POST, PUT, DELETE | Add line items, Update expense header, Delete expense header and line items | 201, 400, 409, 404, 415 /users/{uname}/expenses/{rep_id}/line_items/{item_id} | PUT, DELETE | Update line item Delete line item | 204, 400, 409, 404, 415, 405

Content Negotiation

Defining data formats

  • Neighter HTTP nor REST mandate a single representation for data
  • A resource may have multiple representations -XML, JSON, binary, name/value pairs
  • Schema Languages are not required (if even possible)
  • Representations should be well-knowne media types (IANA registered MIME types) Try and user "ump-stack" media types
  • Make you resources maximally accessible JSON instead of lower lebel binary formats like Protocol Buffers or MessagePack
  • XHTML instread of vanilla XML You won't always be able to do this, but you should try

Using "up-stack" media types can have several advantages:

  • Higher level media types can be more widely understood inter preted by different clients and servers.
  • They are often based standards designed for human readability.
  • Debugging is easier due to the humean-readable format.
  • Information included types makes it easer to understand for its purpose.
  • By abstracting away lower level simplicity the impilmenttion complexity is reduce More documented

XHTML

  • XML parseable.
  • More accessible.
  • Has useful constructs.
  • Graceful degradation from the client.
  • Attributes provide the necessary value.
  • Consider honoring stylesheets, browsers, and otherwise.

Sample Application with Web API: defining formats

  • Expenses (a collection of Expense Reports):
  • Will be presented as a list
  • Summary data: report id, submitter, total status, link to details.
  • Needs a format that presents a list of links.

Better Formats for APIs

  • Even better (tables are understood by spreadsheets)
  • More on formats
  • Extends XHTML to give semantic meaning to HTML tags.
  • Extensions done with certain attributes:
    • i.e class, rel, rev
  • Formal microformats exist: http://microformats.org/ geo: latitude and longitude hCard: contact information a dozen more
  • Often contrasted with the Semantic Web: RDF/OWL simpler leverages existing content
  • Strongly encouraged to use XHTML
  • representations with official or custom microformats. Example: GeoRSS

HTTP to built REST Applications

  • Define the formats straight in XML
  • A simple expense item and simple expense report

Caching to built REST Applications

  • Caching reduced latency and network traffic
  • Only non-SSL GET is cached
  • Two kinds of caches Browser (user agent) Proxe
  • Lachish sit Really should use a caching proge You may and not even know it Remember there can be cases All Long dewe

Cache control Header

  • Expies =HTTP date Hold tall expiry
  • Cache-Control: hold for the amount of time
  • Cache_Control: Max age = second
  • Cache Control: proxy public = Cacheable even If authentication is required
  • Cache Control: public
  • Don't store the cache - no cache Control Validate

Use Conditional GET's to built rest application

  • Give a resouce for the client

Asynchronouse operationes using HTTP

  • Example processing A check (queue)
  • The Cut process request an espense(job)
  • Is expose throw Queue API

Designing REST APIs to poll job queue

  • Poll job resource for status, using GET

REST Service characteristics

  • The web it's self is amazingly open, Scalable extensible and easy to undersrand, so take advantage.
  • openness allows new technologies to be introduced
  • Scaleblitty ensures that the system does not contain Bottlenecks
  • extensibility allows the Web to evolve without any redesign of existing parts.
  • It Simplicity makes sure that the system survives and evolves.

Web Services

-Web serves provide servcies that can uploaded and subbmited to the API

  • To handle complex iteractions for Web serveices more operations may Be requried

  • Example authoring HTTP methods to do define additional functions for data transferal.

  • Use to built resources and make application in RESTful Way

  • Resource must identified by URIs and used.

State: Representing application information and memory

  • Stateful data should not be made specific on the connections, but rather transfreed as client information to be processed by the API
  • It Loose couplings for API reduce the need to store API information

State of data

  • Each resouce request happens in isolation. So applications must maintain there state
  • API Should not rely on user requst to mainit the state, it most use API for handling the state

Statelessness

  • The applition should be load-balanced

Commin of Rest

  • There common REST apicactions That is a reimplement implementation
  • Htppermedia
  • The data must been
  • The nouns should all Be based on the current on Load
  • REST is be defined in the following elements
  • Content types
  • the REST should be be to semantic

Hypermedia to build RestApis

  • hyper media application should be the engine of application
  • servers shiuold must maintain resource state
  • following a lick is a data transation
  • the clien be allowed to used it own state
  • there should a guides for client of data.

Clients APIs

  • -clients should one provide links the provide to there server
  • Links Must Be
  • classified
  • the the points will also allow the loss couplings between client and servers.
  • exmamples in diffrent versions and formats.
  • Links classified to know where the link points

  • Helps to loosen couplings

  • Media to send

  • Must also to see this

  • The hyperMedia representation is the interface

  • the link must has been of the current

  • If is of

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

Description

Explore Service-Oriented Architecture (SOA) and its role in cloud computing. Understand web services architecture, including service providers, brokers, and requestors. Learn about the concept of Everything as a Service (XaaS).

More Like This

Use Quizgecko on...
Browser
Browser