O que mudou no Demoiselle?

Tamanho: px
Começar a partir da página:

Download "O que mudou no Demoiselle?"

Transcrição

1 Framework Demoiselle 2.0 O que mudou no Demoiselle? Robson Ximenes <robsonximenes@gmail.com> Thiago Mariano <marianothiago.demoiselle@gmail.com>

2

3 Para que serve este documento?... v 1. Introdução Arquitetura Organização Integração entre camadas Mensagens Tratamento de exceção Entidade Transação Persistência Abstrações Transação Estratégia Filtros Negócio Visão demoiselle-jsf Abstrações Mensagem Tratamento de exceções Regras de navegação Passagem de parâmetros demoiselle-swing iii

4 iv

5 Para que serve este documento? Este documento tem como objetivo identificar as principais mudanças no Framework Demoiselle 2.0, exemplificando e comparando as funcionalidades presentes na versão anterior e na versão atual. Cada sessão apresentará uma área que o framework atua, mostrando apenas as funcionalidades que tiveram mudança na forma de utilização. Sempre a explicação vem acompanhada de um bloco de código que exemplifica o que foi mencionado. v

6 vi

7 Introdução O framework demoiselle passou por um período em que se buscou a padronização das aplicações, para facilitar o intercâmbio de pessoas/projetos sem todo aquele período de adaptação. Em meados de 2010, iniciou-se um estudo sobre as técnicas/tecnologias utilizadas e suas possíveis substitutas. Foi iniciado um processo de especificação da nova versão com o objetivo de tornar o demoiselle mais simples, flexível e de acordo com as especificações JEE. Este documento foi elaborado seguindo a sequência de assuntos abordados nos tutoriais da versão anterior que podem ser encontrados em: 1

8 2

