Desenvolvimento de Aplicações com Entities Versão 3.1

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

Download "Desenvolvimento de Aplicações com Entities Versão 3.1"

Transcrição

1 Desenvolvimento de Aplicações com Entities Versão 3.1 Marcius Gomes Brandão - marciusbrandao@gmail.com Antônio Gomes Ferreira - antogofe@yahoo.com.br Hélio Augusto Sabóia Moura - helioasmoura@gmail.com

2 VIII.1 - Coringas...18 Entities 3.1 I - Introdução...3 I.1 - Origem...3 I.2 - Propriedade Intelectual...3 IX - Ação...19 IX.1 - Ações no Entities...20 IX.2 - Ação com Argumentos...20 IX.3 - Métodos Escondidos...20 IX.4 - Transação...20 I.3 - Garantia...3 X - Distribuição...21 II - Conceitos Básicos...4 XI - Configuração de SGBD...21 XI.1 - Múltiplas Bases de Dados...21 II.1 - Domínio...4 II.2 - JavaBeans...4 XII - Casos de Sucesso...22 II.3 - JPA...4 XII.1 - DER...22 II.4 - Repositório...4 XII.1.a - Controle de Ponto...22 XII.1.b - Avaliação de Temporários...22 II.5 - Interface Gráfica de Usuário...4 XII.1.c - Pró-Estradas...22 II.5.a - CRUD...5 XII.1.d - Sistema Corporativo SIGDER...23 II.5.b - Visões...5 II.5.c - Ações...5 XII.2 - ETICE...24 XII.2.a - Cinturão Digital...24 II.6 - Máquina de Estado...5 III - Preparação...5 XIII - Evolução do Entities... III.1 - Pré-Requisitos...5 XIV - Relatórios... III.2 - Distribuição do Entities...5 XV - Segurança... III.3 - Configuração...5 XVI - Uma Aplicação Completa... IV - Primeira Aplicação...6 XVII - Referências do Entities... IV.1 - Rodando os Exemplos...6 XVII.1 - Anotações... IV.1.a - Base de Dados...6 XVII.1.a IV.2 - QuickStart...6 XVII.1.b IV.3 - Rodando a Aplicação...7 XVII.1.c IV.3.a - Incluindo...7 XVII.1.d IV.3.b - Excluindo...7 XVII.1.e IV.3.c - Alterando...7 XVII.1.f IV.4 - Entendendo a Aplicação...8 XVII.1.g IV.4.a - Propriedade tipo String...8 XVII.1.h IV.4.b - Propriedade tipo Data...8 XVII.1.i IV.4.c - Propriedade tipo Enumeração...8 XVII.2 - Implementação de Repositórios...27 IV.4.d - Propriedade tipo Booleano...8 XVII.3 - LLE Linguagem de Layout do Entities...28 IV.4.e - Propriedade tipo Numérico...8 XVII.3.a - Resumo da Extended Backus-Naur Form...29 IV.4.f - Validação...9 IV.4.g - Campos Largos...9 IV.5 - Customizando...9 IV.6 - Adicionando Novas Entidades...10 IV.6.a - Menu da Aplicação...10 IV.7 - Mudando a Pele Skins...11 IV.8 - Internacionalização...11 IV.9 - Distribuição da Aplicação...11 IV.10 - Passos Para Montar uma Aplicação...11 V - Tela Formulário Padrão...12 V.1 - Só para Leitura...12 V.2 - Visões Padrões...12 V.2.a - TABLE...12 V.2.b - TABLE_CRUD...12 V.2.c - FORM...12 V.2.d - FORM_CRUD...12 VI - Relacionamentos...13 VII - Indo Além do CRUD...14 VII.1 - Primeira Visão...15 VII.2 - Segunda Visão...15 VII.3 - Terceira Visão...16 VII.4 - Quarta Visão...16 VII.5 - Quinta Visão...17 VIII - Adicionando Filtros...18 Segunda-feira, 3 de Maio de

3 Segunda-feira, 3 de Maio de

4 Célula de Tecnologia da Informação e Comunicação do Departamento de Edificações e Rodovias do Estado do Ceará I - Introdução CETIC/DER. Deste então vem sendo estudado por outros setores do O Entities é um framework Java com a finalidade de simplificar o governo do Ceará para possível uso. Principalmente nos órgãos que desenvolvimento de aplicações gerando automaticamente a interface estão migrando para a plataforma Java. gráfica de usuário a partir do modelo de negócio. A CETIC/DER vem utilizando o Entities desde janeiro de 2009 em Em outras palavras, o Entities gera a interface gráfica de usuário a partir de anotações Java inseridas nas classes de entidades JPA (Java Persistence API). Assim sendo o desenvolvedor foca sua atenção nas classes de negócio da aplicação o que resulta em um desenvolvimento mais eficiente, em tempo e qualidade. seu desenvolvimento e em muito tem colaborado com críticas e sugestões que vêm moldando o produto final. O analista de sistemas Antônio Ferreira, da CETIC/DER, se envolveu no projeto Entities como usuário projetista e desenvolvedor de aplicações fornecendo importante realimentação dos resultados O Entities foi todo desenvolvido visando atender a metodologia de obtidos e necessidades a serem cobertas pelo Entities. Objetos Expostos (Objetos Nús) Naked Objects que por sua vez Recentemente na CETIC/DER o analista de sistemas Hélio Moura leva à metodologia de Projeto Dirigido para o Domínio - DDD - Domain se juntou ao analista Marcius Brandão no desenvolvimento e Driven Design - onde o desenvolvedor representa o domínio de uma documentação do Entities. forma que seu conteúdo fique bem claro para ele e para o cliente. A representação do domínio se torna uma linguagem comum entre o I.2 - Propriedade Intelectual desenvolvedor e o cliente. Busca-se assim chegar a uma estrutura de entidades e seus relacionamentos que represente claramente os O Entities é um software livre e, assim sendo, pode ser usado dados e necessidades do cliente. para quaisquer finalidades sem incidir quaisquer ônus sobre seu uso. Partindo-se deste conceito, pode-se pensar em uma geração O Entities é mantido por seus autores. Críticas e sugestões devem automática de telas a partir do domínio uma vez que o domínio ser endereçadas a: representa claramente as necessidades do cliente. Marcius Gomes Brandão marciusbrandao@gmail.com O sítio Domain-Driven Design Community - contém boas Antônio Gomes Ferreira antogofe@yahoo.com.br referências sobre DDD - Hélio Augusto Sabóia Moura helioasmoura@gmail.com Em resumo, com o Entities é possível se obter a interface gráfica de usuário a partir de anotações específicas nos códigos das I.3 - Garantia entidades do domínio. O Entities se apresenta exatamente como está, isto é, não é fornecida por parte de seus autores nenhum tipo de garantia quanto a suas funcionalidades e resultados de seu uso. Qualquer pessoa ou O Entities está baseado nas pesquisas sobre Naked Objects e entidade que venha utilizá-lo, o fará por sua própria conta e risco. DDD; em ideias e códigos de projetos de software livres baseados 0 nesta metodologia e na experiência em desenvolvimento de seus criadores. I.1 - Origem A pesquisa teórica sobre Naked Objects e DDD pode ser referenciada pelos sítios Naked Objects - DDD Community - que são boas raízes para pesquisas sobre o assunto. Uma boa introdução ao DDD é dada no artigo: Almeida, R. - Java & DDD, Revista Java Magazine, edição 72, setembro/2009. Entre os projetos pesquisados estão: Naked Objects - OpenXava - Trails - Crank O motivo básico de se criar um novo projeto é o de tornar mais simples de se usar as ideias do Naked Objects e do DDD por parte dos desenvolvedores, além de dar mais flexibilidade no desenvolvimento e facilidade de uso. O desenvolvimento é feito com total aderência ao JPA independente de outras classes e com vasto uso de JavaBeans. e Além disto o Entities visa poder especificar interfaces gráficas mais customizáveis, dando ao desenvolvedor não só a possibilidade de criar páginas padrões CRUD e Lista-Detalhe simples mas também páginas com layouts mais sofisticados sem perder a simplicidade na definição destes layouts e manter sintonia com os preceitos do Naked Objects. O Entities foi criado pelo analista de sistemas Marcius Brandão. O Entities tomou um grande impulso quando foi adotado pela Segunda-feira, 3 de Maio de

