程序代写 Web Applications: Architecture

Web Applications: Architecture
Computer Science and Engineering  College of Engineering  The Ohio State University

Road Map in Pictures: Web App

Copyright By PowCoder代写 加微信 powcoder

Computer Science and Engineering  The Ohio State University

Road Map in Pictures
Computer Science and Engineering  The Ohio State University
Web Server

Road Map in Pictures
Computer Science and Engineering  The Ohio State University
Web Server
JavaScript

Road Map: Schedule of Topics
Computer Science and Engineering  The Ohio State University
Foundations
Version Control, Networking, Regular Expressions
A Language web pages HTML & CSS
Dynamic web pages JavaScript
Framework for web applications Rails
Applied Topics Security, Encodings

Technical Content
Computer Science and Engineering  The Ohio State University
Languages and Technologies
XML, HTML, CSS, JavaScript Ruby, Ruby on Rails
Tools and techniques
Design patterns (MVC)
git, linux
Regular expressions, unicode, system time
Advanced topics
Programming languages, networking, cryptography, databases, operating systems

Stability of Content: Concepts
Computer Science and Engineering  The Ohio State University
      
Conceptual underpinnings will be
relevant forever
In this course:
Single-point of control over change Abstraction (vs realization)
Design patterns
Regular Expressions (the math part) Cryptography (the math part) Motivation for version control Time-space performance trade-offs

Stability of Content: Technology
Computer Science and Engineering  The Ohio State University
     
Some technologies have been around a long time, and will likely be relevant for many more years
Examples in this course:
HTTP HTML CSS JavaScript

Stability of Content: Tools
Computer Science and Engineering  The Ohio State University
Some tools come and go
They are useful for getting things done now, but may not be as relevant or fashionable in 10 years
Examples in this course

Stability of Content: Framework
Computer Science and Engineering  The Ohio State University
There are many frameworks and libraries for web development
They come and go so quickly, there is always something new
Web frameworks like Rails, Express.js… Ruby gems like Middleman, Nokogiri, Cucumber, devise, HTTParty… JavaScript libraries like Angular, React HTML/CSS libraries like Bootstrap, Baseline, Foundation…

Architecture: Desktop App
User Interface
Computer Science and Engineering  The Ohio State University
Graphical events (mouse moves, button pushed)
Processing, Calculating
Persistence, Transactions, Triggers
Application

Client-Server App: 2-Tier
Computer Science and Engineering  The Ohio State University
Where should we cut?
Ultra-thin client (aka “dumb terminal”)
[X11, RDP, character echo from mainframe]
User Interface
UI on client, processing just for display [browser rendering static HTML]
Some processing on client
[validate form fields before submission]
Application
Thick client: connect directly to DB mngr [native look & feel]
Cache data on client
[responsiveness, less network congestion]

Basic Web App Skeleton: 3-Tier
Computer Science and Engineering  The Ohio State University
User Interface
http HTML, CSS, Javascript Application

Advantages over Thick Clients
Computer Science and Engineering  The Ohio State University
Performance
1 (expensive) network call to app layer results in many calls to data layer Compute-intensive part on faster machine
Flexibility
Update app logic without changing client
Robustness
Transactions, logging at app level
Login, authentication, encryption all better at app level than data level

Web App Skeleton: 4-Tier
User Interface
Presentation Layer Business Logic
Computer Science and Engineering  The Ohio State University

Web App Skeleton: n-Tier…
User Interface Caching
Presentation Layer Workflow
Business Logic
Computer Science and Engineering  The Ohio State University

Computer Science and Engineering  The Ohio State University
Technical aspects of course content
Many different web technologies Rapidly evolving landscape
2-, 3-, 4-, n-Tier Architectures

程序代写 CS代考 加微信: powcoder QQ: 1823890830 Email: powcoder@163.com