Advanced Web Engineering Flashcards
What is the 3-tier application architecture of Web Applications?
Layer 3) Presentation layer: Browser/Mobile Apps, developed in HTML/CSS and JavaScript
Layer 2) Business Logic: Web Servers, Web Services (either Service oriented or Resource Oriented)
Layer3) Data Access (communicates with database)
What is HTTP?
Hyper Text Transfer Protocol.
Stateless Application protocol for data transfer across network. Has a simple request/response paradigm.
- Client etablishes connection to server via TCP
- Client sends request
- Server processes request and returs response
- Connection is closed or kept alive
What are some HTTP methods?
- GET: Request specified resource (Website, Image, …)
- HEAD: Same as GET but only header metadata
- POST: Submit data to be processed to identified resource
- PUT: Upload represenation of specified resource
- DELETE: Delete specified resource
- TRACE: Track changes or additions
- OPTIONS: Returns method support for specified resource
- CONNECT: Convert request connection to transparent TCP/IP tunnel
- PATCH: Apply partial modification to specified resource
Save: HEAD, GET; OPTIONS; TRACE
Idempotent (identical requests have same effect as single request): PUT; DELETE
What are some JavaScript Features?
- Dynamic typing
- Object based
- Functional
- JSON syntax for object creation
- Regular expression as tool for text manipulation
What is JavaScript Ajax?
- Asynchronous JavaScript and XML
- Asynchronous data transfer between browser and server
- React on data with callback functions
- Simulate desktop app behaviour for Web Apps
- No site refresh necessary for data loading
What is a Web Service?
A software system designed to support interoperable machine-to-machine interaction over a network. Other systems may interact with the web service over a prescribed pattern (API)
For example: Up-to-date weather information
- Hides implementation behind interfaces
- Self-contained
- Platform independent
Differences simple and complex Web Services?
- Simple:
- -> Information request
- -> Stateless
- -> Communication via request-response patterns
- Complex:
- -> Stateful
- -> Multi-step operations
- -> Aggregate compose or invoke other serivces
What is the Service Oriented Architecture?
- All functionalities are exposed as services
- Well-defined functionalities are built as software components that can be reused for different purposes
- Can have very complex services
- Complex type of architecture
- Requires a lot of planning to be done well
- Services are self-contained and independent
- Communicate by exchanging messages
- Communication via SOAP
- Web Services accessed via Web Service Description Language (WSDL)
What is a Resource Oriented Architecture?
- Each Resource of application directly accessible via a resource based interface (Manipulate data directly)
- Expose via URIs
- Simple architecture style
What is WSDL? How does it work?
- Web Service Description Language
- Define interface (set of operations) of a service
- XML-based markup language
What is SOAP? How does it work?
- XML based protocol to invoke Web Services
- Usually runs over HTTP
What is the UDDI?
- XML based online registration of Web Services
- Communication via WSDL
- Description of the web service
- Physical address of the web service
- Technical details (link to WSDL file)
How does ROA work?
- Resources identified by some sort of address
- Retrieve resource via statless request
- A resource is anything that is ipmortant enough to be referenced as a thing itself
What is REST?
Represenational State Transfer:
- Modeling interaction via HTTP verbs and resource identifiers
- Uniform interface, instead of SOAP interface where every function may be arbitrary
- E.g:
- -> GET: List the URIs of the collection’s member
- -> PUT: Replace the entire collection with another
- -> POST: Create a new entry in a collection
- -> DELETE: Delete collcetion, or single element