Software and systems engineering Paulo Borba Informatics Center Federal University of Pernambuco
[email protected] ◈ twitter.com/pauloborba
Evaluation of the configuration management class
• Only 22 answers (28 for the first class)! • "Mesmo que todos tenham lido o capítulo, seria uma boa … dar um resumo”
• ''uma revisão do workflow com a participação dos alunos”
• "prática... É melhor do que só ir pelo slide. • "ela poderia ter sido mais pratica, e os materiais centralizados”
Class structure • Check previous activities • Log into google with your CIn account • Access and answer today’s questions (…) • Discuss class material
• what haven’t you understood? what don’t you agree? what haven’t you liked? what are you missing to perform the project task?
• Hands-on application development
Software as a Service (SaaS) • Delivers software and data as a service over the Internet
• No need to install applications • No need to backup or share data • Easier to improve the service
Client-server architecture
http://www.flickr.com/photos/29712319@N02/3272870058/
Client-server structure and behavior Client (firefox) Server (rgms.com)
Internet Client (safari)
requests
replies
Pattern principles • Separation of concerns between clients and servers
• Separates functionality and processing place • Different interfaces for each server
Client-server communication protocols GET http://rgms.com:80/rgms/periodico/search?inst=ufpe&year=2014 POST http://localhost:8080/rgms/book/show/1
Client (firefox)
HTTP Internet
Client (safari)
Server (rgms.com)
TCP/IP
GET http://hostname:port/resource_path?query_terms POST http://hostname:port/resource_path
Exploring the protocols and architecture • Simulating state with cookies • Simulating Server Push with Client Pull and polling
HTML POST http://localhost:8080/rgms/book/show/2
Client (firefox)
HTTP Internet
Client (safari)
TCP/IP
Server (rgms.com)
HTML for service invocation
HTML for service result… and invocation!
CSS references page elements
HTML
defines as visual attributes file
3-Tier architecture Client (firefox) Server (rgms.com)
Internet Client (safari)
Web server
Presentation tier
Application server
Logic tier
Database
Persistence tier
ModelViewController architecture
Controller 1
Controller 2
Controller n
Model 2
Model 1 Views Views 1 1 1
Views Views 1 1 2
Model n Views Views 1 1 n
Routes and REST • Maps between URI and HTTP method
(GET, POST, etc.) to controller and action
• Web application entities are viewed as resources
• HTTP requests then identify resource and the action to be performed on it
Template Views
Software and systems engineering Paulo Borba Informatics Center Federal University of Pernambuco
[email protected] ◈ twitter.com/pauloborba