5 que podem ser manipulados visualmente com a ajuda de uma ferramenta de desenvolvimento. II - Conceitos Básicos O Entities é baseado nos conceitos de Naked Objects, onde a premissa é a de que os objetos devem ser expostos ao usuários para que este possa manipulá-los. Em resumo, um JavaBean possui as seguintes características: implementa a interface java.io.serializable (possibilita a persistência e restauração do objeto) O objetivo é concentrar o esforço de desenvolvimento na definição das entidades e deixar que o framework gere a visualização destas entidades expondo-as ao usuário. possui um construtor sem argumentos possui métodos get e set para permitir o acesso a suas propriedades. Porque implementar N camadas se você precisa implementar apenas uma! Pode conter métodos de tratamento de eventos. O padrão JavaBean permite que as propriedades de um objeto sejam conhecidas programaticamente por meio da reflexão. ( O framework também ajuda na construção de serviços básicos como o CRUD, por exemplo. Muitos dos serviços exigidos pelas aplicações de negócios podem ser implementados genericamente ( O Entities faz alto uso de reflexão para montar a interface gráfica de usuário automaticamente. II.3 - JPA JPA Java Persistence API é a base da definição de domínio no Entities. IGU Validação ETL Domínio Segurança Relatório BI Repositótio IGU Interface Gráfica de Usuário ETL Exportar, Transformar e Carregar (Load) BI Business Inteligency II.1 - Domínio O domínio é o conjunto de entidades da aplicação. O Entities consulta as anotações do JPA para saber as características de apresentação das propriedades de uma entidade. A JPA usa os conceitos de JavaBeans na sua definição o que torna as propriedades de uma entidade acessíveis ao Entities por meio da reflexão. A JPA é utilizada para a construção de objetos completos no que tange seus comportamentos. Nota: Um objeto completo é aquele possui suas propriedades e todos os métodos que o manipulam. Objetos completos são imprescindíveis na metodologia Naked Objects pois o usuário deve ter em mãos os objetos e poder executar suas ações. II.4 - Repositório O Entities utiliza o conceito de repositório do DDD. Um repositório encapsula toda a lógica necessária para obter referências a objetos. Lembrando que no conceito de Naked Objects uma entidade possui Os objetos do domínio não precisam lidar com infra-estruturas todos os métodos que regem seu comportamento. Estes método são específicas para acessar outros objetos do domínio. as ações do Entities. O repositório abstrai toda a complexidade de acesso a outros O domínio deve ser projetado de maneira a deixar claro ao usuário objetos. quais são os objetos que deve manipular. Os objetos são mostrados ao usuário que pode criar novos objetos, No Entities pode-se criar novos repositórios para se dar acesso a alterar objetos, excluir objetos e disparar ações dos objetos com o fim novas estruturas. de cumprir sua meta. II.5 - Interface Gráfica de Usuário Nota: Usando uma aplicação baseada no Naked Objects, o usuário deixa de ser um seguidor do processo comandado pela aplicação para ser o condutor do processo por meio da manipulação dos objetos do domínio. Enfim, o usuário deixa de ser um operador leigo para ser um conhecedor do processo no qual atua. O Entities automatiza a geração da interface gráfica do usuário criando visões padrões para as entidades. Por meio de anotações Java o desenvolvedor pode influir na maneira que cada propriedade da entidade vai ser apresentada. Com isto, pode-se customizar validadores e outros artefatos que facilitem a representação e edição de uma propriedade de entidade. É essencial que o domínio seja construído junto com o cliente para Para todo tipo de propriedade o Entities possui uma forma padrão que este possa ter total conhecimento das entidades envolvidas e de de apresentação de edição e de apresentação somente para leitura. suas funcionalidades. Em geral estas formas são as mais comumente utilizadas e são Na realidade o domínio deve expressar ao máximo o problema do providas de recursos de edição ricos em funcionalidades. cliente utilizando-se de termos comuns no dia dia do cliente. II.2 - JavaBeans O conceito de JavaBeans leva a componentização ao mundo Java. Enfim, com anotações do Entities é possível definir não só as formas nas quais as propriedades são apresentadas e editadas, como também definir a ordem de apresentação destas propriedades. Nota: JavaBeans são componentes reutilizáveis de software Segunda-feira, 3 de Maio de

6 II.5.a - CRUD O Entities provê telas CRUD básicas baseadas em tabelas ou em formulários. Desta forma tratar de operações relacionadas a CRUD não demanda nenhum esforço do desenvolvedor. III - Preparação III.1 - Pré-Requisitos II.5.b - Visões Para se desenvolver aplicações utilizando O Entities permite que se crie visões especiais para a apresentação necessários os seguintes conhecimentos: de resultados de consultas JPQL (Java Persistence Query Language) JavaBeans de modo a se obter visões diferentes em momentos diferentes para a Estrutura de aplicações Web em Java mesma consulta. JPA - Java Persistence API Para a definição de uma visão o Entities utiliza um texto simples Os softwares necessários são: (String) como propriedade de uma anotação própria para entidades. JDK 6 - Java Development Kit 6 Como a premissa de manter o foco na programação de entidades, a Netbeans 6.8 definição de visões resultantes de consulta é feita em uma anotação aplicada à entidade que mais se adeque à visão criada. O objetivo é evitar de se criar outras estruturas de dados, como arquivos XML, que foram feitas para serem manipuladas por IDEs mas que se tornou comum passar esta tarefa para o desenvolvedor. o Entities, são III.2 - Distribuição do Entities O Entities é distribuído como uma aplicação vazia de nome Entities-Blank. Para não desviar a atenção do desenvolvedor sobre a definição de A aplicação vazia Entities-Blank é uma aplicação Web préentidades, foi criada uma linguagem simples para descrever o layout configurada com todos os recursos necessários ao Entities. da apresentação do resultado da consulta. A Entities-Blank pode ser baixada a partir do endereço: A Linguagem de Layout do Entities LLE provê a capacidade de se definir layouts de maneira muito simples por meio de um único texto (String). Este arquivo ZIP deve ser descompactado em qualquer pasta. A LLE apenas define a disposição dos campos da visão, a forma na O Entities-Blank é uma aplicação preparada para a IDE Netbeans qual cada campo vai ser apresentado é definida na propriedade da entidade dona do campo ou, na ausência de uma especificação 6.8. explícita, na forma padrão do Entities para aquele tipo de propriedade. III.3 - Configuração Sempre visando a simplicidade, o Entities segue a convenção de configuração mínima, isto é, ele já vem totalmente pré-configurado e pronto para funcionar. II.5.c - Ações Assim como as propriedades da entidades, o métodos da entidade Dentre os conceitos de Naked Objects, está o da criação da que não sejam do grupo 'get/set' são expostos ao usuário como aplicação incrementalmente, partindo-se de protótipos chegando, após comandos ou ações (em geral na forma de um botão). sucessivos refinamentos, à aplicação final. Portanto, as telas geradas pelo Entities dão ao operador acesso às A configuração inicial do Entities permite a elaboração rápida de propriedades e ao métodos das entidades. Tornando assim o objeto exposto ao operador como na premissa maior da metodologia Naked protótipos. Objects. Após todo o refinamento do protótipo, o desenvolvedor fica a cargo de configurar somente os itens que desejar diferenciar em sua aplicação, como a definição da base de dados por exemplo. II.6 - Máquina de Estado Quando o desenvolvimento é voltado a objetos, como em Naked Objects, não existe a figura de casos de uso e sim objetos a serem manipulados via seus métodos (ações). 0 A melhor maneira de se implementar casos de uso no Entities é por meio de máquinas de estados. No Naked Objects tudo é manipulado via instâncias de entidades, desta forma um estado da máquina de estados precisa ser uma entidade a ser instanciada. O estado da máquina de estado se relaciona com as entidades envolvidas no procedimento como qualquer outra entidade e possui métodos que permitem ou não a mudança para um outro estado. Desta forma a máquina de estado é persistida indicando o estado de um procedimento envolvendo certas entidades. 0 - Segunda-feira, 3 de Maio de

7 IV - Primeira Aplicação IV.2 - QuickStart O projeto Entities-Blank gera uma aplicação Web, cuja interface Nota: Fontes em 'exemplos/quickstart' gráfica gerada é baseada no JSF - JavaServer Faces usando o Facelets para componentização e disposição (layout). A biblioteca de Como primeira aplicação será criada uma entidade de nome componentes RichFaces (componentes JSF) é usada para a maioria Pessoa, no pacote model, e a partir dela serão geradas as telas de dos componentes utilizados pelo Entities. edição no padrão CRUD (Create, Read, Update, Delete). Nota: Outras bibliotecas de componentes e outros frameworks são usados no intuito de resolver as necessidades de visualização da aplicação gerada, mas o uso destes outros artefatos são totalmente abstraídos do desenvolvedor pelo Entities. As telas são geradas em tempo de execução, sendo assim, não existem arquivos de telas a serem editados posteriormente pelo desenvolvedor. Todo desenvolvimento é feito sobre o domínio! O fato das telas da interface gráfica serem geradas automaticamente, não impede que se produzam telas da forma normal. Assim sendo, nos casos onde o Entities não gera telas adequadas, estas podem ser escritas na forma tradicional, editando-se seus arquivos xhtml. IV.1 - Rodando os Exemplos Todos os exemplos contidos neste manual encontram-se na pasta exemplo dentro da pasta raiz do projeto Entities-Blank. Cada pasta de exemplo contém uma pasta src e uma pasta web. A pasta src contém as fontes de código Java e a configuração do Hibernate; esta pasta deve ser substituir a pasta de mesmo nome do projeto Entities-Blank. A pasta web contém o arquivo main.xhtml este arquivo deve substituir o arquivo de mesmo nome e local no projeto Entities-Blank. IV.1.a - Base de Dados A aplicação Entities-Blank vem configurada para utilizar uma base de dados Java DB embutida. Desta forma para rodar os exemplos é necessário apenas iniciar o servido Java DB. Clicar com o botão direito do ratinho em 'Serviços / Banco de Dados / Java DB' e escolher a opção Inicializar servidor. 0 - Na aplicação vazia, o Entities-Blank, deve-se criar a entidade Pessoa no pacote model. 15 public class Pessoa implements Serializable { public enum Sexo { MASCULINO, FEMININO } private long id; private Sexo sexo; = "^[A-Z,0-9\\s]{0,40}$") = "Informe o nome da pessoa") 28 private String nome; private Date datadenascimento; 32 = 1, precision = 2) 34 private float altura; private boolean deficientefisico; 37 // 10kb 40 private byte[] foto; // implementação dos GETTERS & SETTERS 100 // implementação do equals e hashcode 123 } Na pasta 'Páginas Web' o arquivo main.xhtml é a página principal da aplicação e deverá conter o código necessário para apresentar as páginas CRUD da aplicação. O arquivo main.xhtml contém: 1 <?xml version='1.0' encoding='utf-8'?> 2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 > 3 <html xmlns=" 4 xmlns:ui=" 5 xmlns:h=" 6 xmlns:e=" 7 <body> 8 <ui:composition template="./template.xhtml"> 9 <ui:define name="body"> <h:messages/> <e:view name="model.pessoa@table_crud"/> 13 </ui:define> 14 </ui:composition> 15 </body> 16 </html> As linhas em negrito foram adicionadas. Por fim, deve-se incluir a referência à entidade Pessoa no arquivo hibernate.cfg.xml para que esta entidade possa ser persistida <mapping class= "model.pessoa" /> 15 </session-factory> 16 </hibernate-configuration> Pronto! Uma vez criada a entidade só com anotações JPA e sendo esta referenciada na página principal da aplicação, pode-se compilar e executar a aplicação CRUD. Segunda-feira, 3 de Maio de

8 Salvar IV.3 - Rodando a Aplicação No Netbeans para limpar e compilar a aplicação tecla-se Shift+F11 e para executar tecla-se F6. Nota: Devido ao uso da base de dados embutida nas aplicações exemplo, antes de cada execução deve-se parar o servidor Web Tomcat. No Netbeans basta abrir a aba de projetos, expandir o item servidores, clicar com o botão direito do ratinho sobre o servidor Tomcat e escolher a opção Parar. Note-se que o campo 'Foto' é apresentado com um botão para escolher um arquivo para subir (upload) pois está no modo de edição. Clicando-se sobre o comando Salvar, a tabela é relistada com a entidade incluída mostrada só para leitura. Uma mensagem indicando que a inclusão foi feita também é apresentada. Mensagem A tela a seguir é apresentada no navegador (browser): Note-se que o campo 'Foto' é apresentado com um botão para baixar (download) pois está no modo de apresentação. Na tela inicial identificamos os seguintes campos: Após a inclusão de mais duas pessoas temos: Nome da Aplicação Nome da Entidade Barra de Ferramentas Barra de navegação Incluir Alterar Excluir Nesta figura são apresentados os diversos componentes da tela IV.3.b - Excluindo com suas identificações funcionais. Nota-se claramente o nome da aplicação, o nome da entidade na qual se deseja realizar operações Agora a segunda entidade é marcada para ser excluída: de CRUD, a barra de ferramentas com os comandos para incluir, alterar e excluir instâncias da entidade e a barra de navegação. Excluir A barra de navegação é usada para a paginação da apresentação do conjunto de entidades buscadas. O Entities automaticamente pagina a apresentação em lista em páginas de 10 entidades por vez. Entidade marcada para ser excluída Como se pode ver na figura 1, apenas o comando de inclusão está habilitado, pois ainda não existe nehuma entidade pessoa criada. IV.3.a - Incluindo Ao se clicar no comando incluir, uma nova entidade Pessoa é criada e a tela é atualizada para mostrá-la. Salvar Ao se clicar sobre o comando excluir, a seguinte mensagem é mostrada pedindo a confirmação da operação: Cancelar Após se confirmar a exclusão, a lista de entidades vola junto com a Deve-se preencher os campos da nova entidade criada e clicar mensagem confirmando a exclusão. sobre o comando salvar. IV.3.c - Alterando Lista de opções Aproveitando-se da mesma figura, um outro exemplo é mostrado: a primeira entidade é marcada para ser alterada e clica-se no comando Alterar. Note que o campo Sexo ficou com a lista de opções da enumeração Sexo definida na entidade Pessoa. Segunda-feira, 3 de Maio de

9 Mensagem Alterar Entidade marcada para ser alterada IV.4.b - Propriedade tipo Data Propriedades data (sql.date, util.date ou, Calendar) são caixas de texto formatadas no padrão brasileiro (dd/mm/aaaa ) seguidas de um botão que apresenta um calendário. Neste caso a é utilizada para apresentar apenas data e as anotações A lista é reapresentada com linha da entidade escolhida preparada para ser indicam um campo de hora e data-hora respectivamente. Mostrar calendário IV.4 - Entendendo a Aplicação Calendário Base de Dados: O Entities-Blank vem configurado para usar uma base de dados embutida utilizando o Java DB. Desta forma nenhuma configuração de base de dados é necessária no momento. Para se utilizar outro gerenciador de base de dados ou até mesmo múltiplas bases de dados, veja a seção Configuração de SGBD public enum Sexo { } 29 private Sexo sexo; Nas telas da aplicação nota-se que as colunas da tabela com os 35 private Date datadenascimento; dados da entidade foram nomeadas com o nome do campo na entidade. IV.4.c - Propriedade tipo Enumeração O Entities espera que os nomes dos campos da entidade Propriedades enumeradas são apresentados como lista de valores obedeçam a convenção JavaBean de nomeação de campos onde o nome do campo começa sempre com letras minúsculas e cada (comobox). palavra interna no nome comece com letra maiúscula (também conhecido como notação CamelCase). Por exemplo: o campo datadenascimento (notar a notação CamelCase) foi convertido para Data De Nascimento O Entities utiliza a reflexão para obter os nomes dos campos da entidade. O campos são adicionados à tabela em ordem alfabética. Pois a especificação Java não garante que a ordem dos campos obtidos pela reflexão estejam na mesma ordem em que foram criados na codificação. MASCULINO, FEMININO IV.4.d - Propriedade tipo Booleano Outro detalhe com relação a nomes, está no fato do rótulo usado na identificação da entidade. No lugar de se usar Pessoa foi utilizado As propriedades booleanas (boolean, Boolean) são apresentadas Pessoas no título da tela. O Entities se preocupa com o uso do plural como caixas de seleção (checkbox). adequado quando necessário. O Entities monta o componente de edição de acordo com o tipo do campo e suas anotações. IV.4.a - Propriedade tipo String 38 private boolean deficientefisico; Propriedades String são representados em caixas de texto, IV.4.e - Propriedade tipo Numérico obedecendo o tamanho especificado no JPA além de permitir sua validação por meio de expressões regulares. As propriedades numéricas (int, Integer, float, Float,, double, Double, long, Long, byte, Byte) são apresentadas como caixas de texto formatadas de acordo com a da JPA, obedecendo suas propriedades Scale e Precision = = "Informe o nome da pessoa") private String nome; 36 = 1, precision = 2) private float altura; Segunda-feira, 3 de Maio de