9 Arquitetura 2.1. Organização Esta é a parte que sofre as maiores modificações. Agora o Demoiselle está implementado sobre o JEE 6 visando possibilitar o uso em vários tipos de aplicações (swing, jsf, javafx...) para isto o framework foi dividido em core e extensions. O core é a parte principal e mínima para se construir uma aplicação. As extensions complementam as funcionalidades do framework, por exemplo a camada de persistencia e a camada de apresentação. Os pacotes mudaram para normalizar com a url do projeto br.gov.frameworkdemoiselle e as interfaces de marcação, sem definições, foram substituidas por public interface IDisciplinaBC { public void inserir(disciplina disciplina);... Esta abordagem permite que o projetista crie quando necessário suas interfaces, precisando apenas anotar a implementação com o estereótipo que lhe convier. Algumas já vem no framework(businesscontroller, PersistenceController, ViewController e FacadeController) substituindo as interfaces antigas, porém é possivel criar controladores customizados apenas construindo uma anotação que seja segue @Retention(RUNTIME) MeuController { 2.2. Integração entre camadas Agora a integração ficou mais flexível, utilizando a especificação oficial do JEE (CDI), removendo do projeto a utilização de orientação a aspectos. Isso elimina a nessecidade também da utilização de plugins para a IDE(que muitas vezes ocasionavam problemas). Antes: 3

10 Capítulo 2. Arquitetura public class DisciplinaBC implements IDisciplinaBC // Implementa##o do demoiselle private IDisciplinaDAO disciplinadao;... Agora: public class DisciplinaBC implements IDisciplinaBC // Padr#o JEE private IDisciplinaDAO disciplinadao;... Nota Observem que a mudança foi sutil: (classe do demoiselle) (classe do JEE) Mensagens O contexto de mensagens agora pode ser injetado em qualquer classe bastando inserir a MessageContext messagectx; Antes para utilizar o contexto de mensagem não se usava injeção. Funcionava da seguinte forma: ContextLocator.getinstance().getMessageContext(); A interface IMessage agora sem o prefixo I ficou mais simples: 4

11 Tratamento de exceção public interface Message { String gettext(); SeverityType getseverity(); E também foi disponibilizada uma implementação DefaultMessage que facilita o processo de internacionalização e interpolação. Nota Para entender os detalhes de transação acesse a documentação de referência: demoiselle.sourceforge.net/docs/reference/2.0.1/html/mensagem.html 2.4. Tratamento de exceção As exceções de aplicação não precisam estender ou implementar uma classe/interface do framework, e isto dá ao projetista a liberdade de criar a sua hierarquia de exceções tranquilamente. A única coisa que precisa ser feita é anotar a exceção para que o framework possa utilizar esta exceção para controlar, por exemplo, a public class MinhaException extends RuntimeException { public String getmessage() { return "Minha mensagem!"; Uma grande e boa novidade é a possibilidade de tratar as exceções lançadas por diversos métodos em um só lugar com o exceptions handler, para isto basta criar um método na classe que receba como parâmetro a exceção que você deseja tratar e anotar esse public void trataminhaexcecao(minhaexception cause) { &. // Aqui voc# faz o tratamento: Mensagem, Log... 5

12 Capítulo 2. Arquitetura Nota Para entender os detalhes de transação acesse a documentação de referência: demoiselle.sourceforge.net/docs/reference/2.0.1/html/excecao.html 2.5. Entidade Na versão anterior foi criada a interface IPojo que servia apenas como marcação para identificar mais facilmente quais eram as classes de persistencia. Nesta versão esta interface deixa de existir Transação O controle de transação ganhou algumas funcinalidades. É possível agora definir quais métodos serão transacionais ou a classe inteira. É possivel interagir com a transação ou ainda criar estratégias de transação. Atualmente existem duas já disponibilizadas: JPATransaction e JTATransaction além da NoTransaction, que é utilizada quando nenhuma estratégia de transação é definida. Para ativar a transação, tanto por classe quanto por método, basta anotar a classe/método Isto indicará ao framework para gerenciar aquela public void insert(contact contact) { validateinsert(contact); this.getdelegate().insert(contact); auditbc.insert(new Audit("Inserting contact: " + contact.getcpf())); messagecontext.add(infomessages.contact_insert_ok, contact.getname()); Para definir qual estratégia de transação deverá ser utilizada, basta indicá-la no arquivo beans.xml que fica na pasta resources/meta-inf, como é mostrado no exemplo abaixo: <beans xmlns=" xmlns:xsi=" XMLSchema-instance" xsi:schemalocation=" beans_1_1.xsd"> <alternatives> <class>br.gov.frameworkdemoiselle.transaction.jpatransaction</class> </alternatives> </beans> 6

13 Persistência A camada de persistência é tratada pela extensão demoiselle-jpa, sendo possível o lançamento de outros mecanismos como JDO. Neste momento é disponibilizado apenas a persistência com JPA 2. Logo, o mapeamento de entidades permanece como na versão anterior apenas removendo a dependência da interface IPojo, que não existe mais Abstrações A classe JPACrud foi disponibilizada para abstrair as operações de CRUD( create, retrieve, update e public class ContactDAO extends JPACrud<Contact, Long> {... Neste exemplo você percebe que a classe tem dois parâmetros. O primeiro representa a entidade que será tratada e o segundo indica qual o tipo de ID Transação A interatividade com a transação agora independe do antigo TransactionContext, que deixou de existir. Bastando apenas ter na classe uma propriedade do tipo Transaction injetada; public class Simples private Transaction transaction; Estratégia Existem 3 tipos disponibilizados: NoTransaction JPATransaction JTATransaction 7

14 Capítulo 3. Persistência Dica Viste o guia de referência para maiores detalhes: reference/2.0.1/html/transacao.html 3.3. Filtros A realização de filtros deve ser feita utilizando os novos recursos oferecidos pelo JPA 2 8

15 Negócio A camada de negócio deixa de utilizar a interface IBussinessController para adotar a estratégia de utilização da anotação public class ContactBC extends DelegateCrud<Contact, Long, ContactDAO> {... Foi disponibilizada também uma abstração para as operações de CRUD. Para utiliza-la basta herdar da classe DelegateCrud, informando a entidade, o tipo de ID e uma classe que implemente a interface CRUD. 9

16 10

17 Visão A camada de visão é tratada através de extensões. No momento duas estão disponibilizadas: demoiselle-jsf(jee) e demoiselle-swing(se) demoiselle-jsf Esta é a extensão mais utilizada e recomendada para aplicações web. Nela é disponibilizado o JSF 2. O JSF 2 melhorou muito a maneira de configurar a aplicação, permitindo inclusive que configurações sejam feitas dentro de bibliotecas. Desta forma, a utilização da extensão reduz significativamente as configurações no arquivo web.xml e faces-config.xml Abstrações As abstrações são implementações da interface PageBean public interface PageBean extends Serializable { public String getcurrentview(); public String getnextview(); public String getpreviousview(); public String gettitle(); Desta interface derivam as abstrações de edição e listagem, que implementam os métodos de navegação e operações de edição ou listagem, dependendo de qual abstração foi utilizada: AbstractEditPageBean ou AbstractListPageBean Mensagem O contexto de mensagem pode ser injetado em qualquer camada da aplicação e o programador poderá escolher se adiciona a mensagem no contexto de mensagem ou se adiciona diretamente no FacesContext. Abaixo é um exemplo de como usar o utilitário Faces para public void handleexception(final DuplicatedCpfException cause) { Faces.addMessage("cpf", cause); Porém caso outras camadas estejam adicionando mensagens no contexto de mensagens, existe uma listener que varrerá as mensagens do contexto de mensagens a passará para o contexto do jsf de forma transparente. 11

18 Capítulo 5. private MessageContext public void insert(contact contact) { this.getdelegate().insert(contact); messagecontext.add(infomessages.contact_insert_ok, contact.getname()); Tratamento de exceções Regras de navegação As abstrações de Page Bean utilizam as anotações de navegação para descobrir qual a tela que deve ser renderizada. As anotações são: public class ContactEditMB { Passagem de parâmetros A passagem de parâmetros para o Bean ficou muito simples, basta criar uma propriedade no pagebean do tipo Parameter e sempre que estiver na classe esta propriedade estará sincronizada com public class ContactListMB extends PagedListPageBean<Contact, Long> private Parameter<Long> private ContactBC contactbc; 12

19 protected List<Contact> handleresultlist() { List<Contact> result = null; if (groupid.getvalue()!= null) { result = contactbc.find(new Group(groupId.getValue())); else { result = contactbc.findall(); return result; Nota Observem no exemplo que a propriedade groupid é utilizada no método handleresultlist, sem a necessidade de explícitamente obter o valor do request. Vale lembrar também que é possível criar uma propriedade com o scopo diferente do pagebean utilizando o Parameter. Para isto, basta anotar a propriedade com o scopo desejado demoiselle-swing Na versão anterior não era simples criar uma aplicação swing, agora basta utilizar o arquétipo de swing. 13

20 14

JBoss Seam. Vinicius Senger Co-fundador Globalcode Alberto J Lemos (Dr. Spock) Instrutor Globalcode. Globalcode Open4Education

JBoss Seam. Vinicius Senger Co-fundador Globalcode Alberto J Lemos (Dr. Spock) Instrutor Globalcode. Globalcode Open4Education JBoss Seam Vinicius Senger Co-fundador Globalcode Alberto J Lemos (Dr. Spock) Instrutor Globalcode Agenda > Introdução > Arquitetura típica Java EE 5 > O que é JBoss Seam? > Porque escolher o JBoss Seam?

Leia mais

Repositórios JPA no Projeto ecafeteria

Repositórios JPA no Projeto ecafeteria Repositórios JPA no Projeto ecafeteria Um objeto EntityManager representa uma ligação à base de dados. Quando um objeto EntityManger é criado também é criado um objeto EntityTransaction associado ao EntityManager.

Leia mais

Frameworks funcionais para JSF que proporciona o desenvolvimento de aplicações computacionais WEB

Frameworks funcionais para JSF que proporciona o desenvolvimento de aplicações computacionais WEB Frameworks funcionais para JSF que proporciona o desenvolvimento de aplicações computacionais WEB Bruno Costa Silva 1, Ricardo Rufino 1 1 Universidade Paranaense (Unipar) Paranavaí PR Brasil brunocostasilva62@hotmail.com,

Leia mais

Padrões de codificação Java (JSF)

Padrões de codificação Java (JSF) UNIVERSIDADE CEUMA Java (JSF) Versão 1.2 17/06/2013 Este é um modelo de codificação para desenvolvimento Java existente no Grupo Ceuma de Educação. Aqui encontram-se os padrões utilizados por equipes internas

Leia mais

Demoiselle Component

Demoiselle Component Demoiselle Validation Component Guide Demoiselle Component Rodrigo Hjort Marlon Carvalho Demoiselle Validation... v 1. Configuração do Validation...

Leia mais

Injeção de Dependências e Spring

Injeção de Dependências e Spring Injeção de Dependências e Spring Daniel Cukier Prof. Fabio Kon IME-USP Conteúdo Exemplo Melhor maneira de aprender Injeção de Dependência (DI) Spring Service Locator Daniel Cukier - IME/USP 2/29 Exemplo

Leia mais

UML (Linguagem Modelagem Unificada) João Paulo Q. dos Santos

UML (Linguagem Modelagem Unificada) João Paulo Q. dos Santos UML (Linguagem Modelagem Unificada) João Paulo Q. dos Santos joao.queiroz@ifrn.edu.br Roteiro A importância da UML para projetar sistemas. Principais características do diagrama de classes e de sequência.

Leia mais

SisBIC Sistema de Gerenciamento de Bolsas de Iniciação

SisBIC Sistema de Gerenciamento de Bolsas de Iniciação SisBIC Sistema de Gerenciamento de Bolsas de Iniciação 1. Introdução Robson Tenório Universidade Federal da Bahia Centro de Processamento de Dados Salvador Bahia Brasil {robsonrt}@ufba.br A Universidade

Leia mais

Framework Demoiselle 2.0 QuickStart Emerson Saito Marlon Carvalho Rodrigo Hjort Serge Rehem

Framework Demoiselle 2.0 QuickStart Emerson Saito Marlon Carvalho Rodrigo Hjort Serge Rehem Framework Demoiselle 2.0 QuickStart Emerson Saito Marlon Carvalho Rodrigo Hjort Serge Rehem Sobre o QuickStart... v 1. Instalação... 1 1.1. Pré-requisitos... 1 1.2. Demoiselle Infra... 1 2. Criação da

Leia mais

Manual Demoiselle Wizard CETEC/CTCTA

Manual Demoiselle Wizard CETEC/CTCTA Manual Demoiselle Wizard CETEC/CTCTA Histórico de Versões Data Versão Descrição Autor Revisor 07/05/2009 0.1 Mário Costa Flávio Lisboa 24/06/2009 0.2 25/06/2009 1.0 30/06/2009 1.1 12/01/10 1.1.1 07/05/10

Leia mais

Carlos S. Rodrigues Leonardo Lino Vieira Eric Felipe Barboza Antonio Vasconcellos

Carlos S. Rodrigues Leonardo Lino Vieira Eric Felipe Barboza Antonio Vasconcellos Carlos S. Rodrigues Leonardo Lino Vieira Eric Felipe Barboza Antonio Vasconcellos Introdução Necessidade de diminuir a complexidade na interação código-banco de dados para o programador,além de diminuir

Leia mais

JPA Com Hibernate. Paulo Ricardo Lisboa de Almeida. 1 Universidade Positivo

JPA Com Hibernate. Paulo Ricardo Lisboa de Almeida. 1 Universidade Positivo JPA Com Hibernate Paulo Ricardo Lisboa de Almeida 1 Modelo Necessário Modelo Necessário 2 JPA Mapeamento Direto entre as classes e o banco de dados Orientação a objetos para modelo relacional Feito através

Leia mais

5 Trabalhos Relacionados

5 Trabalhos Relacionados 5 Trabalhos Relacionados Durante o trabalho desenvolvido nesta dissertação foram estudadas diversas tecnologias que têm objetivos semelhantes ao nosso. Os trabalhos estudados apresentam modelos de programação

Leia mais

Criando uma aplicação web. Parte 1

Criando uma aplicação web. Parte 1 Criando uma aplicação web Parte 1 Aplicações web Criaremos uma aplicação completa utilizando: Bancos de dados Modelo MVC JavaServer Faces (PrimeFaces) Um pouco sobre banco de dados Todas as aplicações

Leia mais

Framework Demoiselle 2.3.0 QuickStart Emerson Oliveira Emerson Saito Luciano Borges Marlon Carvalho Rodrigo Hjort Serge Rehem

Framework Demoiselle 2.3.0 QuickStart Emerson Oliveira Emerson Saito Luciano Borges Marlon Carvalho Rodrigo Hjort Serge Rehem Framework Demoiselle 2.3.0 QuickStart Emerson Oliveira Emerson Saito Luciano Borges Marlon Carvalho Rodrigo Hjort Serge Rehem Sobre o QuickStart... v 1. Instalação... 1 1.1. Ambiente recomendado... 1

Leia mais

Engenharia de Aplicações Sistemas Interactivos 2009/10! JAVASERVER FACES 1.2. Mestrado em Informática Universidade do Minho! 31!

Engenharia de Aplicações Sistemas Interactivos 2009/10! JAVASERVER FACES 1.2. Mestrado em Informática Universidade do Minho! 31! JAVASERVER FACES 1.2 Mestrado em Informática Universidade do Minho! 31! Java Server Faces (JSF) JSP uma tecnologia" JSF uma framework MVC(-like)" - JSP para a apresentação (ou não)" utilização da JSF tag

Leia mais

Framework Demoiselle Guia de Referência. Cleverson Sacramento. Emerson Saito. Marlon Carvalho. Rodrigo Hjort. Serge Rehem.

Framework Demoiselle Guia de Referência. Cleverson Sacramento. Emerson Saito. Marlon Carvalho. Rodrigo Hjort. Serge Rehem. Framework Demoiselle 2.2.0 Guia de Referência Cleverson Sacramento Emerson Saito Marlon Carvalho Rodrigo Hjort Serge Rehem Thiago Mariano Wilson Guimarães Sobre o Guia de Referência... v I. Framework...

Leia mais

Tratamento de Erros. Sérgio Luiz Ruivace Cerqueira

Tratamento de Erros. Sérgio Luiz Ruivace Cerqueira Tratamento de Erros Sérgio Luiz Ruivace Cerqueira sergioruivace@gmail.com Agenda Introdução Try, catch, finally Unchecked Exceptions Como levantar exceções Boas práticas O problema Calculadora numero1:

Leia mais

Introdução ao Desenvolvimento de

Introdução ao Desenvolvimento de Introdução ao Desenvolvimento de Aplicações Web com JSF e PrimeFaces Marcelo Vinícius Cysneiros Aragão ICC Inatel Competence Center marcelovca90@inatel.br Santa Rita do Sapucaí, 15 de março de 2016 Conteúdo

Leia mais

Ferramenta MVCASE - Estágio Atual: Especificação, Projeto e Construção de Componentes

Ferramenta MVCASE - Estágio Atual: Especificação, Projeto e Construção de Componentes Ferramenta MVCASE - Estágio Atual: Especificação, Projeto e Construção de Componentes Antônio Francisco do Prado Daniel Lucrédio e-mail: prado@dc.ufscar.br Resumo Este artigo apresenta a ferramenta CASE

Leia mais

5 Arquitetura de implementação

5 Arquitetura de implementação Arquitetura de implementação 103 5 Arquitetura de implementação 5.1 Visão geral Nossa arquitetura é caracterizada pela construção de um ambiente para execução de aplicações hipermídia definidas segundo

Leia mais

Tutorial Hibernate + Vraptor para projetos Restful.

Tutorial Hibernate + Vraptor para projetos Restful. Tutorial Hibernate + Vraptor para projetos Restful. Configurando o Projeto Passo 1 Baixe o Eclipse IDE for Java EE Developers: https://www.eclipse.org/downloads. Passo 2 Vamos criar um novo projeto Maven,

Leia mais

TUTORIAL INTEGRAÇÃO SPRING, HIBERNATE E MYSQL

TUTORIAL INTEGRAÇÃO SPRING, HIBERNATE E MYSQL TUTORIAL INTEGRAÇÃO SPRING, HIBERNATE E MYSQL Nesse tutorial será mostrado como integrar o uso do Spring MVC com Hibernate e MySQL para desenvolver aplicações web. Será utilizado o Spring Tools Suite,

Leia mais

REST. Representational State Transfer. É um estilo arquitetural usado por muitas aplicações Web para estender as suas funcionalidades.

REST. Representational State Transfer. É um estilo arquitetural usado por muitas aplicações Web para estender as suas funcionalidades. REST Representational State Transfer É um estilo arquitetural usado por muitas aplicações Web para estender as suas funcionalidades. Não é um padrão. Exemplo ASP.NET Web API namespace WebAPIApp.Models

Leia mais

Universidade Federal de Uberlândia Faculdade de Computação Programação Orientada a Objetos II Prof. Fabiano Dorça. Padrão Observer (Observador)

Universidade Federal de Uberlândia Faculdade de Computação Programação Orientada a Objetos II Prof. Fabiano Dorça. Padrão Observer (Observador) Universidade Federal de Uberlândia Faculdade de Computação Programação Orientada a Objetos II Prof. Fabiano Dorça Problema: Definir uma dependência um-para-muitos entre objetos, de forma quando o estado

Leia mais

Análise e Projeto de Software Parte II. Marcos Dósea

Análise e Projeto de Software Parte II. Marcos Dósea Análise e Projeto de Software Parte II Marcos Dósea marcosdosea@gmail.com Agenda Aula III Análise de Software Orientado à Objetos Motivação Marcos Dósea marcosdosea@gmail.com O que é análise e projeto?

Leia mais

3 Tecnologias Relacionadas

3 Tecnologias Relacionadas Tecnologias Relacionadas 31 3 Tecnologias Relacionadas O objetivo deste capítulo é apresentar um resumo de cada tecnologia relacionada ao processo proposto nesta dissertação, mostrando suas principais

Leia mais

Continuação... Criando a Interface e adiante

Continuação... Criando a Interface e adiante Continuação... Criando a Interface e adiante Racepitulando 1. Criar um projeto web: JavaServer Faces + Tomcat + Primefaces 2. Criar um banco de dados Postgresql 3. Adicionar os jars: javax.persistence

Leia mais

PLATAFORMA SIGA RIO DAS VELHAS MANUAL DO CÓDIGO FONTE

PLATAFORMA SIGA RIO DAS VELHAS MANUAL DO CÓDIGO FONTE PLATAFORMA SIGA RIO DAS VELHAS MANUAL DO CÓDIGO FONTE ATO CONVOCATÓRIO Nº 006/2016 CONTRATO DE GESTÃO IGAM Nº 002/IGAM/2012 09/2017 1 PLATAFORMA SIGA RIO DAS VELHAS MANUAL DO CÓDIGO FONTE ATO CONVOCATÓRIO

Leia mais

Spring Framework. Parte 04 transações

Spring Framework. Parte 04 transações Spring Framework Parte 04 transações Spring e transações O uso de transações é recorrente no desenvolvimento de sistema corporativos. Spring provê suporte ao controle de transações de duas maneiras: programática

Leia mais

Classes de Projeto. Prof. Anderson Cavalcanti UFRN-CT-DCA

Classes de Projeto. Prof. Anderson Cavalcanti UFRN-CT-DCA Classes de Projeto Prof. Anderson Cavalcanti UFRN-CT-DCA Linhas Gerais sobre as Classes de Projeto Especificação de Classes de Projeto Especificação de classes de fronteira Responsáveis pela interação

Leia mais

2ª Edição Décio Heinzelmann Luckow Alexandre Altair de Melo

2ª Edição Décio Heinzelmann Luckow Alexandre Altair de Melo 2ª Edição Décio Heinzelmann Luckow Alexandre Altair de Melo Novatec Copyright 2010, 2015 Novatec Editora Ltda. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida a reprodução

Leia mais

Criando uma aplicação web

Criando uma aplicação web Criando uma aplicação web Aplicações web Criaremos uma aplicação completa utilizando: Bancos de dados Modelo MVC JavaServer Faces (PrimeFaces) Um pouco sobre banco de dados Todas as aplicações precisam

Leia mais

3 Arquitetura para a Coordenação e a Composição de Artefatos de Software

3 Arquitetura para a Coordenação e a Composição de Artefatos de Software Uma Arquitetura para a Coordenação e a de Artefatos de 23 3 Arquitetura para a Coordenação e a de Artefatos de Resumo Este capítulo apresenta a arquitetura ACCA, que é a parte central deste trabalho. A

Leia mais

Introdução: EJBs de Sessão. Prof. Fellipe Aleixo

Introdução: EJBs de Sessão. Prof. Fellipe Aleixo Introdução: EJBs de Sessão Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br) O Que é um Enterprise Bean? Written in the Java programming language, an enterprise bean is a server-side component that encapsulates

Leia mais

5 Processo de Reificação e de Desenvolvimento com ACCA

5 Processo de Reificação e de Desenvolvimento com ACCA Uma Arquitetura para a Coordenação e a Composição de Artefatos de Software 53 5 Processo de Reificação e de Desenvolvimento com ACCA Resumo Este capítulo visa esclarecer e descrever atividades existentes

Leia mais

3 Ferramenta Proposta 3.1. Objetivos

3 Ferramenta Proposta 3.1. Objetivos 3 Ferramenta Proposta 3.1. Objetivos O objetivo deste trabalho é a criação de um framework de testes que incorpore algumas das novas idéias encontradas na literatura. Sua principal característica deve

Leia mais

Objetos e Componentes Distribuídos: EJB

Objetos e Componentes Distribuídos: EJB : EJB Sistemas Distribuídos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do Maranhão Objetivos Nesta

Leia mais

3 Uma Abordagem Orientada a Aspectos para o Desenvolvimento de Frameworks

3 Uma Abordagem Orientada a Aspectos para o Desenvolvimento de Frameworks 48 3 Uma Abordagem Orientada a Aspectos para o Desenvolvimento de Frameworks Este capítulo apresenta uma visão geral da contribuição principal deste trabalho: uma abordagem orientada a aspectos para o

Leia mais

Interfaces e Classes Abstratas

Interfaces e Classes Abstratas Interfaces e Classes Abstratas José Gustavo de Souza Paiva Problema Método obterarea()? Classes Abstratas Classes que funcionam como um molde Declarada com comando abstract Contém um ou mais métodos abstratos

Leia mais

Figura 1: Eclipse criação de um Dynamic Web Project

Figura 1: Eclipse criação de um Dynamic Web Project Prática da Disciplina de Sistemas Distribuídos Web Services Parte 2 IFMA DAI Professor Mauro Lopes C. Silva 1. Criação de um Serviço Rest Utilizando a configuração realizada na prática anterior, iremos

Leia mais

3 Uma Arquitetura Distribuída via WEB

3 Uma Arquitetura Distribuída via WEB 24 3 Uma Arquitetura Distribuída via WEB Neste capítulo será apresentada a Arquitetura de Ambiente Distribuído no qual está implementado o Gerador VRML (VRMLGer) e o fluxo de dados que há entre as diferentes

Leia mais

Curso Superior de Banco de Dados

Curso Superior de Banco de Dados Curso Superior de Banco de Dados Disciplina: Spring Prof. Emanuel Mineda Carneiro emanuel.mineda@fatec.sp.gov.br São José dos Campos - SP Dependências do Jeito Antigo Injeção de Dependência Inversão de

Leia mais

Spring Framework. Parte 01 introdução e primeiros passos

Spring Framework. Parte 01 introdução e primeiros passos Spring Framework Parte 01 introdução e primeiros passos O que é Spring Framework? É um framework de apoio ao desenvolvimento de aplicações corporativas em Java que surgiu como uma alternativa à complexa

Leia mais

Agilizando o processo de redeploy de aplicações Java

Agilizando o processo de redeploy de aplicações Java classghost_ ClassGhost Agilizando o processo de redeploy de aplicações Java Conheça a funcionalidade deste framework que contribui para a agilidade e produtividade no processo processo de redeploy de aplicações

Leia mais

Módulo 5 JPATransaction Camadas Turma Turma TurmaBC .business @BusinessController TurmaBC TurmaBC TurmaBC

Módulo 5 JPATransaction Camadas Turma Turma TurmaBC .business @BusinessController TurmaBC TurmaBC TurmaBC Módulo 5 No módulo anterior adaptamos nosso projeto para persistir as informações no banco de dados utilizando as facilidades da extensão demoiselle-jpa. Experimentamos o controle transacional do Framework

Leia mais

Implementar um exemplo de relacionamento entre classes um para muitos (1:N) e um para um (1:1). Sistema para uma Promotora de Evento Agenda Anual

Implementar um exemplo de relacionamento entre classes um para muitos (1:N) e um para um (1:1). Sistema para uma Promotora de Evento Agenda Anual Aula 09 Objetivo Implementar um exemplo de relacionamento entre classes um para muitos (1:N) e um para um (1:1). Sistema para uma Promotora de Evento Agenda Anual Banco de Dados 1. Crie um novo projeto

Leia mais

UMA INTERFACE DE GERENCIAMENTO DE REDES DEFINIDAS POR SOFTWARE

UMA INTERFACE DE GERENCIAMENTO DE REDES DEFINIDAS POR SOFTWARE UMA INTERFACE DE GERENCIAMENTO DE REDES DEFINIDAS POR SOFTWARE Fagner Jefferson de Araújo Silva; Whasley Sousa Cardoso; Marcelo Portela Sousa. Instituto Federal de Educação, Ciência e Tecnologia da Paraíba

Leia mais

JUnit. Alexandre Menezes Silva Eduardo Manuel de Freitas Jorge

JUnit. Alexandre Menezes Silva Eduardo Manuel de Freitas Jorge JUnit Alexandre Menezes Silva alexandre_crvg@hotmail.com Eduardo Manuel de Freitas Jorge emjorge1974@gmail.com 0 Sumário O que é?... 2 Pra que serve?... 2 Arquitetura... 2 Método de comparação assertequals...

Leia mais

Framework Demoiselle. Guia de Referência. Cleverson Sacramento. Emerson Oliveira. Emerson Saito. Luciano Borges. Marlon Carvalho.

Framework Demoiselle. Guia de Referência. Cleverson Sacramento. Emerson Oliveira. Emerson Saito. Luciano Borges. Marlon Carvalho. Framework Demoiselle Guia de Referência Cleverson Sacramento Emerson Oliveira Emerson Saito Luciano Borges Marlon Carvalho Rodrigo Hjort Serge Rehem Thiago Mariano Wilson Guimarães Sobre o Guia de Referência...

Leia mais

AULA 07 HIBERNATE. Ao término desse capítulo você terá aprendido: Fundamentos do MVC Estrutura dos pacotes no NetBeans

AULA 07 HIBERNATE. Ao término desse capítulo você terá aprendido: Fundamentos do MVC Estrutura dos pacotes no NetBeans AULA 07 HIBERNATE Ao término desse capítulo você terá aprendido: Fundamentos do MVC Estrutura dos pacotes no NetBeans O JDBC é uma das maneiras mais diretas para desenvolver um aplicativo Java que interaja

Leia mais

Interfaces e Classes Internas

Interfaces e Classes Internas e Classes Internas SCC0604 - Programação Orientada a Objetos Prof. Fernando V. Paulovich http://www.icmc.usp.br/~paulovic paulovic@icmc.usp.br Instituto de Ciências Matemáticas e de Computação (ICMC) Universidade

Leia mais

(UFF) JSF (I) TEPIS II

(UFF) JSF (I) TEPIS II Aula 11: JSF (I) Diego Passos Universidade Federal Fluminense Técnicas de Projeto e Implementação de Sistemas II Diego Passos (UFF) JSF (I) TEPIS II 1 / 34 Java Server Faces API que provê um framework

Leia mais

Objetos e Componentes Distribuídos: EJB e CORBA

Objetos e Componentes Distribuídos: EJB e CORBA : EJB e CORBA Sistemas Distribuídos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do Maranhão Objetivos

Leia mais

Programação Orientada a Objetos. Vagner Luz do Carmo - Vluzrmos

Programação Orientada a Objetos. Vagner Luz do Carmo - Vluzrmos Programação Orientada a Objetos Vagner Luz do Carmo - Vluzrmos Questão 1 Dada a seguinte classe na linguagem JAVA: public class Carro { public String retornacor(){ ; return Azul ; private String retornachassi(){

Leia mais

Levantamento de classes (Análise de casos de uso)

Levantamento de classes (Análise de casos de uso) Plano Levantamento de classes (Análise de casos de uso) Prof. Cesar Augusto Tacla Levantamento no método APOO Projeto por padrões: MVC e Observador Estereótipos de classes Visão geral do método Engenharia

Leia mais

UFG - Instituto de Informática

UFG - Instituto de Informática UFG - Instituto de Informática Especialização em Desenvolvimento de Aplicações Web com Interfaces Ricas EJB 3.0 Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 12 Beans Orientados a

Leia mais

Model-View-Controller (MVC)

Model-View-Controller (MVC) Model-View-Controller (MVC) por Rodrigo Rebou ças de Almeida Objetivo Separar dados ou lógica de negócios (Model) da interface do usuário (View) e do fluxo da aplicação (Control) A idéia é permitir que

Leia mais

Tratamento de Exceções

Tratamento de Exceções Tratamento de Exceções Carlos Bazilio Isabel Rosseti Depto de Ciência e Tecnologia Pólo Universitário de Rio das Ostras Universidade Federal Fluminense Motivação prever na implementação do sistema situações

Leia mais

Herança entre Entidades JPA. Prof. Fellipe Aleixo

Herança entre Entidades JPA. Prof. Fellipe Aleixo Herança entre Entidades JPA Prof. Fellipe Aleixo fellipe.aleixo@ifrn.edu.br ORM e Herança Para estar completo o mecanismo de mapeamento objeto-relacional precisa suportar o conceito de herança da orientação

Leia mais

Procedimentos para Atualização Sisloc

Procedimentos para Atualização Sisloc Procedimentos para Atualização Sisloc Sumário: 1. Informações Gerais... 3 2. Atualização de versão no servidor... 3 Passo a passo... 3 3. Atualização de Versão nas Demais Máquinas... 9 Passo a passo...

Leia mais

Aula 10 POO 1 Classes Abstratas. Profa. Elaine Faria UFU

Aula 10 POO 1 Classes Abstratas. Profa. Elaine Faria UFU Aula 10 POO 1 Classes Abstratas Profa. Elaine Faria UFU - 2019 Problema Método obterarea()? Classes Abstratas Classes que funcionam como um molde Declarada com comando abstract Contém um ou mais métodos

Leia mais

MODEL-VIEW-CONTROLER. Prof. Fellipe Aleixo

MODEL-VIEW-CONTROLER. Prof. Fellipe Aleixo MODEL-VIEW-CONTROLER Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br) O Que é MVC? Modelo de arquitetura de software Separar dados ou lógica de negócios (Model) da interface do usuário (View) e do fluxo

Leia mais

EXERCÍCIOS DE REVISÃO DE CONTEÚDO QUESTÕES DISSERTATIVAS

EXERCÍCIOS DE REVISÃO DE CONTEÚDO QUESTÕES DISSERTATIVAS EXERCÍCIOS DE REVISÃO DE CONTEÚDO QUESTÕES DISSERTATIVAS 1. Explique a(s) diferença(s) entre design pattern e framework. 2. Analisar o arquivo de configurações (web.xml) abaixo identificando quais suas

Leia mais

Engenharia de Software

Engenharia de Software UNIVERSIDADE DE LISBOA INSTITUTO SUPERIOR TÉCNICO Engenharia de Software LEIC/LETI, 3 o Ano, 2 o Semestre 2 o Teste, 8 de Junho de 2016 Nome: Número: Este teste tem um conjunto de 10 perguntas de escolha

Leia mais

Desenvolvimento para Web em Java. Profa Andréa Schwertner Charão DLSC/CT/UFSM Lamarck Heinsch Mestrando PPGI/CT/UFSM

Desenvolvimento para Web em Java. Profa Andréa Schwertner Charão DLSC/CT/UFSM Lamarck Heinsch Mestrando PPGI/CT/UFSM Desenvolvimento para Web em Java Profa Andréa Schwertner Charão DLSC/CT/UFSM Lamarck Heinsch Mestrando PPGI/CT/UFSM Tecnologias Web Java (OO) Fonte: Wikipedia Tecnologias Web em Java Java SE: Applets Java

Leia mais

Utilizando Swing com Hibernate

Utilizando Swing com Hibernate Programando com Java Artigo http://mballem.wordpress.com/ Utilizando Swing com Hibernate Utilizando a SessionFactory Autor Marcio Ballem: é formado em Sistemas de Informação e possui certificação Oracle

Leia mais

Tratando exceções em Java

Tratando exceções em Java Página 1 de 9 En Tecnologias Revistas Cursos Pocket videos DevWare Fórum Serviços Publicar Comprar Bem vindo a DevMedia! LOGIN: SENHA: Esqueci minha senha Cadastre-se post favorito comentários Tratando

Leia mais

Lidando com Java Obsoleto: Do Struts 1.0 ao CDI. Java na Crista da Onda

Lidando com Java Obsoleto: Do Struts 1.0 ao CDI. Java na Crista da Onda Lidando com Java Obsoleto: Do Struts 1.0 ao CDI Java na Crista da Onda Lidando com Java Obsoleto: Do Struts 1.0 ao VRaptor com CDI Java na Crista da Onda David Robert davidrobert@gmail.com linkedin.com/in/davidrobert

Leia mais

Recapitulando. Construtores: (Overload assinatura) public Circle() {...} public Circle(double x, double y, double r) {... }

Recapitulando. Construtores: (Overload assinatura) public Circle() {...} public Circle(double x, double y, double r) {... } Recapitulando Orientação a objetos: programas organizados em torno da definição de classes, instanciação de objetos e troca de mensagens. Declaração de variáveis de referencia: Circle c; Criação/instanciação

Leia mais

Enums em Java: utilização e persistência

Enums em Java: utilização e persistência Enums em Java: utilização e persistência Jadson José dos Santos jadsonjs@gmail.com Nas primeiras versões da linguagem Java, a única forma que existia para se utilizar constantes enumeradas era através

Leia mais

Manual do KXSLDbg. Keith Isdale Tradução: Marcus Gama

Manual do KXSLDbg. Keith Isdale Tradução: Marcus Gama Keith Isdale Tradução: Marcus Gama 2 Conteúdo 1 Introdução 5 1.1 Recursos........................................... 5 2 Usando o KXSLDbg 6 2.1 Configurando uma Sessão do KXSLDbg.........................

Leia mais

Modelo de Componentes CORBA

Modelo de Componentes CORBA Modelo de Componentes CORBA Cláudia Brito L. N. da Silva cblns@cin.ufpe.br Roteiro 1. Visão geral 2.! Definindo componentes! Implementando componentes! Empacotando componentes! Instalando componentes!

Leia mais

Projeto Físico. Guia Rápido Do Desenvolvedor

Projeto Físico. Guia Rápido Do Desenvolvedor Projeto Físico Guia Rápido Do Desenvolvedor Powerlogic UNIP Unidade de Projetos Versão 1.0 1 1. Histórico de Revisões Atualizado por Data de Atualização Revisado por Data de Revisão 1 Karen Ramalho Sousa

Leia mais

FAURGS HCPA Edital 06/2010 PS 51 ANALISTA DE SISTEMA I Fábrica de Aplicativos Pág. 1

FAURGS HCPA Edital 06/2010 PS 51 ANALISTA DE SISTEMA I Fábrica de Aplicativos Pág. 1 Pág. 1 HOSPITAL DE CLÍNICAS DE PORTO ALEGRE EDITAL Nº 06/20 /2010 0 DE PROCESSOS SELETIVOS GABARITO APÓS RECURSOS PROCESSO SELETIVO 51 ANALISTA DE SISTEMAS I Fábrica de Aplicativos 01. A 11. E 21. C 02.

Leia mais

JPA 2.0 e Servlet 3.0

JPA 2.0 e Servlet 3.0 JPA 2.0 e Servlet 3.0 Elaine Silva Instrutora Globalcode Melissa Villela Instrutora Globalcode 1 Agenda > Objetivo > JPA 2.0 > Servlet 3.0 > Conclusões 2 Agenda > Objetivo > JPA 2.0 > Servlet 3.0 > Conclusões

Leia mais

Padrões Fábrica. Simple Factory Factory Method

Padrões Fábrica. Simple Factory Factory Method Universidade Federal de Uberlândia Faculdade de Computação Disciplina: POO2 Prof. Fabiano Azevedo Dorça Padrões Fábrica Simple Factory Padrões Fábrica Padrão Simple Factory: fornece interfaces para criar

Leia mais

Programação Java. Marco Fagundes. - Herança, Classes Abstratas e Interfaces Marco Fagundes -

Programação Java. Marco Fagundes. - Herança, Classes Abstratas e Interfaces Marco Fagundes - Programação Java - Herança, Classes Abstratas e Interfaces - Marco Fagundes mfagundes@tre-pa.gov.br 1 Tópicos Herança Ligação Dinâmica Polimorfismo 2 Herança Herança é um conceito que mapeia as classes

Leia mais

Login Google. Copie a SSL URL, que no meu caso é https://localhost:44300/

Login Google. Copie a SSL URL, que no meu caso é https://localhost:44300/ Login Google Acessar NuGet Instalar o pacote Microsoft.Owin.Security.Cookies Instalar o pacote Microsoft.Owin.Security.Google Instalar Microsoft.Owin.Host.SystemWeb Habilitando SSL Para comunicar com Google

Leia mais

Padrão de Projeto State

Padrão de Projeto State padrão state_ cinto de utilidades MÁQUINAS DE ESTADO COM O Padrão de Projeto State Desenvolver software é trabalhar com abstrações o tempo todo, pois estas nos ajudam a gerenciar a complexidade nos sistemas

Leia mais

Engenharia de Software

Engenharia de Software UNIVERSIDADE DE LISBOA INSTITUTO SUPERIOR TÉCNICO Engenharia de Software LEIC/LETI, 3 o Ano, 2 o Semestre 2 o Teste, 16 de Junho de 2018 Duração: 90 minutos Nome: Número: Este teste tem um conjunto de

Leia mais

Artigo - Blog Módulo CRM

Artigo - Blog Módulo CRM Aplica-se a versão Este artigo foi criado a partir da versão SAP C4C verão 1411 Descrição Breve O objetivo deste Artigo é a criação de Parceiros de Negócio no Cloud for Customer (C4C) Autor do Artigo Cláudio

Leia mais

PROGRAMAÇÃO ORIENTADA A OBJETOS. Aula de Revisão para AV1

PROGRAMAÇÃO ORIENTADA A OBJETOS. Aula de Revisão para AV1 Aula de Revisão para AV1 Conteúdo Programático desta aula Rever os principais conceitos apresentados Resolução de Exercícios para a prova Quantas bibliotecas de GUI existem em Java: a) Uma: Swing b) Duas:

Leia mais

Projeto. Observatório Nacional de Clima e Saúde

Projeto. Observatório Nacional de Clima e Saúde Projeto Observatório Nacional de Clima e Saúde Coordenação Técnica Institucional: Fiocruz e INPE Coordenação Nacional CGVAM- Coordenação Geral de Vigilância Ambiental Secretaria de Vigilância em Saúde

Leia mais

Organizando seus Testes Funcionais AUMENTANDO A MANUTENIBILIDADE DE TESTES FUNCIONAIS ATRAVÉS DA ORIENTAÇÃO A OBJETOS.

Organizando seus Testes Funcionais AUMENTANDO A MANUTENIBILIDADE DE TESTES FUNCIONAIS ATRAVÉS DA ORIENTAÇÃO A OBJETOS. page objects_ PAGE OBJECTS Organizando seus Testes Funcionais AUMENTANDO A MANUTENIBILIDADE DE TESTES FUNCIONAIS ATRAVÉS DA ORIENTAÇÃO A OBJETOS. Testes são parte fundamental do processo de desenvolvimento

Leia mais

Programação Orientada a Objetos. Professor: André Luis Meneses Silva br.geocities.com/programacao2ufs

Programação Orientada a Objetos. Professor: André Luis Meneses Silva br.geocities.com/programacao2ufs Programação Orientada a Objetos Professor: André Luis Meneses Silva andreluis.ms@gmail.com br.geocities.com/programacao2ufs [ Conteúdo ] Objeto Mensagens Classe Encapsulamento Visibilidade Membros de Instância

Leia mais

Java Server Faces Navegação de

Java Server Faces Navegação de Java Server Faces Navegação de Páginas Prof. Rodrigo Henrique Cunha Palácios rodrigopalacios@utfpr.edu.br Slides fornecidos pelo professor Prof. Edson Shozo Nishi Navegação de Páginas Controle de fluxo

Leia mais

Tratamento de Exceções. Grupo de Linguagens de Programação Departamento de Informática PUC-Rio

Tratamento de Exceções. Grupo de Linguagens de Programação Departamento de Informática PUC-Rio Tratamento de Exceções Grupo de Linguagens de Programação Departamento de Informática PUC-Rio Terminologia Definições: Exceção é a ocorrência de uma condição anormal durante a execução de um método Falha

Leia mais

Unidade 7: Documentação de Código A Importância dos Comentários Prof. Daniel Caetano

Unidade 7: Documentação de Código A Importância dos Comentários Prof. Daniel Caetano Linguagem de Programação 1 Unidade 7: Documentação de Código A Importância dos Comentários Prof. Daniel Caetano Objetivo: Desenvolver a habilidade de comentar código adequadamente INTRODUÇÃO Até o momento

Leia mais

Computação II - Java - Prova 1 Prof. Adriano Joaquim de Oliveira Cruz /05/13. Questão: Total Pontos: Gráu:

Computação II - Java - Prova 1 Prof. Adriano Joaquim de Oliveira Cruz /05/13. Questão: Total Pontos: Gráu: Computação II - Java - Prova 1 Prof. Adriano Joaquim de Oliveira Cruz - 2015/05/13 Questão: 1 2 3 4 5 6 Total Pontos: 20 15 15 10 10 30 100 Gráu: 1. Defina os termos listados a seguir: (a) (10 Pontos)

Leia mais

RUP RATIONAL UNIFIED PROCESS PRÁTICAS RECOMENDADAS. Prof. Fabiano Papaiz IFRN

RUP RATIONAL UNIFIED PROCESS PRÁTICAS RECOMENDADAS. Prof. Fabiano Papaiz IFRN RUP RATIONAL UNIFIED PROCESS PRÁTICAS RECOMENDADAS Prof. Fabiano Papaiz IFRN O RUP recomenda as seguintes práticas que devem ser utilizadas no desenvolvimento de um software: 1. Desenvolver de forma iterativa

Leia mais

Figura 16 Niagara - Visão de grupos de notas.

Figura 16 Niagara - Visão de grupos de notas. Conclusão 6 Conclusão 6.1 Trabalhos Relacionados Dentre as funcionalidades fornecidas pela interface gerada pelo framework, em destaque está a possibilidade do zoom livre. Disponibilizar esta funcionalidade

Leia mais

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Programação Orientada a Objectos - P. Prata, P. Fazendeiro 7 Classes Abstractas e Interfaces Classe Abstracta Classe em que pelo menos um dos métodos de instância não é implementado. Exemplo: public abstract class Forma{ public abstract double area(); public abstract

Leia mais

EA975 - Laboratório de Engenharia de Software

EA975 - Laboratório de Engenharia de Software EA975 - Laboratório de Engenharia de Software Turmas K/L - 2017 Aula 7 Componentes de Software Um componente de software é um segmento de código que pode ser reusado, eventualmente após um processo de

Leia mais

Avaliação de Frameworks de Produtividade para aplicações CRUD

Avaliação de Frameworks de Produtividade para aplicações CRUD Superintendência de Informática - SINFO/UFRN Avaliação de Frameworks de Produtividade para aplicações CRUD Leonardo René Campos Analista de TI Agenda 1. Introdução 2. Objetivos 3. Critérios de Avaliação

Leia mais

Singleton e Adapter. Professor: Nazareno Andrade (baseado no material de Hyggo Almeida e Jacques Sauvé)

Singleton e Adapter. Professor: Nazareno Andrade (baseado no material de Hyggo Almeida e Jacques Sauvé) e Adapter Professor: Nazareno Andrade (baseado no material de Hyggo Almeida e Jacques Sauvé) O que vimos na última aula? Factory Method Abstract Factory 2 O que veremos hoje? (padrão de criaçã) Adapter

Leia mais

4.6. UML Diagramas de componentes

4.6. UML Diagramas de componentes Engenharia de Software 4.6. UML Diagramas de componentes Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt Componentes são partes, executáveis e substituíveis, (idealmente reutilizáveis) de um sistema

Leia mais