DOC PREVIEW
MSU CSE 870 - Hypertext transfer family of protocols

This preview shows page 1-2-15-16-31-32 out of 32 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 32 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 32 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 32 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 32 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 32 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 32 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 32 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

Hypertext transfer family of protocols (HTTP, HTTPS, SOAP) CSE 870 Miniproject on FrameworksAdvanced Software EngineeringContact: Dr. B. Cheng, chengb at cse dot msu dot eduMatt GerberAdithya KrishnamurthyAgenda• Overview of Protocols• Overview of Frameworks• Class diagrams• Design pattern used• State diagrams• Demo• ConclusionsOverview of Protocols - HTTP• Request/Response protocol: Client or User Agent (UA) initiates arequest and a server responds.• HTTP Message elements– Message Types: Request or Response– Message Headers: field-name ":" [ field-value ]Example: Content-Type: text/html– Message Body: payload associated with request or response.– Message Length: Length of the message body.– General Header Fields: Cache-Control, Date, Pragma, Transfer-Encoding• Request– Request Line: Method Request-URI HTTP-Version CRLFExample: GET http://www.msu.edu/index.html HTTP/1.1• Response– Status Line: HTTP-Version Status-Code Reason-Phrase CRLFExample: HTTP/1.1 206 Partial contentOverview of Protocols - HTTPS• Secure message-oriented protocol that works in conjunction with HTTP• Secure wrapper around unsecure HTTP message - HTTP over SSL• HTTPS Message elements– Same as those of HTTP except the range of headers is different and the bodies are cryptographically enhanced.• Request– Request Line: Secure * Secure-HTTP/1.4• Response– Status Line: HTTPS-Version Status-Code Reason-Phrase CRLFExample: Secure-HTTP/1.4 200 OK • Message Authenticity Code (MAC)– Used to verify message integrity and sender authenticity– MAC = hex(H(Message||[<time>]||<shared key>))Overview of Protocols - SOAP• SOAP stands for Simple Object Access Protocol• XML based protocol to let applications exchange information over HTTP• SOAP is platform and language independent• SOAP Message elements:– Envelope element: <soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope">– Header (Optional): <soap:Header>… </soap:Header>– Body:<soap:Body> <x>5</x></soap:Body>Agenda• Overview of Protocols• Overview of Frameworks• Class diagrams• Design pattern used• State diagrams• Demo• ConclusionsOverview of Frameworks• Inheritanceclass Fruit { //... } class Apple extends Fruit { //... }• Compositionclass Fruit {//... } class Apple { private Fruit fruit = new Fruit(); //... }Overview of Frameworks• Whitebox Framework– Only abstract classes in framework with no implementation– Lays down the control flow and structure of the system (Lowest Common Denominator approach)– Implementation of framework based on inheritance– Most flexible but hardest to understand and implementFrameworkImplementationOverview of Frameworks• Graybox Framework– Combination of abstract and concrete classes in framework– Some common implementation moved back to framework classes– Implementation of framework based on inheritance and composition– Less flexible but easier to understand and implement than WhiteboxFrameworkImplementationFrameworkImplementationOverview of Frameworks• Blackbox Framework– Mostly concrete classes in Framework– Most of common implementation moved back to framework classes– Implementation of framework based on composition– Least flexible but easiest for clients to understand and implement.FrameworkImplementationAgenda• Overview of Protocols• Overview of Frameworks• Class diagrams• Design pattern used• State diagrams• Demo• ConclusionsWhitebox Class diagram -FrameworkWhitebox Class diagram -ImplementationWhitebox Class diagram -ImplementationGraybox Class diagram -FrameworkGraybox Class diagram -ImplementationBlackbox Class diagram -FrameworkBlackbox Class diagram -FrameworkBlackbox Class diagram -ImplementationAgenda• Overview of Protocols• Overview of Frameworks• Class diagrams• Design pattern used• State diagrams• Demo• ConclusionsDesign pattern used• Template Method– Design pattern that defines the program skeleton of an algorithm.– Algorithm itself is concrete but the methods that are called from it need not be.– Subclasses can override the methods called from the algorithm but not the algorithm itself.– Therefore the subclasses provide the concrete behavior that can vary and the general flow is determined by the template method.Design pattern used• Template Method*HW5HVSRQVH%XLOG5HTXHVW*HW5HVSRQVH7\SH5HTXHVW%XLOG5HTXHVW*HW5HVSRQVH7\SH+7735HTXHVWRSHQ FRQQHFWLRQ&RQQHFWLRQ 2SHQVHQG UHTXHVWUHTXHVW %XLOG5HTXHVW&RQQHFWLRQ :ULWH UHTXHVWUHDG UHVSRQVHUHVSRQVH &RQQHFWLRQ 5HDG7R(QGJHW WKH W\SH RI UHVSRQVH G\QDPLFDOO\UHVSRQVH7\SH *HW5HVSRQVH7\SHUHVSRQVH7\SH QHZ UHVSRQVH)UDPHZRUN,PSOHPHQWDWLRQAgenda• Overview of Protocols• Overview of Frameworks• Class diagrams• Design pattern used• State diagrams• Demo• ConclusionsState DiagramsState DiagramsState DiagramsState DiagramsState DiagramsAgenda• Overview of Protocols• Overview of Frameworks• Class diagrams• Design pattern used• State diagrams• Demo• ConclusionsAgenda• Overview of Protocols• Overview of Frameworks• Class diagrams• Design pattern used• State diagrams• Demo• ConclusionsConclusions• There are 3 different kinds of frameworks!• Client perspective must be considered while designing frameworks.• Tradeoff is between ease of use and flexibility.• Using design patterns in frameworks is a good thing!Thank


View Full Document

MSU CSE 870 - Hypertext transfer family of protocols

Documents in this Course
HW2

HW2

3 pages

splc1

splc1

21 pages

Lessons

Lessons

3 pages

revision

revision

13 pages

ft1

ft1

12 pages

john.dsn

john.dsn

21 pages

Survey

Survey

2 pages

revision

revision

38 pages

Load more
Download Hypertext transfer family of protocols
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Hypertext transfer family of protocols and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Hypertext transfer family of protocols 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?