10 IV.4.f - Validação Todas as validações disponíveis no Hibernate-Validator são reconhecidas pelo Entities. Como exemplo na aplicação temos o caso em que se deixa o campo Nome em branco: Mensagem Campo vazio IV.4.g - Campos Largos O campo 'Foto é um campo largo. Em resumo, campos largos (@LOB - large object) são mostrados como comandos para baixar (download) se estiver em apresentação e como comandos para subir (upload) se estiver em edição. Na apresentação: } public enum Sexo { MASCULINO, @PropertyDescriptor(index = 1) private long = 2) private Sexo = = = = "Informe o nome da pessoa") private String = private Date = = 1, precision = 2) private float = 6, displayname = "Def. Físico") private // = 7) private byte[] foto; // implementação dos GETTERS & SETTERS // implementação do equals e hashcode A tela resultante destas modificações fica assim: Na edição: IV.5 - Customizando Nota-se a nova ordem das colunas, que foi ditada pelo campo index da Como no caso: Nota: Fontes em 'exemplos/quickstart-customizado' A aplicação Entities-Blank pode ser renomeada para o nome desejado para a aplicação em desenvolvimento. No Netbeans, devese clicar com o botão direito do ratinho sobre o projeto EntitiesBlank e escolher a opção Renomear... : 32 = 2) private Sexo sexo; onde a propriedade Sexo ficou na segunda coluna. Outra customização interessante seria a da apresentação da foto no lugar do comando de baixar (download). Para isto basta acrescentar a no campo Foto da entidade Pessoa // = private byte[] foto; A indica que se deve apresentar o campo Foto como uma imagem e não como um comando. A nova tela fica assim: Marcar para mudar o nome da pasta também deve-se, então, digitar o novo nome da aplicação, marcar para renomear também a pasta e clicar sobre o botão Renomear. A ordem de apresentação dos campos, assim como seus rótulos podem ser customizados pela do Entities. A classe da entidade Pessoa customizações é mostrada a seguir. modificada com algumas 22 public class Pessoa implements Serializable { 23 Segunda-feira, 3 de Maio de

11 IV.6 - Adicionando Novas Entidades Nota: Fontes em 'exemplos/mais-de-uma-entidade' 19 // implementação dos GETTERS & SETTERS // implementação do equals e hashcode 94 } Resta agora incluir o acesso ao CRUD desta entidade no menu. IV.6.a - Menu da Aplicação Neste exemplo será adicionada a entidade Cargo na aplicação. Como aplicação tem mais de uma entidade, é conveniente se ter um menu para escolher qual entidade será manipulada. Como no exemplo anterior, é preciso editar o arquivo de página padrão do Entities de nome main.xhtml. O arquivo main.xhtml contém: No arquivo main.xhtml duplicamos as linhas e as alteramos para referenciar a entidade Cargo. 11<h:form> 15 <rich:panelmenu mode="ajax" width="160px"> 22 <rich:panelmenugroup label="menu" expanded="true"> 26 <rich:panelmenuitem> 32 <e:go label="pessoa" 33 viewname="model.pessoa@table_crud" <rich:panelmenuitem> 42 <e:go label="cargo" 43 viewname="model.cargo@table_crud" </rich:panelmenugroup> 47 </rich:panelmenu> 51</h:form> Por fim, deve-se incluir a referência à entidade Cargo no arquivo hibernate.cfg.xml para que esta entidade possa ser persistida <?xml version='1.0' encoding='utf-8'?> 14 <mapping class="model.pessoa"/> 2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML <mapping class="model.cargo"/> Transitional//EN" " </session-factory> transitional.dtd"> 17 </hibernate-configuration> 3 <html xmlns=" 4 xmlns:ui=" Uma vez criadas as entidades só com anotações JPA e 5 xmlns:h=" 6 xmlns:e=" incluídas no menu as chamadas de edição de cada uma delas, pode7 <body> se compilar e executar a aplicação. 8 <ui:composition template="./template.xhtml"> 9 <ui:define name="body"> A tela com o menu fica assim: 10 <!-11 Escrever tela aqui! 12 --> 13 </ui:define> 14 </ui:composition> 15 </body> 16 </html> Pronto! Como agora existe um menu, inicialmente somente o menu é As linhas devem ser substituídas pelo código que referencia apresentado. Clica-se na opção Pessoa e tem-se a tela de edição da as páginas CRUD com menu: entidade Pessoa. 01<h:form> 02 <rich:panelmenu mode="ajax" width="160px"> 03 <rich:panelmenugroup label="menu" 04 expanded="true"> 05 <rich:panelmenuitem> 06 <e:go label="pessoa" 07 viewname="model.pessoa@table_crud" </rich:panelmenugroup> 11 </rich:panelmenu> 12</h:form> Clica-se sobre a opção Cargo e obtém-se a tela de edição da Na linha 3 o rótulo do grupo de menu foi denominado 'Menu' entidade Cargo, que após algumas edições tem-se: (label="menu"); na linha 6 o rótulo do item de menu foi denominado 'Editar' (label="pessoa"); na linha 7 está sendo indicado ao Entities que Título sem acento se deseja como tela um CRUD sobre a entidade Pessoa utilizando a forma de tabela (viewname="model.pessoa@table_crud"). Desta a forma a aplicação já está preparada para trabalhar com menu e editar a entidade Pessoa. Deve-se então criar uma nova entidade, por exemplo Cargo no mesmo pacote model : 10 public class Cargo implements Serializable { private long id; o título do cargo") 16 private String titulo; 17 private String sigla; 18 Note-se que o rótulo Titulo está sem acentuação porque o nome do campo da classe Cargo está sem acentuação, como é comum de se fazer em programa,ão. Para corrigir este problema foi criada a no Entities. Podemos ver esta anotação na linha 19 da entidade Cargo. Uma anotação similar também foi usada na linha 12. Segunda-feira, 3 de Maio de

12 = "Cargo", pluraldisplayname = "Cargos") 13 public class Cargo implements Serializable { private long id; o título do cargo") = "Título") 20 private String titulo; a sigla do cargo") = "Sigla") 23 private String sigla; 24 // implementação dos GETTERS & SETTERS // implementação do equals e hashcode 100 } Após recompilar e executar a aplicação, podemos ver a mudança no nome da coluna do campo Titulo. Título com acento A aplicação utilizará o idioma definido na máquina onde está rodando o navegador (browser) do cliente. IV.9 - Distribuição da Aplicação A aplicação a ser distribuída foi criada na forma de um arquivo WAR (Web Archive) na pasta dist após a sua montagem. Este arquivo contém todos os recursos necessários à aplicação e pode ser implantado em qualquer servidor de aplicações Web para Java. IV.10 - Passos Para Montar uma Aplicação Os passos necessários para se criar uma aplicação baseada no Entities são: Descompactar o arquivo 'Entities-Blank-v.zip' onde 'v' é a versão do Entities-Blank. Renomear a aplicação Entities-Blank para o nome desejado Criar as entidades Referenciar as entidades em 'main.xhtml' Referenciar as entidades em 'hibernate.cfg.xml Montar e distribuir a aplicação WAR 0 - IV.7 - Mudando a Pele Skins O Entities permite a mudança de pele, no que tange a tonalidades de cores. Os ícones usados no Entities foram obtidos no sítio Estes ícones, assim como a costumização do RichFaces foram utilizados para gerar as peles default, skyblue e wine. Desta forma, configurando o RichFaces para uma destas peles, os ícones do Entities automaticamente se adaptam ao padrão de cor. IV.8 - Internacionalização O Entities permite a internacionalização das telas geradas por meio de arquivos de recursos de nome I18N.propreties que deve ser criado para cada idioma a ser utilizado na pasta raiz de recursos (pacotes). O arquivo 'I18N.propreties' contém o idioma padrão, português. Para uma versão em inglês basta criar o arquivo 'I18N_en.propreties' na pasta raiz de recursos. Para cada entidade a ter seus rótulos internacionalizados o arquivo de idioma deve ter as seguintes propriedades: Entities.<entidade>.displayName=<txt> Entities.<entidade>.pluralDisplayName=<txt> Entities.<entidade>.shortDescription=<txt> Onde <entidade> é o nome da entidade e <txt> em cada linha é o texto no idioma desejado. Para cada propriedade de entidade a ter seus rótulos internacionalizados o arquivo de idioma deve ter as seguintes propriedades: Entities.<entidade>.<propriedade>.displayName=<txt> Entities.<entidade>.<propriedade>.pluralDisplayName=<txt> Entities.<entidade>.<propriedade>.shortDescription=<txt> Onde <entidade>.<propriedade> é o nome da entidade e da propriedade e <txt> em cada linha é o texto no idioma desejado. O Entities automaticamente carrega todos os arquivos I18N e aplica a internacionalização nas entidades e campos cobertos por estes arquivos. Segunda-feira, 3 de Maio de

13 V.2.b - TABLE_CRUD V - Tela Formulário Padrão Nota: Fontes em 'exemplos/tela-formulario-padrao' Apresenta todos os campos da entidade na forma de uma tabela mas com comandos que permitem ações de incluir, alterar e excluir. Assim como no caso de TABLE são também criados comandos Até este ponto, as listas de entidades foram apresentadas sob a de auxílio à navegação. forma de linhas em uma tabela onde cada coluna representa um campo. Isto correu porque na referência à tela desejada no arquivo 'main.xhtml' se usou '@TABLE_CRUD' que é uma das formas V.2.c - FORM padrões de apresentação de uma entidade no Entities. Uma outra forma padrão de apresentação de entidade no Entities é a '@FORM_CRUD' que apresenta a entidade na forma de um formulário vertical. A aplicação CRUD da entidade Pessoa (exemplo Primeira Aplicação Quick Start) teria apenas o arquivo 'main.xhtml' modificado para: <?xml version='1.0' encoding='utf-8'?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 > <html xmlns=" xmlns:ui=" xmlns:h=" xmlns:e=" <body> <ui:composition template="./template.xhtml"> <ui:define name="body"> <h:messages/> <e:view name="model.pessoa@form_crud"/> </ui:define> </ui:composition> </body> </html> Simplesmente apresenta todos os campos da entidade em um formulário não editável. Também é criado um conjunto de comandos para auxiliar na navegação. V.2.d - FORM_CRUD Apresenta todos os campos da entidade em um formulário mas com comandos que permitem ações de incluir, alterar e excluir. Assim como no caso de FORM são também criados comandos de auxílio à navegação. 0 - Note-se que a tag 'e:view' tem a propriedade 'name' alterada para o novo formato padrão. Um exemplo de tela neste formato é mostrado a seguir. V.1 - Só para Leitura No caso de se querer apresentar entidades só para leitura, basta utilizar a '@FORM' no lugar de '@FORM_CRUD'. O mesmo é válido para o caso tabular. Deve-se neste caso usar '@TABLE' no lugar de '@TABLE_CRUD'. Toda customização feita nos exemplos com '@TABLE_CRUD' também funcionam com '@TABLE', '@FORM' e '@FORM_CRUD'. V.2 - Visões Padrões Na definição do menu, quando se necessita especificar um nome de visão (View), pode-se informar uma visão definida pelo desenvolvedor na classe da entidade ou uma visão padrão. Uma visão padrão é referenciada pelo nome da entidade seguido de '@' (arroba) e seguido do nome da visão padrão. O Entities se encarrega de gerar as telas necessárias. Por exemplo: Na primeira aplicação apresentada neste manual o desenvolvedor especificou a visão padrão TABLE_CRUD da seguinte forma: model.pessoa@table_crud. Onde model.pessoa é o nome da entidade para qual serão geradas as telas TABLE_CRUD especifica que se deseja as telas de CRUD na forma de tabelas. V.2.a - TABLE Simplesmente apresenta todos os campos da entidade na forma de uma tabela não editável. Também é criado um conjunto de comandos para auxiliar na navegação. A navegação é feita linha a linha e em blocos (ou páginas) de tamanho fixo. Segunda-feira, 3 de Maio de

14 VI - Relacionamentos Nota: Fontes em 'exemplos/relacionamentos' Neste exemplo é mostrada uma aplicação envolvendo três entidades, País, Estado e Cidade, que possuem relacionamentos entre si. Como resultados vai-se notar que os relacionamentos geram listas de escolhas nos campos quando se está na tela de edição. Entidade País: public class Cidade implements private = 40) private String private Estado estado; // GETTERS & SETTERS } Entidade Estado: = "estado") 19 public class Estado implements Serializable { /* Id baseado no código do IBGE */ = 2, max = 2) private String id; 26 = 30) 29 private String nome; 30 = 30) 33 private String capital; 34 = true) 36 private int codigoibge; 37 = CascadeType.ALL, mappedby = "estado") 39 private List<Cidade> cidades = new ArrayList<Cidade>(); private Pais pais; // GETTERS & SETTERS 129 } @Pattern(regex = "[A-Z]{2}") private @Pattern(regex = "[A-Z]{3}") private String = CascadeType.ALL, mappedby = "pais") private List<Estado> estados = new ArrayList<Estado>(); // SETTERS & GETTERS 135 } Incluindo o acesso ao CRUD de cada entidade no menu, o arquivo main.xhtml fica assim. 14 <rich:panelmenu mode="ajax" width="160px"> 15 <rich:panelmenugroup label="locais" expanded="true"> 16 <rich:panelmenuitem> 17 <e:go label="países" 18 viewname="model.pais@table_crud" <rich:panelmenuitem> 22 <e:go label="estados" 23 viewname="model.estado@table_crud" <rich:panelmenuitem> 27 <e:go label="cidades" 28 viewname="model.cidade@table_crud" </rich:panelmenugroup> 32 </rich:panelmenu> Por fim, deve-se incluir a referência à entidade Cargo no arquivo hibernate.cfg.xml para que esta entidade possa ser persistida. 3 <hibernate-configuration> 4 <session-factory> <mapping class=".cidade"/> 15 <mapping class="model.estado"/> 16 <mapping class="model.pais"/> 17 </session-factory> 18 </hibernate-configuration> Pronto! Uma vez criadas as entidades só com anotações JPA e incluídas no menu as chamadas de edição de cada uma delas, podese compilar e executar a aplicação. A tela inicial da aplicação fica assim: Após a inclusão de dois países, a tela fica assim: Entidade Cidade: 23 public class Pais implements Serializable { 24 private static final long serialversionuid = 1L; 26 = "[0-9]{3}") 32 private String id; private String nome; 37 Ao se incluir um estado notamos a presença da lista de países devido ao relacionamento entre países e estados. Lista de paises obtida do relacionamento Segunda-feira, 3 de Maio de

