NOVL - Naked Objects View Language - Apresentação InfoBrasil 2012
-
Upload
marcius-brandao -
Category
Technology
-
view
1.758 -
download
8
Transcript of NOVL - Naked Objects View Language - Apresentação InfoBrasil 2012
![Page 1: NOVL - Naked Objects View Language - Apresentação InfoBrasil 2012](https://reader034.fdocuments.net/reader034/viewer/2022042715/559e65a81a28ab54568b45fd/html5/thumbnails/1.jpg)
Marcius Gomes Brandão (UECE)
Mariela Inês Cortés (UECE)
Ênyo J. T. Gonçalves (UFC)
![Page 2: NOVL - Naked Objects View Language - Apresentação InfoBrasil 2012](https://reader034.fdocuments.net/reader034/viewer/2022042715/559e65a81a28ab54568b45fd/html5/thumbnails/2.jpg)
Agenda
Introdução
NOVL
Estudo de caso
Considerações finais
![Page 3: NOVL - Naked Objects View Language - Apresentação InfoBrasil 2012](https://reader034.fdocuments.net/reader034/viewer/2022042715/559e65a81a28ab54568b45fd/html5/thumbnails/3.jpg)
![Page 4: NOVL - Naked Objects View Language - Apresentação InfoBrasil 2012](https://reader034.fdocuments.net/reader034/viewer/2022042715/559e65a81a28ab54568b45fd/html5/thumbnails/4.jpg)
Introdução
Tempo é dinheiro
O mercado é competitivo
Necessidade de ferramentas de alta produtividade
Mais e mais sistemas sendo desenvolvidos com abordagem
orientada a objetos (TIOBE.COM,2012)
![Page 5: NOVL - Naked Objects View Language - Apresentação InfoBrasil 2012](https://reader034.fdocuments.net/reader034/viewer/2022042715/559e65a81a28ab54568b45fd/html5/thumbnails/5.jpg)
Naked Objects Pattern
Arquitetura padrão em 4-camadas Arquitetura com Naked Objects
O problema : quando os requisitos
mudam, geralmente temos que
propagar essas alterações
manualmente para as outras três
camadas (LÄUFER,2008).
Alterações no domínio se propagam
automaticamente para a interface do
usuário e as camadas de persistência
(PAWSON,2008).
![Page 6: NOVL - Naked Objects View Language - Apresentação InfoBrasil 2012](https://reader034.fdocuments.net/reader034/viewer/2022042715/559e65a81a28ab54568b45fd/html5/thumbnails/6.jpg)
Princípios do Naked Objects Pattern
Toda a lógica de negócio deve ser encapsulada nos objetos
de domínio
A interface de usuário deve refletir completamente os
objetos de domínio
a criação da interface de usuário deve ser inteiramente
automatizada a partir dos objetos de domínio
PAWSON,2002
Muitos dos serviços exigidospelas aplicações de negóciospodem ser implementadas
genericamente
![Page 7: NOVL - Naked Objects View Language - Apresentação InfoBrasil 2012](https://reader034.fdocuments.net/reader034/viewer/2022042715/559e65a81a28ab54568b45fd/html5/thumbnails/7.jpg)
Vantagens do Naked Objects
ARUANA,2010
O usuário é um solucionador
de problemas e não um
seguidor de processos
Grande agilidade
Interface de usuários
mais poderosa
Fácil análise de requisitos
Rápido ciclo de
desenvolvimento
![Page 8: NOVL - Naked Objects View Language - Apresentação InfoBrasil 2012](https://reader034.fdocuments.net/reader034/viewer/2022042715/559e65a81a28ab54568b45fd/html5/thumbnails/8.jpg)
Frameworks que implementam NOP
Naked Object–MVC
.NET,web, proprietário
www.nakedobjects.org
JMatter
Java, desktop, proprietário
www.jmatter.org
Apachi ISIS
Java, Open Source,em construção
incubator.apache.org/isis
Entities
Java, web, free
entitiesframework.blogspot.com
Sanssouci
Java, desktop,documentação?,ativo?
freshmeat.net/projects/sanssouci
Trails
Java, web, documentação?,ativo?
www.trailsframework.org
TrueView
.NET, proprietário,doc?,ativo?
www.evolving-software.co.uk
Domain Object Explorer
Java, free, desktop, ativo?
java.net/projects/doe/pages/Home
![Page 9: NOVL - Naked Objects View Language - Apresentação InfoBrasil 2012](https://reader034.fdocuments.net/reader034/viewer/2022042715/559e65a81a28ab54568b45fd/html5/thumbnails/9.jpg)
CriticismoAdequado para aplicativos soberanos[1], mas não para transientes[1][2]
[1]Aruana,2010 [1]Cooper,2007
vs
![Page 10: NOVL - Naked Objects View Language - Apresentação InfoBrasil 2012](https://reader034.fdocuments.net/reader034/viewer/2022042715/559e65a81a28ab54568b45fd/html5/thumbnails/10.jpg)
Customização de UI
•Pouca ou nenhuma possibilidade de customização das UI
•Codificação em Swing, CSS, XML, HTML
•Ferramentas de terceiros
A maioria fere o princípio NOP
a criação da interface de usuário deve ser inteiramente
automatizada a partir dos objetos de domínio
![Page 11: NOVL - Naked Objects View Language - Apresentação InfoBrasil 2012](https://reader034.fdocuments.net/reader034/viewer/2022042715/559e65a81a28ab54568b45fd/html5/thumbnails/11.jpg)
![Page 12: NOVL - Naked Objects View Language - Apresentação InfoBrasil 2012](https://reader034.fdocuments.net/reader034/viewer/2022042715/559e65a81a28ab54568b45fd/html5/thumbnails/12.jpg)
NOVL
É uma linguagem de descrição de layout para o padrão Naked Objects.
Seu objetivo é de personalizar as interfaces de usuário de forma simples e rápida utilizando texto simples no lugar de estruturas mais sofisticadas como SWING, CSS, XML, HTML, etc.
![Page 13: NOVL - Naked Objects View Language - Apresentação InfoBrasil 2012](https://reader034.fdocuments.net/reader034/viewer/2022042715/559e65a81a28ab54568b45fd/html5/thumbnails/13.jpg)
A base da NOVL : Layout Grid
Um esquema em grade é uma das mais poderosas ferramentas disponíveis para o projetista visual, pois fornece uma estrutura uniforme e consistente para a criação de uma interface com vários níveis de complexidade visual ou funcional.
Uma grade bem projetada melhora o apelo estético, a legibilidade e usabilidade da tela, cria uma sensação de ordem e deixa o usuário confortável e predisposto a interagir com o produto.
COOPER,2007
![Page 14: NOVL - Naked Objects View Language - Apresentação InfoBrasil 2012](https://reader034.fdocuments.net/reader034/viewer/2022042715/559e65a81a28ab54568b45fd/html5/thumbnails/14.jpg)
Definição EBNF da NOVL
A Extended Backus–Naur Form (ISO/IEC14977) é uma meta-linguagem utilizadapara expressar e definir de maneiraformal e matematicamente a sintaxe deuma linguagem não apenas deprogramação de computador, mas paradefinições formais.
A maioria dos padrões de linguagem deprogramação usa alguma variante daEBNF para definir a gramática da língua,possibilitando a construção decompiladores porque o analisador para ocompilador pode ser geradoautomaticamente com um compilador decompilador comoYACC (Levine,1992).
![Page 15: NOVL - Naked Objects View Language - Apresentação InfoBrasil 2012](https://reader034.fdocuments.net/reader034/viewer/2022042715/559e65a81a28ab54568b45fd/html5/thumbnails/15.jpg)
Diagrama de sintaxes
Diagrama de Sintaxe é uma alternativagráfica para EBNF. Diagramas de sintaxesão mais facilmente compreendidos pelamaioria das pessoas, uma vez quepermitem a exposição concisa e lúcida deuma sintaxe de forma rigorosa, porémamigável (Watt,1990).
![Page 16: NOVL - Naked Objects View Language - Apresentação InfoBrasil 2012](https://reader034.fdocuments.net/reader034/viewer/2022042715/559e65a81a28ab54568b45fd/html5/thumbnails/16.jpg)
Exemplos
Member:
nome
*dataDeModificacao
endereco.cidade.estado.sigla
endereco.buscarCEP()
aprovar()
dependentes<nome,parentesco>
Ctrl.Persistence.save()
View e Component:
![Page 17: NOVL - Naked Objects View Language - Apresentação InfoBrasil 2012](https://reader034.fdocuments.net/reader034/viewer/2022042715/559e65a81a28ab54568b45fd/html5/thumbnails/17.jpg)
![Page 18: NOVL - Naked Objects View Language - Apresentação InfoBrasil 2012](https://reader034.fdocuments.net/reader034/viewer/2022042715/559e65a81a28ab54568b45fd/html5/thumbnails/18.jpg)
O caso de uso Produto
![Page 19: NOVL - Naked Objects View Language - Apresentação InfoBrasil 2012](https://reader034.fdocuments.net/reader034/viewer/2022042715/559e65a81a28ab54568b45fd/html5/thumbnails/19.jpg)
Usando NOVL
![Page 20: NOVL - Naked Objects View Language - Apresentação InfoBrasil 2012](https://reader034.fdocuments.net/reader034/viewer/2022042715/559e65a81a28ab54568b45fd/html5/thumbnails/20.jpg)
Making of
![Page 21: NOVL - Naked Objects View Language - Apresentação InfoBrasil 2012](https://reader034.fdocuments.net/reader034/viewer/2022042715/559e65a81a28ab54568b45fd/html5/thumbnails/21.jpg)
![Page 22: NOVL - Naked Objects View Language - Apresentação InfoBrasil 2012](https://reader034.fdocuments.net/reader034/viewer/2022042715/559e65a81a28ab54568b45fd/html5/thumbnails/22.jpg)
Contribuições do trabalho
Por diferenciar-se de outras linguagens de interface no sentido em que ela especifica a forma da interface e não o caminho para chegar a ela:• Independência de tecnologia
• Uso SEM editores visuais de UI
• Ciclo de aprendizado reduzido
• Manutenção facilitada
• Despreocupação da implementação da UI
Eliminação dos principais limitadores da utilização do padrão Naked Objects:• Interfaces de usuário
personalizadas
• Múltiplas visões por objeto do domínio
• Foco apenas no domínio
• Não invalida o padrão
![Page 23: NOVL - Naked Objects View Language - Apresentação InfoBrasil 2012](https://reader034.fdocuments.net/reader034/viewer/2022042715/559e65a81a28ab54568b45fd/html5/thumbnails/23.jpg)
Trabalhos futuros
Implementação de referência (Swing, JSF, HTML, ...)
Utilização da linguagem em algum framework NOP
Avaliação e extensão da linguagem para abordar outros aspectos das GUI
![Page 24: NOVL - Naked Objects View Language - Apresentação InfoBrasil 2012](https://reader034.fdocuments.net/reader034/viewer/2022042715/559e65a81a28ab54568b45fd/html5/thumbnails/24.jpg)
Referências Bibliográficas
Aruna Raja and Devika Lakshmanan, "Naked Objects Framework," International Journal of ComputerApplications, vol. I, no. 20, 2010.
Richard Pawson and Robert Matthews, Naked Objects. New York: Wiley, 2002
Richard Pawson, Naked Objects, Phd thesis. Dublin: Trinity College, 2004.
Alan Cooper, Robert Reimann, and David Cronin, About Face 3 : The Essentials of Interaction Design. Indianapolis: Wiley Publishing, Inc., 2007.
Internet
Versão free on-line:
www.nakedobjects.org/book
Naked ObjectsRichard Pawson and
Robert Matthews, Wiley 2002
Domain Driven Design using Naked ObjectsDan Haywood, Pragmatic Bookshelf 2009
Richard Pawson's Thesisincubator.apache.org/isis/Pawson-Naked-Objects-thesis.pdf
![Page 25: NOVL - Naked Objects View Language - Apresentação InfoBrasil 2012](https://reader034.fdocuments.net/reader034/viewer/2022042715/559e65a81a28ab54568b45fd/html5/thumbnails/25.jpg)
Perguntas?
“A simplicidade é o último grau de sofisticação”
Leonardo da Vinci.