Software and systems engineering
Paulo Borba
Informatics Center
Federal University of Pernambuco
phmb@cin.ufpe.br ◈ twitter.com/pauloborba
Evaluation of the configuration management class
•
Only 20 answers (but better than previous classes)!•
"mostrar o uso criando um repositório na aula…”•
"Uso do Google Classroom para tirar dúvidas…”•
"O estilo da aula foi diferente… Ainda tenho que me acostumar."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 developmentSoftware 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 serviceClient-server architecture
http://www.flickr.com/photos/29712319@N02/3272870058/
Client-server structure and behavior
Client (firefox)
Server (rgms.com) Client
(safari)
Internet
requests replies
Pattern principles
•
Separation of concerns between clients and servers•
Separates functionality and processing place•
Different interfaces for each serverClient-server
communication protocols
Client (firefox)
Server (rgms.com) Client
(safari)
Internet
TCP/IP HTTP
GET http://hostname:port/resource_path?query_terms POST http://hostname:port/resource_path
GET http://rgms.com:80/rgms/periodico/search?inst=ufpe&year=2014 POST http://localhost:8080/rgms/book/show/1
Exploring the protocols and architecture
•
Simulating state with cookies•
Simulating Server Push with Client Pull and pollingHTML
Client (firefox)
Server (rgms.com) Client
(safari)
Internet
TCP/IP HTTP
POST http://localhost:8080/rgms/book/show/2
HTML for service
invocation
HTML for service
result… and invocation!
CSS
HTML
defines as visual attributes file
references page elements
3-Tier architecture
Client (firefox)
Server (rgms.com) Client
(safari)
Internet
Web server Application
server Database
Presentation tier Logic tier Persistence tier
Controller 1
Controller 2
Controller n
Views 11Views
1
Views 11Views
2
Views 11Views
n Model
1
Model n Model
2
Model- View-
Controller
architecture
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 itTemplate Views
Checklist
•
Architectural rules are strictly followedSaaS research at CIn
•
Cloud and distributed architectures: Kiev, Vinicius, Castor•
Specification of distributed architectures:Alexandre Mota, Augusto
Software and systems engineering
Paulo Borba
Informatics Center
Federal University of Pernambuco
phmb@cin.ufpe.br ◈ twitter.com/pauloborba