15 Ao se incluir uma cidade notamos a presença da lista de estados devido ao relacionamento entre cidades e estados. VII - Indo Além do CRUD Lista de estados obtida do relacionamento Nota: Fontes em 'exemplos/indo-alem-do-crud' Um ponto forte no Entities é a possibilidade de facilmente se configurar um formulário. 0 - A anotação '@View' foi criada para este fim. Esta anotação é responsável por definir visões a serem mostradas na tela. Uma visão permite que se monte um formulário com os dados resultantes de uma consulta feita no modelo e ainda definir o layout do formulário. Esta anotação deve ser aplicada sobre uma entidade do modelo. Pois ela se refere à uma consulta pré-definida pela anotação '@NamedQuery'. A definição dos layouts envolvidos em uma visão é feita utilizando a Linguagem de Layout do Entities LLE. Uma visão produzida pela possui as seguintes propriedades que definem o seu layout: namedquery Nome da consulta a ser utilizada para obtenção dos dados a serem mostrados. name Nome da visão ser referenciado no menu. title Título a ser mostrado no topo do painel da visão. filters (opcional) Layout do filtro a ser usado nas buscas filtradas. Define cada propriedade de entidade utilizada como filtro. (usando LLE) header (opcional) Título a ser mostrado no topo da tabela de dados. members Layout de apresentação dos dados. Cada linha da tabela de apresentação de dados obedecerá este layout. (usando a LLE) footer (opcional) Layout do rodapé a ser mostrado no final da tabela. (usando a LLE) Uma visão gera uma tela com a seguinte disposição: [ TITLE ] [ FILTERS ] [ HEADER ] [ MEMBERS ] [ FOOTER ] Como exemplo serão mostradas cinco visões de uma mesma consulta (query) no caso da entidade Pessoa. A seguir é mostrada a entidade Pessoa com as anotações de consultas e de visões e em seguida é descrita cada uma das visões nela definidas. A entidade Pessoa fica assim: @NamedQuery( name="consultapessoa", query="select p from model.pessoa p" name="visaopessoa_1", namedquery="consultapessoa", title="exemplo 1 de Visão do Entities", members="id,nome,sexo,altura," + Segunda-feira, 3 de Maio de

16 "datadenascimento,deficientefisico", footer = "Ctrl.List.scroll()" name="visaopessoa_2", namedquery="consultapessoa", title="exemplo 2 de Visão do Entities", members="[[id,nome]:4;" + "sexo,altura,datadenascimento," + "deficientefisico]", footer = "Ctrl.List.scroll()" name="visaopessoa_3", namedquery="consultapessoa", title="exemplo 3 de Visão do Entities", members="quem[id,nome]," + "Dados 1[sexo;altura]," + "Dados 2[dataDeNascimento;" + " deficientefisico]", footer = "Ctrl.List.scroll()" name="visaopessoa_4", namedquery="consultapessoa", title="exemplo 4 de Visão do Entities", members="[ [ id,nome ];" + " [ Dados 1 [ sexo;altura ]," + " Dados 2 [ datadenascimento;" + " deficientefisico ]" + " ]" + "]", footer = "Ctrl.List.scroll()" ) }) 60 public class Pessoa implements Serializable { public enum Sexo { MASCULINO, FEMININO } 68 private long id; 69 private Sexo sexo; = "^[A-Z,0-9\\s]{0,40}$") = "Informe o nome da pessoa") 73 private String nome; 75 private Date datadenascimento; = 1, precision = 2) 77 private float altura; 78 private boolean deficientefisico; // implementação dos GETTERS & SETTERS // implementação do equals e hashcode 153 } Nesta classe nota-se as visões (@View) embutidas Nota: O Entities espera que as estejam sempre dentro de uma mesmo que só exista uma }) viewname="model.pessoa@visaopessoa_1" <rich:panelmenuitem> 27 <e:go label="exemplo View 2" 28 viewname="model.pessoa@visaopessoa_2" <rich:panelmenuitem> 32 <e:go label="exemplo View 3" 33 viewname="model.pessoa@visaopessoa_3" <rich:panelmenuitem> 37 <e:go label="exemplo View 4" 38 viewname="model.pessoa@visaopessoa_4" </rich:panelmenugroup> 42 </rich:panelmenu> 43 <e:view /> 44 </h:panelgrid> 45 </h:form> Nota: O Entities espera que a esteja dentro de uma mesmo que exista apenas 20 name="consultapessoa", 21 query="select p from model.pessoa p" 22 ) 23 }) VII.1 - Primeira Visão Menu: 16 <rich:panelmenuitem> 17 <e:go label="crud" 18 viewname="model.pessoa@table_crud" Tela: ), ), ), ) O menu criado referencia 5 visões, sendo a primeira o CRUD padrão já visto e as demais visões são definidas por uma das na entidade Pessoa. O meu fica assim: 11 <h:form> 12 <h:panelgrid columns="2"> 13 <rich:panelmenu mode="ajax" width="160px"> 14 <rich:panelmenugroup label="visões" 15 expanded="true"> 16 <rich:panelmenuitem> 17 <e:go label="crud" 18 viewname="model.pessoa@table_crud" <rich:panelmenuitem 22 <e:go label="exemplo View 1" VII.2 - Segunda Visão Menu: <rich:panelmenuitem> <e:go label="exemplo View 1" viewname="model.pessoa@visaopessoa_1" Segunda-feira, 3 de Maio de

17 Neste item de menu, a visão VisaoPessoa_1 da classe model.pessoa é referenciada. Visão: externo envolvendo todos os itens, só existirá uma coluna na tela gerada. Dentro do grupo mais externo tem-se: name="visaopessoa_1", namedquery="consultapessoa", title="exemplo 1 de Visão do Entities", members="id,nome,sexo,altura," + "datadenascimento,deficientefisico", footer = "Ctrl.List.scroll()" ), Neste exemplo, definição: a propriedade members tem a Como já foi visto o ponto-e-vírgula realiza uma quebra de linha, obtém-se assim duas linhas: [id,nome]:4 sexo,altura,datadenascimento,deficientefisico A primeira linha é formada por um grupo contendo os campos id e nome. Este grupo forma uma coluna. seguinte A segunda linha contém os demais 4 itens, formando então quatro colunas. Para evitar este desencontro de uma coluna sobre quatro id,nome,sexo,altura,datadenascimento,deficientefisico colunas, a primeira linha termina com ':4' que indica que a coluna Cada campo é separado do outro por uma vírgula o que indica que deve ocupar o lugar de quadro colunas, igualando a primeira linha com a segunda em números de colunas. devem ficar em uma mesma linha. Cada campo será apresentado como uma coluna na tabela de saída. Tela: Nesta visão, os campos foram simplesmente referenciados em uma lista que indica a ordem que devem ser apresentados em cada linha. O título de cada coluna é o nome do campo ou o nome especificado pela aplicada ao campo. Tela: VII.4 - Quarta Visão Menu: VII.3 - Terceira Visão Menu: <rich:panelmenuitem> <e:go label="exemplo View 3" viewname="model.pessoa@visaopessoa_3" Neste item de menu, a visão VisaoPessoa_3 da classe <rich:panelmenuitem> model.pessoa é referenciada. <e:go label="exemplo View 2" viewname="model.pessoa@visaopessoa_2" Visão: 40 name="visaopessoa_3", Neste item de menu, a visão VisaoPessoa_2 da classe 41 namedquery="consultapessoa", model.pessoa é referenciada. 42 title="exemplo 3 de Visão do Entities", 43 members="quem[id,nome]," + Visão: 44 "Dados 1[sexo;altura]," + 45 "Dados 2[dataDeNascimento;" + " deficientefisico]", 33 name="visaopessoa_2", 46 footer = "Ctrl.List.scroll()" 34 namedquery="consultapessoa", 47 ), 35 title="exemplo 2 de Visão do Entities", 36 members="[[id,nome]:4;" + Neste exemplo, a propriedade members tem a seguinte "sexo,altura,datadenascimento," + definição: "deficientefisico]", Quem[id,nome],Dados 1[sexo;altura], 37 footer = "Ctrl.List.scroll()" Dados 2[dataDeNascimento;deficienteFisico] 38 ), Neste exemplo, definição: a propriedade members tem a seguinte [[id,nome]:4;sexo,altura,datadenascimento,definientefisico] As vírgulas separam a linha em três colunas: Quem[id,nome] Dados 1[sexo;altura] Dados 2[dataDeNascimento;deficienteFisico] Na LLE um ponto-e-vírgula ';' indica uma quebra de linha, assim A primeira coluna é um grupo com os campos id e nome. Na LLE sendo, duas linhas serão criadas para cada entidade. A primeira linha conterá os campos id e nome e a segunda linha conterá os campos quando um grupo é precedido de um texto este texto, chamado de rótulo do grupo, torna-se o nome da coluna. Neste caso, a primeira sexo, altura, datadenascimento e deficientefísico. coluna tem o nome 'Quem'. Na LLE colchetes ('[' e ']') delimitam um grupo. Desta forma temos A segunda coluna é um grupo de rótulo 'Dados 1' que se tornará o um grupo que engloba toda a visão e um outro grupo interno que nome da coluna. O conteúdo desta coluna são os campos sexo e engloba os campos id e nome. altura separados por ponto-e-vírgula que provocará a quebra de Na LLE cada grupo forma uma coluna. Como só existe um grupo linha entre eles. Segunda-feira, 3 de Maio de

18 A terceira coluna é um grupo de rótulo 'Dados 2' que se tornará o nome da coluna. O conteúdo desta coluna são os campos datadenascimento e deficientefisico separados por ponto-evírgula que provocará a quebra de linha entre eles. Tela: VII.5 - Quinta Visão Menu: <rich:panelmenuitem> <e:go label="exemplo View 4" viewname="model.pessoa@visaopessoa_4" Neste item de menu, a visão VisaoPessoa_4 da classe model.pessoa é referenciada. Visão: name="visaopessoa_4", namedquery="consultapessoa", title="exemplo 4 de Visão do Entities", members="[ [ id,nome ];" + " [ Dados 1 [ sexo;altura ]," + " Dados 2 [ datadenascimento;" + " deficientefisico ]" + " ]" + "]", footer = "Ctrl.List.scroll()" ) Neste exemplo, definição: a propriedade members tem a Nota: A seção 'LLE - Linguagem de Layout do Entities' tem mais detalhes sobre a definição de layouts de visões. 0 - seguinte [[id,nome];[dados1[sexo;altura],dados 2 [datadenascimento;deficientefisico]]] Existem um grupo mais externo que apresentará tudo em uma única coluna. Resta então: [id,nome];[dados1[sexo;altura],dados 2 [datadenascimento;deficientefisico]] O ponto-e-vírgula após o primeiro grupo separa a saída em duas linhas. A primeira linha contém o grupo: [id,nome] e a segunda linha linha contém o grupo: [Dados1[sexo;altura],Dados 2 [datadenascimento;deficientefisico]] Assim sendo a primeira linha terá os campos id e nome em linha, e a segunda linha terá os grupos: Dados1[sexo;altura] Dados 2 [datadenascimento;deficientefisico]] Como estes dois grupos estão dentro de um outro grupo que já forma uma coluna de saída, a presença dos rótulos gerará painéis formando duas novas colunas com seus respectivos rótulos internamente à coluna mais externa. Tela: Segunda-feira, 3 de Maio de

