Computer Science 441

Principles of Distributed Systems

Gregory M. Kapfhammer


flickr photo shared by Patrick Brosset under a Creative Commons ( BY-NC ) license

Color Scheme

Key Concept

Corresponding Diagram

In-Class Discussion

In-Class Activity

Details in the Textbook

Distributed web-based systems

Document based to service based

Uniform resource locator

HTTP

HTML

XML

Markup language

Static Web site

Dynamic Web site

CGI programs

See Figure 12-3 for more details!

Static site generators

What are the trade-offs?

We can build distributed applications using the Web!

Web services

See Figure 12-4 for more details!

UDDI

Universal

Description

Discovery

Integration

WSDL

Web

Service

Description

Language

SOAP

Simple

Object

Access

Protocol

Web Services

Identification

Composition

Coordination

Communication

Web browser organization

Web server organization

Apache Web server

MIME types

Apache server modules

mod_rewrite

Web server clustering

Content-aware clustering

Prefetching by the Web server

Remote methods

HTTP is based on TCP

Why not assume the use of UDP?

Persistent connections

Non-persistent connections

Pipelined requests

What are the trade-offs?

HTTP methods

head

get

put

post

delete

Can you find a live URL using these?

HTTP messages

400: Bad request

403: Forbidden

404: Not found

Can you find a live URL returning one of these?

XML-based SOAP messages

See Figure 12-14 for more details

Uniform resource locators

See figure 12-16 for more details

WebDAV

Distributed

Authoring

and Versioning

Lock, create, delete, copy, move when synchronized

When would you need synchronization in Web servers?

Consistency and replication in web-based systems

Hierarchical caching

Cooperative (distributed) caching

Content delivery networks

Examples of CDN providers?

Why would we use a CDN?

Edge servers

Flash crowd prediction

Security in web-based systems

Secure socket layer

Transport layer security

Can you find a secure Web site?

Where does TLS fit in the protocol stack?

See Figure 12-22 for more details

Any questions about web-based systems?