Software and systems engineering
Paulo Borba
Informatics Center
Federal University of Pernambuco
phmb@cin.ufpe.br ◈ twitter.com/pauloborba
Evaluation of the SaaS architecture class
•
Only 8 answers!•
"Na verdade, não é bem uma sugestão, é mais um comentário sobre hoje, mas a maneiraque essa aula foi dada (dando os tópicos mais básicos de uma maneira geral e enfatizando e aprofundando mais as partes onde os alunos se mostraram com dúvida) foi algo bem
interessante.”
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 developmentController 1
Controller 2
Controller n
Views 11Views
1
Views 11Views
2
Views 11Views
n Model
1
Model n Model
2
Model- View-
Controller
architecture
Template Views
Views: Groovy Server Pages
•
Templates used to generate the HTML pages shown by the system•
Formed by mixing•
HTML elements and attributes•
Grails tags (execute commands or generate HTML elements)•
Groovy codeGSPs references
controllers, actions,…
using controller defined by the file hierarchy where this
code is
and parameters coming from controllers and
previous request
Referencing controllers
with forms
Controllers receive arguments from requests, manipulate
models, and render and pass arguments to views
renders view (in specific directory associated to the controller) with
the same name as the action
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
Controllers render non
default views, sets flash and session, and redirects to
another action
Controllers respond to requests in different
response formats…
implicit model name for the first argument:
residueInstanceList
or request formats
Grails architecture
Models are Groovy classes, with
constraints….
and other GORM
annotations
Dúvidas? Pergunte!
• Dúvidas de onde atirar: mensagem para a lista, post, livro
• Dúvidas de como atirar e o que fazer…
• problema de instalação: seguir roteiro à risca, ver detalhes de conf. da máquina; msg para a lista; stackoverflow; web
• problema de sintaxe: gramática, manual
• erro de execução-problema semântico: copiar msg de erro no google; depurar; manual; msg para lista com todo o
contexto, instalação, etc. detalhe para reproduzir o bug
Looking for information
https://jira.grails.org/browse/GRAILS-10721
instancelist grails
http://stackoverflow.com/questions/
22601188/grails-controller-rendering-method- render-vs-respond
http://grails.github.io/grails-doc/2.4.3/ref/
Controllers/respond.html http://grails.github.io/grails-doc/2.4.3/
Checklist
•
Code clarity and legibility•
Use of advanced Groovy features•
AbstractionLanguage research at CIn
•
Functional languages: André, Castor•
Aspect-oriented languages: Henrique, Paulo•
DSLs: AndréSoftware and systems engineering
Paulo Borba
Informatics Center
Federal University of Pernambuco
phmb@cin.ufpe.br ◈ twitter.com/pauloborba