19 Comando para Filtrar VIII - Adicionando Filtros Nota: Fontes em 'exemplos/filtrando' O Entities permite que sejam incluídos filtros em uma visão. Para isto é necessário apenas incluir a propriedade filters O código fonte de model.pessoa modificado para conter uma visão com filtro é o seguinte: @NamedQuery( name="consultapessoa", query="select p from model.pessoa p" name="visaopessoa", namedquery="consultapessoa", title="exemplo com Filtros", filters="filtro[nome,ctrl.dao.filter()]", members="id,nome,sexo,datadenascimento, + altura,deficientefisico", footer="ctrl.list.scroll()" ) }) public class Pessoa implements Serializable { } public enum Sexo { MASCULINO, private long id; private = = "Informe o nome da pessoa") private String private Date = 1, precision = 2) private float altura; private boolean deficientefisico; A mesma tela, agora com um valor de filtro aplicado ao se pressionar o comando de filtro. VIII.1 - Coringas O Entities permite o uso de construções de caracteres coringas para filtrar campos. No filtro de qualquer campo, é possível especificar valores assim como faixas de valores aceitas. Um valor também pode ser uma data no formato DD/MM/AAAA (DD - dia; MM - mês; AAAA - ano). Os valores ou faixa de valores possíveis são separados por ';' (ponto e vírgula). Por exemplo: // implementação dos GETTERS & SETTERS // implementação do equals e hashcode 1;2;5,6;9,8 Especifica os valores 1 (um), 2 (dois), 5,6 (cinco vírgula seis) e 9,8 (nove vírgula oito). A definição do filtro é feita usando a LLE. 1 a 5;7 a 19;21 a 35 Neste exemplo está-se criando um grupo com rótulo 'Filtro' Especifica as seguintes faixas de valores: 1 a 5 (de um a cinco), 7 a contendo o campo nome e o comando 'Ctrl.DAO.filter()' que é 19 (de sete a dezenove) e 21 a 35 (de vinte um a trinta e cinco). representado na tela como a imagem de um funil. 1 a 5;3,4;6;45 a name="visaopessoa", namedquery="consultapessoa", title="exemplo com Filtros", filters="filtro[nome,ctrl.dao.filter()]", members="id,nome,sexo,datadenascimento, + altura,deficientefisico", footer="ctrl.list.scroll()" ) Especifica: faixa de valores de 1 a 5 (de um a cinco), valor isolado 3,4 (três vírgula quatro), valor isolado 6 (seis) e faixa de valores de 45 a 60 (quarenta e cinco a sessenta). 21/08/2009;31/01/2010 a 20/04/2010 Especifica: a data 21/08/2009 (vinte e um de agosto de dois mil e nove) e a faixa de datas de 31/01/2010 a 20/04/2010 (trinta e um A seguir vê-se a tela com o filtro montado sobre a visão de de janeiro de dois mil e dez a vinte de abril de dois mil e dez). apresentação da entidade Pessoa. O caractere '*' (asterisco) indica zero ou mais caracteres. Por exemplo: *XYZ especifica qualquer texto terminado com XYZ. A* especifica qualquer texto começado com A. Para*fim especifica qualquer texto começado com Para e terminado com fim. Segunda-feira, 3 de Maio de

20 *oba* especifica qualquer texto que contenha oba. O caractere '_' (sublinha) Indica um caractere qualquer. Por exemplo: L_pis IX - Ação Nota: Fontes em 'exemplos/primeira-acao' Neste exemplo é mostrado o uso de uma ação. Uma ação é um comando disparado pelo operador do sistema. Em indica uma palavra iniciada com L, seguido de um caractere geral trata-se de um botão. qualquer e terminada com pis. O Entities obedece os preceitos de Naked Objects onde os X métodos de uma entidade são ações que retornam valores para o indica uma palavra iniciada com X, seguido de três caracteres operador do sistema. Se um método retorna um valor do tipo texto (String), o texto retornado será mostrado ao operador como se fosse quaisquer. uma mensagem do sistema para o operador. Limitadores indicam valores limites superiores, inferiores ou de Neste exemplo, adicionaremos à entidade Pessoa do exemplo igualdade. QuickStart um campo de nome peso (float) e um método que calcula o Por exemplo: índice de massa corpórea da pessoa e emite uma mensagem ao operador sobre a situação da pessoa quanto ao seu peso. >20 especifica valores acima de vinte. <=31 especifica valores menores ou iguais a trinta e um. 0 - A nova entidade Pessoa fica assim: pluraldisplayname="pessoas") 24 public class Pessoa implements Serializable { 26 public enum Sexo { MASCULINO, FEMININO } 27 = 1) 31 private long id; 32 = 2) 34 private Sexo sexo; 35 = 40) = 3) = "^[A-Z,0-9\\s]{0,40}$") = "Informe o nome da pessoa") 40 private String nome; 41 = 4) 44 private Date datadenascimento; 45 = 5) = 1, precision = 2) 48 private float altura; 49 = 6) = 3, precision = 2) 52 private float peso; 53 = 7, displayname = "Def. Físico") 55 private boolean deficientefisico; public String calculaimc() { 59 float imc = peso / (altura * altura); 60 if (imc < 18.5) return String.format( "%s está abaixo do peso ideal (IMC=%4.1f)", nome, imc); 61 if (18.5 <= imc && imc < ) return String.format( "%s está no peso normal (IMC=%4.1f)", nome, imc); 62 if ( <= imc && imc < 30) return String.format( "%s está acima do peso (IMC=%4.1f)", nome, imc); 63 if (30 <= imc && imc < 35) return String.format( "%s está com obesidade grau I (IMC=%4.1f)", nome, imc); 64 if (35 <= imc && imc < 40) return String.format( "%s está com obesidade grau II (IMC=%4.1f)", nome, imc); 65 return String.format( "%s está com obesidade grau III", Segunda-feira, 3 de Maio de

21 nome, imc); } este método se tornará uma ação e quando esta ação for disparada pelo operador, a aplicação automaticamente abrirá um diálogo pedindo ao operador o valor de cada argumento. } // implementação dos GETTERS & SETTERS // implementação do equals e hashcode Como exemplo, o método: A tela da aplicação, após incluir um registro fica assim: public String double double y) { return Área = + x * y; } Botão da ação Os argumentos largura e altura serão pedidos ao operador por meio de um quadro de diálogo. Nota-se que um botão de rótulo IMC foi inserido na linha de registro da pessoa. Este botão foi uma conseqüência da inclusão do método: 57 public String calculaimc() { } Ao se clicar neste botão a aplicação retorna com a seguinte tela: Mensagem ao operador O título que aparace no quadro de diálogo é obtido do método tostring() da entidade. Dependendo do tipo do argumento o Entities pode tomar as seguintes ações: Tipo do Valor Retornado Ao se pressionar o botão IMC o método calcularimc() foi chamado e o texto retornado por ele foi mostrado ao operador. IX.1 - Ações no Entities Tipo do Valor Retornado Retorna como uma mensagem para o operador. Retorna o valor como mensagem para o operador. uma (e envelopes) OutpustStream Pede ao operador que digite via um quadro de diálogo. byte, short, int, float, double Pede ao operador que digite via um quadro de diálogo. (e envelopes) Sobe algum arquivo que será lido pelo método (upload). IX.3 - Métodos Escondidos Para um método de uma entidade não ser apresentado como uma ação, basta usar a propriedade hide da Ação Tomada byte, short, int, float, double String InpustStream O Entities tem algumas ações padrões de acordo com o tipo do valor retornado pelo método da ação. String Ação Tomada Baixa a imagem gerada public String calculoescondido() { } IX.4 - Transação Se uma ação vai atualizar valores na entidade e estes valores devem ser persistidos, deve-se usa a do Entities. Esta anotação insere o uso de uma transação na execução do método e assim toda alteração feita no modelo é persistida. 0 - WorkBook (Apache-POI) [ WorkBook, String ] (Vetor contendo planilha e um texto) uma Baixa a planilha (download). Baixa a planilha como um arquivo cujo nome é o texto (download). Para os resultados não apresentados na tabela, o Entities não toma nenhuma atitude. IX.2 - Ação com Argumentos No Entities ações podem receber argumentos. Neste caso, ainda obedecendo ao DDD, os argumentos têm que ser obtidos do operador do sistema. Ao inserir um método com argumentos em uma entidade, Segunda-feira, 3 de Maio de

22 X - Distribuição No caso de se desejar utilizar outro gerenciador de base de dados, deve-se estar de posse do driver JDBC do gerenciador e da URL da base de dados a ser utilizada. É claro que a base de dados precisa ser criada também. A aplicação a ser distribuída é criada na forma de um arquivo WAR O driver da base de dados deve ser copiado para um lugar (Web Archive) na pasta dist após a sua montagem. Este arquivo contém todos os recursos necessários à aplicação e pode ser conhecido pela aplicação. É sugerida a pasta lib que já vem criada na aplicação vazia. No Netbeans deve-se, então, clicar com o botão implantado em qualquer servidor de aplicações Web para Java. direito do ratinho sobre o item Bibliotecas, da aba Projetos, e escolher a opção de informar um arquivo JAR. Navega-se até a pasta lib e escolhe-se o arquivo do driver desejado. Desta forma o JDBC será Nota: Convém lembrar que antes de implantar a aplicação as incluído no arquivo WAR da aplicação gerada. configurações de bases de dados devem ser alteradas para as bases de dados a serem usadas em produção e a aplicação deve ser recompilada. XI.1 - Múltiplas Bases de Dados O Entities permite o uso de múltiplas bases de dados, neste caso basta criar um arquivo de configuração do Hibernate para cada base de dados no pacote raiz. O Entities carrega automaticamente todos os O Entities utiliza as configurações de bases de dados do Hibernate. arquivos que terminarem com: O arquivo 'hibernate.cfg.xml' está localizado no pacote padrão.hibernate.cfg.xml da aplicação (ou pacote raiz). que estejam no pacote padrão (pasta raiz de pacotes da aplicação). XI - Configuração de SGBD 0 - O Entities-Blank vem pré-configurado para uma base de dados embutida na aplicação utilizando o Java DB. Desta forma o arquivo 'hibernate.cfg.xml' inicialmente contém: 3<hibernate-configuration> 4 <session-factory> 5 <property name="hibernate.dialect"> org.hibernate.dialect.derbydialect </property> 6 <property name="hibernate.connection.driver_class"> org.apache.derby.jdbc.embeddeddriver </property> 7 <property name="hibernate.connection.url"> jdbc:derby:entitiesdb;create=true </property> 8 <property name="hibernate.current_session_context_class"> thread</property> 9 <property name="hibernate.hbm2ddl.auto"> update </property> 10 </session-factory> 11 </hibernate-configuration> Neste arquivo as seguintes propriedades devem ser definidas de acordo com a base de dados a se utilizar: hibernate.dialect nome do dialeto de base de dados a ser usado pelo Hibernate (em geral é org.hibernate.dialect. acrescentado do nome do gerenciador de base de dados) hibernate.connection.driver_class nome da classe driver do gerenciador de base de dados a ser usado (fornecido pelo fabricante do gerenciador). hibernate.connection.url URL que referencia a base de dados a ser usada (depende do gerenciador de base de dados). hibernate.connection.username nome de usuário a ser usado para acessar a base de dados. hibernate.connection.password senha do usuário usado para acessar a base de dados. Nota: Somente estas propriedades devem ser adaptadas à situação corrente, as demais propriedades devem ficar inalteradas. Segunda-feira, 3 de Maio de

23 XII - Casos de Sucesso Nesta seção são citados alguns sistemas implantados utilizando a plataforma Entities. XII.1 - DER No DER, Departamento de Edificações e Rodovias do Estado do Ceará, todos os sistemas estão sendo desenvolvidos na plataforma do Entities deste janeiro de Contato: Antônio Gomes Ferreira antogofe@yahoo.com.br XII.1.a - Controle de Ponto XII.1.c - Pró-Estradas XII.1.b - Avaliação de Temporários Segunda-feira, 3 de Maio de

24 XII.1.d - Sistema Corporativo SIGDER Segunda-feira, 3 de Maio de

Análise de Dados do Financeiro

Análise de Dados do Financeiro Análise de Dados do Financeiro Introdução Para reunir em um só local as informações de contas a pagar e receber cadastradas e/ou geradas no sistema TTransp existe a interface de análise de dados do financeiro.

Leia mais

02 - Usando o SiteMaster - Informações importantes

02 - Usando o SiteMaster - Informações importantes 01 - Apresentação do SiteMaster - News Edition O SiteMaster foi desenvolvido para ser um sistema simples de gerenciamento de notícias, instalado em seu próprio computador e com configuração simplificada,

Leia mais

Voltado para novos usuários, este capítulo fornece uma instrução para edição de Leiaute do SILAS e suas funções.

Voltado para novos usuários, este capítulo fornece uma instrução para edição de Leiaute do SILAS e suas funções. 13. Editor de leiautes Voltado para novos usuários, este capítulo fornece uma instrução para edição de Leiaute do SILAS e suas funções. Neste capítulo uma breve explicação será apresentada sobre a organização

Leia mais

4 O Workflow e a Máquina de Regras

4 O Workflow e a Máquina de Regras 4 O Workflow e a Máquina de Regras O objetivo do workflow e da máquina de regras é definir um conjunto de passos e regras configuráveis. Ao longo de sua execução, um usuário consegue simplificar o seu

Leia mais

Programação de Computadores - I. Profª Beatriz Profº Israel

Programação de Computadores - I. Profª Beatriz Profº Israel Programação de Computadores - I Profª Beatriz Profº Israel Ambiente de Desenvolvimento Orientação a Objetos É uma técnica de desenvolvimento de softwares que consiste em representar os elementos do mundo

Leia mais

Manual de Utilização COPAMAIL. Zimbra Versão 8.0.2

Manual de Utilização COPAMAIL. Zimbra Versão 8.0.2 Manual de Utilização COPAMAIL Zimbra Versão 8.0.2 Sumário ACESSANDO O EMAIL... 1 ESCREVENDO MENSAGENS E ANEXANDO ARQUIVOS... 1 ADICIONANDO CONTATOS... 4 ADICIONANDO GRUPOS DE CONTATOS... 6 ADICIONANDO

Leia mais

Apesar de existirem diversas implementações de MVC, em linhas gerais, o fluxo funciona geralmente da seguinte forma:

Apesar de existirem diversas implementações de MVC, em linhas gerais, o fluxo funciona geralmente da seguinte forma: 1 Introdução A utilização de frameworks como base para a construção de aplicativos tem sido adotada pelos desenvolvedores com três objetivos básicos. Primeiramente para adotar um padrão de projeto que

Leia mais

MANUAL DE UTILIZAÇÃO

MANUAL DE UTILIZAÇÃO MANUAL DE UTILIZAÇÃO Módulo de operação Ativo Bem vindo à Vorage CRM! Nas próximas paginas apresentaremos o funcionamento da plataforma e ensinaremos como iniciar uma operação básica através do nosso sistema,

Leia mais

MANUAL COTAÇAO WEB MANUAL MANUAL AVANÇO INFORMÁTICA AVANÇO INFORMÁTICA. [Digite seu endereço] [Digite seu telefone] [Digite seu endereço de email]

MANUAL COTAÇAO WEB MANUAL MANUAL AVANÇO INFORMÁTICA AVANÇO INFORMÁTICA. [Digite seu endereço] [Digite seu telefone] [Digite seu endereço de email] MANUAL COTAÇAO WEB [Digite seu endereço] [Digite seu telefone] [Digite seu endereço de email] MANUAL MANUAL AVANÇO INFORMÁTICA AVANÇO INFORMÁTICA Material Desenvolvido para a Célula Materiais Autor: Equipe

Leia mais

Manual das funcionalidades Webmail AASP

Manual das funcionalidades Webmail AASP Manual das funcionalidades Webmail AASP 1. Configurações iniciais 2. Regras 3. Histórico da conta 4. Autorresposta 5. Dados de acesso (alterando senha de acesso) 6. Identidade (assinatura) 7. Redirecionamento

Leia mais

DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0

DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0 DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0 Índice 1 - Objetivo 2 - Descrição do ambiente 2.1. Tecnologias utilizadas 2.2. Estrutura de pastas 2.3. Bibliotecas já incluídas 3 - Características gerais 4 - Criando

Leia mais

Noções de. Microsoft SQL Server. Microsoft SQL Server

Noções de. Microsoft SQL Server. Microsoft SQL Server Noções de 1 Considerações Iniciais Basicamente existem dois tipos de usuários do SQL Server: Implementadores Administradores 2 1 Implementadores Utilizam o SQL Server para criar e alterar base de dados

Leia mais

UFG - Instituto de Informática

UFG - Instituto de Informática UFG - Instituto de Informática Curso: Engenharia de Software Arquitetura de Software Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 9 Mapeamento em JPA Introdução O mapeamento objeto-relacional

Leia mais

MANUAL C R M ÍNDICE. Sobre o módulo de CRM... 2. 1 Definindo a Campanha... 3

MANUAL C R M ÍNDICE. Sobre o módulo de CRM... 2. 1 Definindo a Campanha... 3 ÍNDICE Sobre o módulo de CRM... 2 1 Definindo a Campanha... 3 1.1 Incluir uma campanha... 3 1.2 Alterar uma campanha... 4 1.3 Excluir... 4 1.4 Procurar... 4 2 Definindo os clientes para a campanha... 4

Leia mais

Manual SAGe Versão 1.2 (a partir da versão 12.08.01)

Manual SAGe Versão 1.2 (a partir da versão 12.08.01) Manual SAGe Versão 1.2 (a partir da versão 12.08.01) Submissão de Relatórios Científicos Sumário Introdução... 2 Elaboração do Relatório Científico... 3 Submissão do Relatório Científico... 14 Operação

Leia mais

Tutorial Plone 4. Manutenção de Sites. Universidade Federal de São Carlos Departamento de Sistemas Web Todos os direitos reservados

Tutorial Plone 4. Manutenção de Sites. Universidade Federal de São Carlos Departamento de Sistemas Web Todos os direitos reservados Tutorial Plone 4 Manutenção de Sites Universidade Federal de São Carlos Departamento de Sistemas Web Todos os direitos reservados Sumário Introdução 1 Como fazer a autenticação do usuário 1.1 Através do

Leia mais

INSTALAÇÃO DO SISTEMA CONTROLGÁS

INSTALAÇÃO DO SISTEMA CONTROLGÁS INSTALAÇÃO DO SISTEMA CONTROLGÁS 1) Clique duas vezes no arquivo ControlGasSetup.exe. Será exibida a tela de boas vindas do instalador: 2) Clique em avançar e aparecerá a tela a seguir: Manual de Instalação

Leia mais

Manual de utilização da Ferramenta para disparo de E-mkt

Manual de utilização da Ferramenta para disparo de E-mkt Manual de utilização da Ferramenta para disparo de E-mkt 1 Índice Menu e-mail marketing...03 Conteúdo da mensagem...04 Listas de contatos...15 Ações de e-mail marketing...19 Perguntas frequentes...26 2

Leia mais

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES Alexandre Egleilton Araújo, Jaime Willian Dias Universidade Paranaense (Unipar) Paranavaí PR Brasil araujo.ale01@gmail.com, jaime@unipar.br Resumo.

Leia mais

ruirossi@ruirossi.pro.br

ruirossi@ruirossi.pro.br Persistência Com JPA & Hibernate Rui Rossi dos Santos ruirossi@ruirossi.pro.br Mediador: Rui Rossi dos Santos Slide 1 Mapeamento Objeto-Relacional Contexto: Linguagem de programação orientada a objetos

Leia mais

Follow-Up Acompanhamento Eletrônico de Processos (versão 3.0) Manual do Sistema. 1. Como acessar o sistema Requisitos mínimos e compatibilidade

Follow-Up Acompanhamento Eletrônico de Processos (versão 3.0) Manual do Sistema. 1. Como acessar o sistema Requisitos mínimos e compatibilidade do Sistema Índice Página 1. Como acessar o sistema 1.1 Requisitos mínimos e compatibilidade 03 2. Como configurar o Sistema 2.1 Painel de Controle 2.2 Informando o nome da Comissária 2.3 Escolhendo a Cor

Leia mais

Introdução. Servidor de Tempo (SNTP) com opção de horário de verão automático; 1 Cadastro do novo modelo de equipamento Urano Topmax SS

Introdução. Servidor de Tempo (SNTP) com opção de horário de verão automático; 1 Cadastro do novo modelo de equipamento Urano Topmax SS Urano Indústria de Balanças e Equipamentos Eletrônicos Ltda. Rua Irmão Pedro 709 Vila Rosa Canoas RS Fone: (51) 3462.8700 Fax: (51) 3477.4441 Guia de Novas Funcionalidades Urano Integra 2.3 Data: 15/04/2015

Leia mais

PMAT. Sistema de Análise e Acompanhamento de Operações. Manual. Desenvolvido pelo BNDES AS/DEGEP

PMAT. Sistema de Análise e Acompanhamento de Operações. Manual. Desenvolvido pelo BNDES AS/DEGEP PMAT Sistema de Análise e Acompanhamento de Operações Manual 1 Índice 1. O que é o Sistema de Análise e Acompanhamento de Operações PMAT... 3 2. Acessando o sistema pela primeira vez Download... 3 3. Fluxogramas

Leia mais

Config. do módulo MSA com dispositivos REP.

Config. do módulo MSA com dispositivos REP. Config. do módulo MSA com dispositivos REP. 23/05/2011 Config. do módulo MSA com disp. REP. Sumário Sumário... 2 1 Configurando os novos serviços para os REP... 3 1.1 Configurando o devices.xml... 3 1.2

Leia mais

Parte I. Demoiselle Mail

Parte I. Demoiselle Mail Parte I. Demoiselle Mail Para o envio e recebimento de e-s em aplicativos Java, a solução mais natural é usar a API JavaMail [http:// www.oracle.com/technetwork/java/java/index.html]. Ela provê um framework

Leia mais

Trecho retirando do Manual do esocial Versão 1.1

Trecho retirando do Manual do esocial Versão 1.1 Trecho retirando do Manual do esocial Versão 1.1 A rotina de acesso direto ao XML do S-1000, o usuário pode encontrar na opção de cadastro de Empresas do SIP. Sempre que o usuário localizar a figura ao

Leia mais

QualiQuantiSoft Versão 1.3c

QualiQuantiSoft Versão 1.3c QualiQuantiSoft Versão 1.3c Qualiquantisoft v1.3c Pág.: 1/15 Índice Apresentação do programa... 3 Funções operacionais do programa... 3 Itens de menu... 6 Teclas de atalho... 6 Instrumento de Análise de

Leia mais

Revisão: Introdução. - Integração com o AutoManager; 1 Atualização de versão do banco de dados PostgreSQL

Revisão: Introdução. - Integração com o AutoManager; 1 Atualização de versão do banco de dados PostgreSQL Urano Indústria de Balanças e Equipamentos Eletrônicos Ltda. Rua Irmão Pedro 709 Vila Rosa Canoas RS Fone: (51) 3462.8700 Fax: (51) 3477.4441 Características do Software Urano Integra 2.2 Data: 12/05/2014

Leia mais

1 Criar uma entity a partir de uma web application que usa a Framework JavaServer Faces (JSF)

1 Criar uma entity a partir de uma web application que usa a Framework JavaServer Faces (JSF) Sessão Prática II JPA entities e unidades de persistência 1 Criar uma entity a partir de uma web application que usa a Framework JavaServer Faces (JSF) a) Criar um Web Application (JPAsecond) como anteriormente:

Leia mais

Vamos criar uma nova Página chamada Serviços. Clique em Adicionar Nova.

Vamos criar uma nova Página chamada Serviços. Clique em Adicionar Nova. 3.5 Páginas: Ao clicar em Páginas, são exibidas todas as páginas criadas para o Blog. No nosso exemplo já existirá uma página com o Título Página de Exemplo, criada quando o WorPress foi instalado. Ao

Leia mais

Manual de Atualização MATERIAL DE APOIO - KB IMÓVEIS

Manual de Atualização MATERIAL DE APOIO - KB IMÓVEIS 1 2 Manual de Atualização MATERIAL DE APOIO - KB IMÓVEIS Login é a área de autenticação do sistema. Por questões de segurança, é necessário que o usuário se identifique, impedindo a entrada de pessoas

Leia mais

MANUAL DO PVP SUMÁRIO

MANUAL DO PVP SUMÁRIO Manual PVP - Professores SUMÁRIO 1 INTRODUÇÃO... 6 2 ACESSANDO O PVP... 8 3 TELA PRINCIPAL... 10 3.1 USUÁRIO... 10 3.2 INICIAL/PARAR... 10 3.3 RELATÓRIO... 10 3.4 INSTITUIÇÕES... 11 3.5 CONFIGURAR... 11

Leia mais

( TIAGO DOS SANTOS MENDES ) PROGRAMAÇÃO DISPOSITIVOS MOVEIS ANDROID STUDIO

( TIAGO DOS SANTOS MENDES ) PROGRAMAÇÃO DISPOSITIVOS MOVEIS ANDROID STUDIO Serviço Nacional de Aprendizagem Comercial E.E.P. Senac Pelotas Centro Histórico Programa Nacional de Acesso ao Ensino Técnico e Emprego Curso Técnico em Informática ( TIAGO DOS SANTOS MENDES ) PROGRAMAÇÃO

Leia mais

Bem- Vindo ao manual de instruções do ECO Editor de COnteúdo.

Bem- Vindo ao manual de instruções do ECO Editor de COnteúdo. Manual de Instruções ECO Editor de Conteúdo Bem- Vindo ao manual de instruções do ECO Editor de COnteúdo. O ECO é um sistema amigável e intui?vo, mas abaixo você pode?rar eventuais dúvidas e aproveitar

Leia mais

CONTEÚDOS PROGRAMÁTICOS DA ACADEMIA

CONTEÚDOS PROGRAMÁTICOS DA ACADEMIA Página: 1/16 CONTEÚDOS PROGRAMÁTICOS DA ACADEMIA Módulo CBDS (Central de Banco de Dados Senior) A quem se destina: Todos que tiverem a necessidade de administrar os dados da base de dados da Senior Sistemas

Leia mais

Aplicativo da Manifestação do Destinatário. Manual

Aplicativo da Manifestação do Destinatário. Manual Aplicativo da Manifestação do Destinatário Manual Novembro de 2012 1 Sumário 1 Aplicativo de Manifestação do Destinatário...4 2 Iniciando o aplicativo...4 3 Menus...5 3.1 Manifestação Destinatário...5

Leia mais

Manual do Sistema "Vida Controle de Contatos" Editorial Brazil Informatica

Manual do Sistema Vida Controle de Contatos Editorial Brazil Informatica Manual do Sistema "Vida Controle de Contatos" Editorial Brazil Informatica I Vida Controle de Contatos Conteúdo Part I Introdução 2 1 Vida Controle... de Contatos Pessoais 2 Part II Configuração 2 1 Configuração...

Leia mais

Tema UFPel 2.0 WP Institucional Guia de Opções de Personalização

Tema UFPel 2.0 WP Institucional Guia de Opções de Personalização Tema UFPel 2.0 WP Institucional Guia de Opções de Personalização Sumário 1. Configurações Iniciais...2 1.1. Configurando o Menu Personalizado...2 1.2. Configurando os Widgets...3 2. Localize o nome de

Leia mais

Orientação a Objetos

Orientação a Objetos 1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou

Leia mais

Aula 01 - Formatações prontas e condicionais. Aula 01 - Formatações prontas e condicionais. Sumário. Formatar como Tabela

Aula 01 - Formatações prontas e condicionais. Aula 01 - Formatações prontas e condicionais. Sumário. Formatar como Tabela Aula 01 - Formatações prontas e Sumário Formatar como Tabela Formatar como Tabela (cont.) Alterando as formatações aplicadas e adicionando novos itens Removendo a formatação de tabela aplicada Formatação

Leia mais

UNIVERSIDADE FEDERAL DO AMAPÁ NÚCLEO DE TECNOLOGIA DA INFORMAÇÃO. Manual de Avaliação de Desempenho Cadastro

UNIVERSIDADE FEDERAL DO AMAPÁ NÚCLEO DE TECNOLOGIA DA INFORMAÇÃO. Manual de Avaliação de Desempenho Cadastro UNIVERSIDADE FEDERAL DO AMAPÁ NÚCLEO DE TECNOLOGIA DA INFORMAÇÃO Manual de Avaliação de Desempenho Cadastro UNIFAP MACAPÁ-AP 2013 S U M Á R I O 1 Tela de Login...2 2 Acessando ao submenu cadastro de avaliação

Leia mais

Microsoft Office Outlook Web Access ABYARAIMOVEIS.COM.BR

Microsoft Office Outlook Web Access ABYARAIMOVEIS.COM.BR Microsoft Office Outlook Web Access ABYARAIMOVEIS.COM.BR 1 Índice: 01- Acesso ao WEBMAIL 02- Enviar uma mensagem 03- Anexar um arquivo em uma mensagem 04- Ler/Abrir uma mensagem 05- Responder uma mensagem

Leia mais

Iniciação à Informática

Iniciação à Informática Meu computador e Windows Explorer Justificativa Toda informação ou dado trabalhado no computador, quando armazenado em uma unidade de disco, transforma-se em um arquivo. Saber manipular os arquivos através

Leia mais

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Disciplina: INF 02810 Prof.: (monalessa@inf.ufes.br) Conteúdo 1. Introdução 2. Processo de Software 3. Gerência de

Leia mais

Criando Quiz com BrOffice.impress

Criando Quiz com BrOffice.impress Criando Quiz com BrOfficeimpress A ferramenta de apresentação possibilita o desenvolvimento de várias atividades interativas como: Sete erros Quiz (Perguntas/Respostas), Colocar em ordem objetos, alfabeto,

Leia mais

Adapti - Technology Solutions www.adapti.net Leonor cardoso nº 331 Fone : (041) 8844-7805 81240-380 Curitiba - PR MANUAL DO USUÁRIO

Adapti - Technology Solutions www.adapti.net Leonor cardoso nº 331 Fone : (041) 8844-7805 81240-380 Curitiba - PR MANUAL DO USUÁRIO MANUAL DO USUÁRIO 1 Índice Administração de Documentos...2 Lista de documentos criados...3 Criando um novo documento...3 Barra de ferramentas do editor...4 Editando um documento...7 Administrando suas

Leia mais

Rational Requirements Composer Treinamento aos Analistas de Qualidade e Gestor das Áreas de Projeto

Rational Requirements Composer Treinamento aos Analistas de Qualidade e Gestor das Áreas de Projeto Rational Requirements Composer Treinamento aos Analistas de Qualidade e Gestor das Áreas de Projeto Objetivos do Treinamento Apresentar as principais funcionalidades do Rational Requirements Composer relacionadas

Leia mais

Despachante Express - Software para o despachante documentalista veicular DESPACHANTE EXPRESS MANUAL DO USUÁRIO VERSÃO 1.1

Despachante Express - Software para o despachante documentalista veicular DESPACHANTE EXPRESS MANUAL DO USUÁRIO VERSÃO 1.1 DESPACHANTE EXPRESS MANUAL DO USUÁRIO VERSÃO 1.1 1 Sumário 1 - Instalação Normal do Despachante Express... 3 2 - Instalação do Despachante Express em Rede... 5 3 - Registrando o Despachante Express...

Leia mais

Manual de Publicaça o no Blog da Aça o TRIBOS nas Trilhas da Cidadania

Manual de Publicaça o no Blog da Aça o TRIBOS nas Trilhas da Cidadania Manual de Publicaça o no Blog da Aça o TRIBOS nas Trilhas da Cidadania Sumário Objetivos do Blog... 2 Log-in... 3 Esqueci minha senha... 4 Utilizando o Blog... 5 Encontrando seu Blog... 5 Conhecendo o

Leia mais

Programação Orientada a Objetos com PHP & MySQL Sistema Gerenciador de Banco de Dados: Introdução e configuração de bases de dados com Postgre e MySQL

Programação Orientada a Objetos com PHP & MySQL Sistema Gerenciador de Banco de Dados: Introdução e configuração de bases de dados com Postgre e MySQL Programação Orientada a Objetos com PHP & MySQL Sistema Gerenciador de Banco de Dados: Introdução e configuração de bases de dados com Postgre e MySQL Prof. MSc. Hugo Souza Iniciando nossas aulas sobre

Leia mais

Google Drive. Passos. Configurando o Google Drive

Google Drive. Passos. Configurando o Google Drive Google Drive um sistema de armazenagem de arquivos ligado à sua conta Google e acessível via Internet, desta forma você pode acessar seus arquivos a partir de qualquer dispositivo que tenha acesso à Internet.

Leia mais

VISUAL LIGHTBOX FERRAMENTA WEB DESIGN FABIANO KEIJI TAGUCHI

VISUAL LIGHTBOX FERRAMENTA WEB DESIGN FABIANO KEIJI TAGUCHI VISUAL LIGHTBOX FERRAMENTA WEB DESIGN FABIANO KEIJI TAGUCHI ESTE MATERIAL TEM UM OBJETIVO DE COMPLEMENTAR OS ASSUNTOS ABORDADOS DENTRO DE SALA DE AULA, TORNANDO-SE UM GUIA PARA UTILIZAÇÃO DA FERRAMENTA

Leia mais

Curso de Capacitação em Gerenciador de Conteúdo PLONE

Curso de Capacitação em Gerenciador de Conteúdo PLONE Curso de Capacitação em Gerenciador de Conteúdo PLONE 1 Índice Estrutura Viewlets 21 Portlets 26 2 Estrutura Intermediário Depois de conhecer a estrutura principal do Plone e realizar as configurações

Leia mais

Persistência de dados com JPA. Hélder Antero Amaral Nunes haanunes@gmail.com

Persistência de dados com JPA. Hélder Antero Amaral Nunes haanunes@gmail.com Persistência de dados com JPA Hélder Antero Amaral Nunes haanunes@gmail.com O que é persistência? A persistência de dados é o fato de pegar um dado e torná-lo persistente, ou seja, salvar em algum banco

Leia mais

SUMÁRIO Acesso ao sistema... 2 Atendente... 3

SUMÁRIO Acesso ao sistema... 2 Atendente... 3 SUMÁRIO Acesso ao sistema... 2 1. Login no sistema... 2 Atendente... 3 1. Abrindo uma nova Solicitação... 3 1. Consultando Solicitações... 5 2. Fazendo uma Consulta Avançada... 6 3. Alterando dados da

Leia mais

Glossários em Moodle (1.6.5+)

Glossários em Moodle (1.6.5+) Glossários em Moodle (1.6.5+) Athail Rangel Pulino 2 Ficha Técnica Título Glossários em Moodle Autor Athail Rangel Pulino Filho Copyright Creative Commons Edição Agosto 2007 Glossários em Moodle 3 Índice

Leia mais

GUIA BÁSICO DA SALA VIRTUAL

GUIA BÁSICO DA SALA VIRTUAL Ambiente Virtual de Aprendizagem - MOODLE GUIA BÁSICO DA SALA VIRTUAL http://salavirtual.faculdadesaoluiz.edu.br SUMÁRIO 1. Acessando Turmas 4 2. Inserindo Material 4 3. Enviando Mensagem aos Alunos 6

Leia mais

CONVENÇÃO DE CÓDIGO JAVA

CONVENÇÃO DE CÓDIGO JAVA CONVENÇÃO DE CÓDIGO JAVA Eligiane Ceron - Abril de 2012 Versão 1.0 Conteúdo Considerações iniciais... 2 Introdução... 2 Extensão de arquivos... 2 Arquivos de código Java... 2 Comentários iniciais... 2

Leia mais

PROCESSO JUDICIAL ELETRÔNICO PJe

PROCESSO JUDICIAL ELETRÔNICO PJe PROCESSO JUDICIAL ELETRÔNICO PJe TRIBUNAL REGIONAL FEDERAL DA 5ª REGIÃO MANUAL DO SERVIDOR 1ºGRAU MÓDULO 3 Sumário 1 Cadastros Básicos3 11 Documento3 111 Modelo3 112 Tipo6 12 Pessoa10 121 Conciliador10

Leia mais

Manual do Publicador. Wordpress FATEA Sistema de Gerenciamento de Conteúdo Web

Manual do Publicador. Wordpress FATEA Sistema de Gerenciamento de Conteúdo Web Manual do Publicador Wordpress FATEA Sistema de Gerenciamento de Conteúdo Web Sumário Painel de Administração... 3 1 - Inserção de post... 5 2 Publicação de post com notícia na área headline (galeria de

Leia mais

Manual de configuração do sistema

Manual de configuração do sistema Manual de configuração do sistema (v.1.5.x Beta) Rua México, 119 Sala 2004 Centro Rio de Janeiro, RJ www.doctors-solution.com.br www.simdoctor.com.br contato@simdoctor.com.br Sumário 1. Fazendo seu primeiro

Leia mais

Universidade Federal do Mato Grosso - STI-CAE. Índice

Universidade Federal do Mato Grosso - STI-CAE. Índice CAPA Universidade Federal do Mato Grosso - STI-CAE Índice 1. Página da área administrativa... 1.1 Botões e campo iniciais... 2. Explicar como funcionam as seções... 2.1. Seções dinâmicos... 2.1.1 Como

Leia mais

Scriptlets e Formulários

Scriptlets e Formulários 2 Scriptlets e Formulários Prof. Autor: Daniel Morais dos Reis e-tec Brasil Programação Avançada Para Web Página1 Meta Permitir ao aluno aprender a criar um novo projeto Java para web no Netbeans IDE,

Leia mais

Desenvolvimento de aplicação web com framework JavaServer Faces e Hibernate

Desenvolvimento de aplicação web com framework JavaServer Faces e Hibernate Desenvolvimento de aplicação web com framework JavaServer Faces e Hibernate Tiago Peres Souza 1, Jaime Willian Dias 1,2 ¹Universidade paranaense (Unipar) Paranavaí PR Brasil tiagop_ti@hotmail.com 2 Universidade

Leia mais

SISTEMA DE PRODUTOS E SERVIÇOS CERTIFICADOS. MÓDULO DO CERTIFICADOR MANUAL DE OPERAÇÃO Versão 2.4.6

SISTEMA DE PRODUTOS E SERVIÇOS CERTIFICADOS. MÓDULO DO CERTIFICADOR MANUAL DE OPERAÇÃO Versão 2.4.6 SISTEMA DE PRODUTOS E SERVIÇOS CERTIFICADOS Versão 2.4.6 Sumário Fluxograma básico do processo de envio de remessa... 5 Criar novo certificado... 6 Aprovar certificado... 16 Preparar e enviar remessa...

Leia mais

Departamento de Tecnologia da Informação DTI Coordenadoria de Relacionamento com o Cliente CRC. Treinamento Básico do Correio Eletrônico

Departamento de Tecnologia da Informação DTI Coordenadoria de Relacionamento com o Cliente CRC. Treinamento Básico do Correio Eletrônico Departamento de Tecnologia da Informação DTI Coordenadoria de Relacionamento com o Cliente CRC Treinamento Básico do Correio Eletrônico Brasília Março de 2012 SUMÁRIO 1. Introdução... 3 1.1 Como acessar

Leia mais

1. Introdução pág.3 2. Apresentação do sistema Joomla! pág.4 3. Acessando a administração do site pág.4 4. Artigos 4.1. Criando um Artigo 4.2.

1. Introdução pág.3 2. Apresentação do sistema Joomla! pág.4 3. Acessando a administração do site pág.4 4. Artigos 4.1. Criando um Artigo 4.2. 1. Introdução pág.3 2. Apresentação do sistema Joomla! pág.4 3. Acessando a administração do site pág.4 4. Artigos 4.1. Criando um Artigo 4.2. Editando um Artigo 4.3. Excluindo um Artigo 4.4. Publicar

Leia mais

Agendamento para Importação de Notas Fiscais

Agendamento para Importação de Notas Fiscais LIBERAÇÃO DE ATUALIZAÇÃO CORDILHEIRA VERSÃO 2 (Orientamos aos clientes que utilizam banco de dados SQL, para efetuarem a atualização preferencialmente após o encerramento das atividades do dia, acessando

Leia mais

Assessoria Técnica de Tecnologia da Informação - ATTI. Projeto de Informatização da. Secretaria Municipal de Saúde do. Município de São Paulo

Assessoria Técnica de Tecnologia da Informação - ATTI. Projeto de Informatização da. Secretaria Municipal de Saúde do. Município de São Paulo Assessoria Técnica de Tecnologia da Informação - ATTI Projeto de Informatização da Secretaria Municipal de Saúde do Município de São Paulo Agendamento Regulado Unidades Solicitantes Manual de Operação

Leia mais

Manual de Utilização do Zimbra

Manual de Utilização do Zimbra Manual de Utilização do Zimbra Compatível com os principais navegadores web (Firefox, Chrome e Internet Explorer) o Zimbra Webmail é uma suíte completa de ferramentas para gerir e-mails, calendário, tarefas

Leia mais

MANUAL DO USUÁRIO SORE Sistema Online de Reservas de Equipamento. Toledo PR. Versão 2.0 - Atualização 26/01/2009 Depto de TI - FASUL Página 1

MANUAL DO USUÁRIO SORE Sistema Online de Reservas de Equipamento. Toledo PR. Versão 2.0 - Atualização 26/01/2009 Depto de TI - FASUL Página 1 MANUAL DO USUÁRIO SORE Sistema Online de Reservas de Equipamento Toledo PR Página 1 INDICE 1. O QUE É O SORE...3 2. COMO ACESSAR O SORE... 4 2.1. Obtendo um Usuário e Senha... 4 2.2. Acessando o SORE pelo

Leia mais

Manual de Gerenciamento de Conteúdo

Manual de Gerenciamento de Conteúdo Manual de Gerenciamento de Conteúdo 1 Sumário 1) O que é um Gerenciador de Conteúdo...3 2) Como o Site está Estruturado...3 3) Como Gerenciar o Conteúdo do Site...5 3.1) Adicionar Itens no Menu de Navegação...6

Leia mais

Desenvolvendo plugins WordPress usando Orientação a Objetos

Desenvolvendo plugins WordPress usando Orientação a Objetos Desenvolvendo plugins WordPress usando Orientação a Objetos por Daniel Antunes danieldeveloper.com @danieldeveloper Introdução Desenvolver plugins WordPress é mais que programar: é obter grandes resultados

Leia mais

Notas de Aula 05: Aplicação de um caso de uso

Notas de Aula 05: Aplicação de um caso de uso Notas de Aula 05: Aplicação de um caso de uso Objetivos da aula: Aprender a aplicar a técnica de casos de uso em um pequeno problema real Identificar as variáveis relevantes a serem consideradas Modelar

Leia mais

GERENCIADOR DE CONTEÚDO

GERENCIADOR DE CONTEÚDO 1/1313 MANUAL DO USUÁRIO GERENCIADOR DE CONTEÚDO CRISTAL 2/13 ÍNDICE 1. OBJETIVO......3 2. OPERAÇÃO DOS MÓDULOS......3 2.1 GERENCIADOR DE CONTEÚDO......3 2.2 ADMINISTRAÇÃO......4 Perfil de Acesso:... 4

Leia mais

MANUAL DO ANIMAIL 1.0.0.1142 Terti Software

MANUAL DO ANIMAIL 1.0.0.1142 Terti Software O Animail é um software para criar campanhas de envio de email (email Marketing). Você pode criar diversas campanhas para públicos diferenciados. Tela Principal do sistema Para melhor apresentar o sistema,

Leia mais

Procedimento para Configurar a Importação/Exportação de Arquivos Texto

Procedimento para Configurar a Importação/Exportação de Arquivos Texto Procedimento para Configurar a Importação/Exportação de Arquivos Texto Produto : RM Gestão de Estoque, Compras e Faturamento 12.1.4 Processo : Importação/Exportação de Arquivos Texto Subprocesso : N/A

Leia mais

Turma. PowerPoint 2003

Turma. PowerPoint 2003 PowerPoint 2003 Apresentação O Power Point é um aplicativo do Microsoft Office direcionado à criação de apresentações. Com ele você poderá criar rapidamente slides com esquemas, textos animados, sons e

Leia mais

TUTORIAL UNP VIRTUAL

TUTORIAL UNP VIRTUAL UNIVERSIDADE POTIGUAR UnP PRÓ-REITORIA DE GRADUAÇÃO NÚCLEO DE EDUCAÇÃO A DISTÂNCIA NEaD TUTORIAL UNP VIRTUAL Aluno Primeira edição NATAL/RN 2012 SUMÁRIO Conteúdo PREFÁCIO - BEM-VINDO(A) AO UNP VIRTUAL...

Leia mais

Barra de ferramentas padrão. Barra de formatação. Barra de desenho Painel de Tarefas

Barra de ferramentas padrão. Barra de formatação. Barra de desenho Painel de Tarefas Microsoft Power Point 2003 No Microsoft PowerPoint 2003, você cria sua apresentação usando apenas um arquivo, ele contém tudo o que você precisa uma estrutura para sua apresentação, os slides, o material

Leia mais

Aula 03 - Projeto Java Web

Aula 03 - Projeto Java Web Aula 03 - Projeto Java Web Para criação de um projeto java web, vá em File/New. Escolha o projeto: Em seguida, na caixa Categorias selecione Java Web. Feito isso, na caixa à direita selecione Aplicação

Leia mais

Procedimento para Configurar a Importação/Exportação de Arquivos Texto

Procedimento para Configurar a Importação/Exportação de Arquivos Texto Procedimento para Configurar a Importação/Exportação de Arquivos Texto Produto : RM Gestão de Estoque, Compras e Faturamento 12.1.3 Processo : Importação/Exportação de Arquivos Texto Subprocesso : N/A

Leia mais

Agente Administrativo do MTE

Agente Administrativo do MTE PowerPoint 2003 Apresentação O Power Point é um aplicativo do Microsoft Office direcionado à criação de apresentações. Com ele você poderá criar rapidamente slides com esquemas, textos animados, sons e

Leia mais

Construtor de sites SoftPixel GUIA RÁPIDO - 1 -

Construtor de sites SoftPixel GUIA RÁPIDO - 1 - GUIA RÁPIDO - 1 - Sumário Introdução...3 Por que utilizar o Construtor de Sites?...3 Vantagens do Construtor de Sites...3 Conceitos básicos...3 Configuração básica do site...5 Definindo o layout/template

Leia mais

Procedimentos para Reinstalação do Sisloc

Procedimentos para Reinstalação do Sisloc Procedimentos para Reinstalação do Sisloc Sumário: 1. Informações Gerais... 3 2. Criação de backups importantes... 3 3. Reinstalação do Sisloc... 4 Passo a passo... 4 4. Instalação da base de dados Sisloc...

Leia mais

Como funciona? SUMÁRIO

Como funciona? SUMÁRIO SUMÁRIO 1. Introdução... 2 2. Benefícios e Vantagens... 2 3. Como utilizar?... 2 3.1. Criar Chave / Senha de Usuário... 2 3.2. Recursos da Barra Superior... 2 3.2.1. Opções... 3 3.2.1.1. Mover Para...

Leia mais

Manual do Visualizador NF e KEY BEST

Manual do Visualizador NF e KEY BEST Manual do Visualizador NF e KEY BEST Versão 1.0 Maio/2011 INDICE SOBRE O VISUALIZADOR...................................................... 02 RISCOS POSSÍVEIS PARA O EMITENTE DA NOTA FISCAL ELETRÔNICA.................

Leia mais

Manual de criação de envios no BTG360

Manual de criação de envios no BTG360 Manual de criação de envios no BTG360 Série manuais da ferramenta ALL in Mail Introdução O BTG 360 utiliza a tecnologia do behavioral targert para que você alcance resultados ainda mais assertivos com

Leia mais

O CONCEITO DE TDD NO DESENVOLVIMENTO DE SOFTWARE

O CONCEITO DE TDD NO DESENVOLVIMENTO DE SOFTWARE O CONCEITO DE TDD NO DESENVOLVIMENTO DE SOFTWARE Renan Leme Nazário, Ricardo Rufino Universidade Paranaense (Unipar) Paranavaí PR - Brasil renazariorln@gmail.com, ricardo@unipar.br Resumo. Este artigo

Leia mais

Repeater no GASweb. Regiões

Repeater no GASweb. Regiões Repeater no GASweb Por: Rodrigo Silva O controle de servidor Repeater é um container básico que permite a você criar uma lista de qualquer informação que deseja em uma página Web. Ele não tem uma aparência

Leia mais

Iniciando o MySQL Query Brower

Iniciando o MySQL Query Brower MySQL Query Brower O MySQL Query Browser é uma ferramenta gráfica fornecida pela MySQL AB para criar, executar e otimizar solicitações SQL em um ambiente gráfico. Assim como o MySQL Administrator foi criado

Leia mais

WebMail --------------------------------------------------------------------------------------------------------------- Manual do cliente

WebMail --------------------------------------------------------------------------------------------------------------- Manual do cliente WebMail --------------------------------------------------------------------------------------------------------------- Manual do cliente www.plugin.com.br 1 ÍNDICE Prefácio...3 Sobre Este Manual... 3

Leia mais

Tutorial WEB CONTENT MANAGEMENT [WCM] Obtenha benefícios a partir das aplicações customizadas da ADMT.

Tutorial WEB CONTENT MANAGEMENT [WCM] Obtenha benefícios a partir das aplicações customizadas da ADMT. Tutorial WEB CONTENT MANAGEMENT [WCM] Obtenha benefícios a partir das aplicações customizadas da ADMT. PÁGINA: 2 de 21 Nenhuma parte deste documento pode ser utilizado ou reproduzido, em qualquer meio

Leia mais

O programa Mysql acompanha o pacote de instalação padrão e será instalado juntamente com a execução do instalador.

O programa Mysql acompanha o pacote de instalação padrão e será instalado juntamente com a execução do instalador. INTRODUÇÃO O Programa pode ser instalado em qualquer equipamento que utilize o sistema operacional Windows 95 ou superior, e seu banco de dados foi desenvolvido em MySQL, sendo necessário sua pré-instalação

Leia mais

Omega Tecnologia Manual Omega Hosting

Omega Tecnologia Manual Omega Hosting Omega Tecnologia Manual Omega Hosting 1 2 Índice Sobre o Omega Hosting... 3 1 Primeiro Acesso... 4 2 Tela Inicial...5 2.1 Área de menu... 5 2.2 Área de navegação... 7 3 Itens do painel de Controle... 8

Leia mais

INTRODUÇÃO E CONFIGURAÇÃO DO PRIMEFACES MOBILE EM APLICAÇÕES JSF

INTRODUÇÃO E CONFIGURAÇÃO DO PRIMEFACES MOBILE EM APLICAÇÕES JSF INTRODUÇÃO E CONFIGURAÇÃO DO PRIMEFACES MOBILE EM APLICAÇÕES JSF Guilherme Macedo, Jaime Willian Dias Universidade Paranaense (Unipar) Paranavaí PR Brasil guilhermemacedo28@gmail.com, jaime@unipar.br Resumo.

Leia mais

Como gerar arquivos para Sphinx Operador

Como gerar arquivos para Sphinx Operador Como gerar arquivos para Sphinx Operador Pré-requisitos: Lista das questões Formulário multimídia Visões O Sphinx Operador é um sistema específico para digitação de respostas e visualização de resultados

Leia mais

A seguir voce vai poder acompanhar, em 10 passos, como gerenciar o conteúdo das páginas pelas quais voce é responsável.

A seguir voce vai poder acompanhar, em 10 passos, como gerenciar o conteúdo das páginas pelas quais voce é responsável. A seguir voce vai poder acompanhar, em 10 passos, como gerenciar o conteúdo das páginas pelas quais voce é responsável. Índice Geral TULogarUT 3 TUConhecer e VisualizarUT 6 TUÁrea de Edição / Blocos e

Leia mais

Este Procedimento Operacional Padrão define as etapas necessárias de como fazer o Cadastro de Avisos Automáticos no Sistema TOTVS RM.

Este Procedimento Operacional Padrão define as etapas necessárias de como fazer o Cadastro de Avisos Automáticos no Sistema TOTVS RM. Este Procedimento Operacional Padrão define as etapas necessárias de como fazer o Cadastro de Avisos Automáticos no Sistema TOTVS RM. Índice I. Acesso ao Cadastro... 2 II. Parâmetros da Coligada Atual...

Leia mais

marcio@dsc.ufcg.edu.br priscillakmv@gmail.com

marcio@dsc.ufcg.edu.br priscillakmv@gmail.com DSC/CEEI/UFCG marcio@dsc.ufcg.edu.br priscillakmv@gmail.com 1 Realiza atividades com ênfase em Ensino, Pesquisa e Extensão (Ensino) 2 Configurando o projeto Adicionando código ao arquivo com o código-fonte

Leia mais