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

Save this PDF as:
 WORD  PNG  TXT  JPG

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

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

Transcrição

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

2

3 Sobre o QuickStart... v 1. Instalação Pré-requisitos Demoiselle Infra Criação da aplicação Nossa primeira aplicação Construindo o projeto usando um arquétipo Maven Linha de comando Modo assistido com Eclipse Criando a entidade de domínio Implementando a camada de persistência Implementando a camada de negócio Implementando a camada de apresentação Executando no servidor Melhorando a aplicação Implementando funcionalidade de edição Exibindo mensagens para o usuário Criando regras de validação nos campos iii

4 iv

5 Sobre o QuickStart Este documento é um tutorial do tipo "passo a passo" que visa ilustrar de forma rápida, clara e prática a criação de uma aplicação simples utilizando o Demoiselle Framework 2.X. Nota Apesar de o Demoiselle Framework 2.X ser simples de usar, o desenvolvimento de aplicações não triviais requer o conhecimento das diversas tecnologias envolvidas na especificação Java EE, incluindo: Linguagem Java Servlets, JSP e Tag Libraries JavaBeans HTML e XML Contêineres e Servidores Web Nota Esta documentação refere-se à release 2.2.X do Demoiselle Framework e pode diferir significativamente das versões anteriores. v

6 vi

7 Instalação 1.1. Pré-requisitos Software Versão Site (Download) Java Development Kit (JDK) 6.0 openjdk.org [ Apache Maven 2.2 maven.apache.org [ maven.apache.org/docs/2.2.1/releasenotes.html] Eclipse IDE [ downloads/packages/release/indigo/r] m2eclipse plugin 0.12 m2eclipse.sonatype.org [ m2eclipse.sonatype.org/installingm2eclipse.html] JBoss Application Server [ projects/jboss/files/jboss/ JBoss Final/jboss-asdistribution Final.zip/download] 1.2. Demoiselle Infra Para auxiliar no preparo do ambiente integrado de desenvolvimento utilizado na presente documentação, recomenda-se a utilização dos pacotes de software fornecidos pelo projeto Demoiselle Infra [ demoiselle.sourceforge.net/infra/]. Neste link você encontrará as orientações necessárias para a sua configuração. Nota Atualmente são disponibilizados pacotes exclusivamente para a plataforma GNU/Linux e distribuições baseadas no Debian, tal como Ubuntu. Se você não utiliza nenhum dos sistemas operacionais citados, terá que baixar e instalar todos os softwares listados acima. Para auxiliar um pouco o processo, disponibilizamos alguns vídeos aqui [ de demonstração de algumas fases. 1

8 2

9 Criação da aplicação 2.1. Nossa primeira aplicação Para iniciar o uso do Demoiselle Framework 2.X, criaremos uma aplicação Java do tipo Web utilizando o Apache Maven [ através do plugin para IDE Eclipse (M2Eclipse) para gerenciar todo o clico de vida do Projeto, desde a criação até o deploy. Essa aplicação consistirá em um cadastro simples de bookmarks (links Favoritos ) e será gerada com o auxílio de um arquétipo do Maven disponibilizado pelo projeto Demoiselle. Ela será preparada para utilizar as tecnologias de persistência JPA e de apresentação JSF nas versões mais recentes conforme a especificação Java EE Construindo o projeto usando um arquétipo Maven Importante O procedimento a seguir pode ser comumente executado de forma visual com o auxílio de um assistente (i.e., wizard) de dentro da IDE Eclipse, como será demonstrado logo após o modo linha de comando Linha de comando Para criar a aplicação usando o arquétipo em linha de comando, abra um terminal e execute o comando mvn do Maven com os argumentos ilustrados a seguir: mvn archetype:generate \ -DarchetypeGroupId=br.gov.frameworkdemoiselle.archetypes \ -DarchetypeArtifactId=demoiselle-jsf-jpa \ -DarchetypeVersion=2.2.0 \ -DarchetypeRepository= \ -DgroupId=br.gov.frameworkdemoiselle.sample \ -DartifactId=bookmark \ -Dversion=1.0.0-SNAPSHOT \ -DinteractiveMode=false Modo assistido com Eclipse Para criar esse projeto utilizando a IDE Eclipse, acesse o menu File, New, Other... digite e selecione Maven Project: conforme mostrado na figura abaixo: 3

10 Capítulo 2. Criação da aplicação Na tela seguinte, recomenda-se manter os valores "default": Na tela abaixo, no combo-box chamado Catalog, selecione o item com o nome Demoiselle e no campo Filter digite JSF e em seguida selecione o item demoiselle-jsf-jpa : 4

11 Modo assistido com Eclipse Cuidado Se as opções anteriores não aparecem, é porque será necessário incluir o catálogo remoto de arquétipos Maven do Demoiselle. Caso contrário pule o subitem Incluindo catálogo remoto e siga as demais instruções. Cuidado A versão do arquétipo irá variar conforme surjam novas versões do Demoiselle. A imagem deste guia apresenta a versão 2.0.0, contudo, fique sempre atento para as novas versões do Demoiselle em nosso site e sempre utilize a versão do arquétipo mais recente Incluindo catálogo remoto Ainda na tela criação do novo projeto, clique no botão Configure à direita do combo-box Catalog, para que apareça a tela de configuração de arquétipos Maven no Eclipse. 5

12 Capítulo 2. Criação da aplicação Clique no botão Add Remote Catalog...: Na campo Catalog File coloque este conteúdo: repository/archetype-catalog.xml. No campo Description informe: Demoiselle. Em seguida, clique no botão Verify... para certificar-se que o conteúdo está correto. Retorne então ao item anterior e siga as instruções. Na próxima tela preencha os campos conforme ilustrado a seguir e clique em Finish: 6

13 Modo assistido com Eclipse Ao término do processo será criado o projeto bookmark gerenciado pelo Maven e com a seguinte estrutura de diretórios: bookmark/ -- pom.xml `-- src -- main -- java `-- br `-- gov `-- frameworkdemoiselle `-- sample -- business -- constant -- domain -- exception -- message -- persistence -- util `-- view -- resources -- demoiselle.properties -- log4j.properties -- messages.properties -- META-INF -- beans.xml `-- persistence.xml `-- ValidationMessages.properties `-- webapp -- home.xhtml -- images `-- logo.png -- index.html -- menu.xhtml -- template 7

14 Capítulo 2. Criação da aplicação `-- main.xhtml `-- WEB-INF -- faces-config.xml `-- web.xml `-- test -- java `-- br `-- gov `-- frameworkdemoiselle `-- sample `-- resources 2.3. Criando a entidade de domínio Dentro do pacote br.gov.frameworkdemoiselle.sample.domain crie a classe Bookmark, a qual será responsável por representar um objeto de bookmark a ser persistido no banco de dados usando public class private Long private String private String link; public Bookmark() { super(); public Bookmark(String description, String link) { this.description = description; this.link = link; Nota Lembre-se de criar os respectivos métodos getter e setter para as propriedades dessa classe. Os dois construtores da classe Bookmark serão utilizados posteriormente na aplicação. @GeneratedValue são fornecidas pela especificação JPA. 8

15 Implementando a camada de persistência 2.4. Implementando a camada de persistência Dentro do pacote br.gov.frameworkdemoiselle.sample.persistence crie a classe BookmarkDAO, a qual será responsável por manipular os public class BookmarkDAO extends JPACrud<Bookmark, Long> { private static final long serialversionuid = 1L; Dica A trata-se de um estereótipo fornecido pelo Demoiselle Framework 2.X para indicar que uma classe será tratada como controlador da camada de persistência na aplicação. A classe abstrata JPACrud faz parte do código de suporte fornecido pelo Demoiselle Framework 2.X (especificamente na extensão JPA). Ao utilizá-la, o desenvolvedor não precisará implementar métodos de manipulação de uma entidade, tais como busca, listagem, inclusão, alteração e exclusão de registros. Dessa forma, apenas métodos específicos do caso de uso necessitam ser criados manualmente. Nota Recomenda-se usar o sufixo DAO nessa classe para indicar que se trata de um objeto de acesso a dados (i.e., um DAO - Data Access Object). No diretório /src/main/resources/meta-inf/, altere o arquivo persistence.xml com o conteúdo seguinte: <?xml version="1.0" encoding="utf-8"?> <persistence version="2.0" xmlns=" xmlns:xsi=" xsi:schemalocation=" persistence/persistence_2_0.xsd"> <persistence-unit name="bookmark-ds"> <jta-data-source>java:/defaultds</jta-data-source> <class>br.gov.frameworkdemoiselle.sample.domain.bookmark</class> <properties> <property name="hibernate.show_sql" value="true" /> <property name="hibernate.format_sql" value="false" /> <property name="hibernate.hbm2ddl.auto" value="update" /> <property name="hibernate.transaction.factory_class" value="org.hibernate.transaction.jtatransactionfactory" /> <property name="jta.usertransaction" value="usertransaction" /> </properties> </persistence-unit> 9

16 Capítulo 2. Criação da aplicação </persistence> Este arquivo armazenará as configurações de acesso ao banco de dados via JPA. Neste caso, o gerenciamento das conexões ficará a cargo do servidor de aplicações (ex: JBoss AS). Será usada a fonte de dados java:/ DefaultDS. No diretório /src/main/resources/, altere o arquivo demoiselle.properties com o conteúdo seguinte: frameworkdemoiselle.persistence.unit.name=bookmark-ds No diretório /src/main/resources/meta-inf/, altere o arquivo beans.xml com o conteúdo seguinte: <?xml version="1.0"?> <beans xmlns=" xmlns:xsi=" xsi:schemalocation=" <alternatives> <class>br.gov.frameworkdemoiselle.transaction.jtatransaction</class> </alternatives> </beans> 2.5. Implementando a camada de negócio Dentro do pacote br.gov.frameworkdemoiselle.sample.business crie a classe BookmarkBC, a qual será responsável por gerenciar as regras de negócio referentes aos public class BookmarkBC extends DelegateCrud<Bookmark, Long, BookmarkDAO> { private static final long serialversionuid public void startup() { if (findall().isempty()) { insert(new Bookmark("Demoiselle Portal", " insert(new Bookmark("Demoiselle SourceForge", " insert(new Bookmark("Twitter", " insert(new Bookmark("Blog", " insert(new Bookmark("Wiki", " insert(new Bookmark("Bug Tracking", " insert(new Bookmark("Forum", " insert(new Bookmark("SVN", " insert(new Bookmark("Maven", " insert(new Bookmark("Downloads", " 10

17 Implementando a camada de apresentação O método startup() nessa classe será invocado automaticamente durante a inicialização da aplicação e fará com que a tabela seja populada com dados iniciais de bookmarks. Dica A trata-se de um estereótipo fornecido pelo Demoiselle Framework 2.X para indicar que uma classe será tratada como controlador da camada de negócio na aplicação. A classe DelegateCrud faz parte do código de suporte fornecido pelo Demoiselle Framework 2.0. Ao utilizá-la, o desenvolvedor não precisará implementar métodos de negócio triviais de uma entidade e tampouco programar a injeção de dependência entre as camadas de negócio e persistência. Tal injeção será realizada de forma implícita. Nota Recomenda-se usar o sufixo BC nessa classe para indicar que se trata de um controlador de negócio (i.e., um BC - Business Controller) Implementando a camada de apresentação Dentro do pacote br.gov.frameworkdemoiselle.sample.view crie a classe BookmarkListMB, a qual será responsável por exibir as informações sobre os bookmarks para o public class BookmarkListMB extends AbstractListPageBean<Bookmark, Long> { private static final long serialversionuid = private BookmarkBC protected List<Bookmark> handleresultlist() { return bc.findall(); Dica A trata-se de um estereótipo fornecido pelo Demoiselle Framework para indicar que uma classe será tratada como controlador da camada de apresentação (i.e., visão) na aplicação. 11

18 Capítulo 2. Criação da aplicação A classe AbstractListPageBean faz parte do código de suporte fornecido pelo Demoiselle Framework (especificamente na extensão JSF). Ao utilizá-la, o desenvolvedor não precisará implementar métodos específicos de navegação para uma tela de cadastro (i.e., do tipo CRUD). A é fornecida pela especificação CDI. Ela realiza a injeção de dependência da camada de negócio dentro do artefato da camada de apresentação. Nota Recomenda-se usar o sufixo MB nessa classe para indicar que se trata de um bean gerenciado do JSF (i.e., um MB - Managed Bean). No diretório /src/main/webapp/, crie o arquivo bookmark_list.xhtml com o conteúdo seguinte: <ui:composition xmlns=" xmlns:f=" xmlns:p=" xmlns:h=" xmlns:ui=" template="/template/main.xhtml"> <ui:define name="body"> <h:form> <p:datatable id="list" var="bean" value="#{bookmarklistmb.resultlist"> <f:facet name="header">#{messages['bookmark.list.table.title']</f:facet> <p:column style="width:1%;"> <h:selectbooleancheckbox value="#{bookmarklistmb.selection[bean.id]" /> </p:column> <p:column style="width:5%;" sortby="#{bean.id"> <f:facet name="header">#{messages['bookmark.label.id']</f:facet> <h:outputtext value="#{bean.id" /> </p:column> <p:column sortby="#{bean.description"> <f:facet name="header">#{messages['bookmark.label.description']</f:facet> <h:commandlink action="#{bookmarklistmb.getnextview" actionlistener="#{bookmarklistmb.clear"> <h:outputtext value="#{bean.description" /> <f:param name="id" value="#{bean.id" /> </h:commandlink> </p:column> <p:column sortby="#{bean.link"> <f:facet name="header">#{messages['bookmark.label.link']</f:facet> <h:commandlink action="#{bookmarklistmb.getnextview" actionlistener="#{bookmarklistmb.clear"> <h:outputtext value="#{bean.link" /> <f:param name="id" value="#{bean.id" /> </h:commandlink> </p:column> </p:datatable> </h:form> </ui:define> </ui:composition> 12

19 Implementando a camada de apresentação Dica Nos arquivos XHTML listados neste exemplo foi empregado o framework PrimeFaces [ o qual foi um dos primeiros a oferecer suporte completo à especificação JSF 2.0. No diretório /src/main/webapp/, altere o arquivo menu.xhtml com o conteúdo seguinte: <ui:composition xmlns=" xmlns:f=" xmlns:p=" xmlns:h=" xmlns:ui=" <h:form> <p:menubar> <p:submenu label="#{messages['menu.bookmark']"> <p:menuitem value="#{messages['menu.menuitem.list']" url="/bookmark_list.jsf" /> </p:submenu> <p:submenu> <f:facet name="label"> <p:menuitem value="#{messages['menu.menuitem.quit']" url=" /> </f:facet> </p:submenu> </p:menubar> </h:form> </ui:composition> No diretório /src/main/resources/, altere o arquivo messages.properties incluindo as linhas a seguir: bookmark.list.table.title=lista de Links bookmark.label.id=id bookmark.label.link=link bookmark.label.description=descri\u00e7\u00e3o bookmark.label=bookmark bookmark.alt.id=id bookmark.alt.link=link bookmark.alt.description=descri\u00e7\u00e3o menu.bookmark=bookmarks Nota O arquivo de recursos messages.properties armazenará textos no idioma default da aplicação (neste caso, em Português do Brasil). 13

20 Capítulo 2. Criação da aplicação Dica Ao invés de manter fixas as descrições em rótulos, links, botões e mensagens em uma aplicação, recomenda-se parametrizar esses textos em arquivos de recursos. Além de ser considerada boa prática, essa medida facilita uma posterior internacionalização da aplicação para diversos idiomas Executando no servidor A última etapa consiste na construção da aplicação Java Web e no respectivo deploy em um servidor de aplicações. Utilizando a IDE Eclipse, basta clicar com o botão direito no projeto bookmark e acessar o menu Run As, Run on Server. Em seguida, escolha um servidor compatível com Java EE 6 (ex: JBoss AS 6) e aguarde a inicialização deste. Na visão Console você verá as mensagens decorrentes do servidor de aplicações e da inicialização da aplicação bookmark agora hospedada nele. Dica Para executar em modo de depuração, na visão Servers, clique com o botão direito no servidor desejado e selecione a opção Debug. Nota Também é possível efetuar esses passos em linha de comando. Para isso, execute o comando mvn package, copie o arquivo bookmark.war resultante para a pasta de deploy do servidor 14

21 Executando no servidor (ex: JBOSS_HOME/server/default/deploy) e inicie este último através de seu comando próprio (ex: JBOSS_HOME/bin/run.sh). Em seguida, abra o navegador Web de sua preferência e acesse o endereço Esta é a página que deverá ser exibida com a aplicação bookmark em funcionamento: Figura 2.1. Página principal da aplicação Bookmark 15

22 16

23 Melhorando a aplicação 3.1. Implementando funcionalidade de edição Agora que a aplicação inicial já está rodando, iremos aumentar sua complexidade adicionando a funcionalidade de edição dos registros de bookmark. Dentro do pacote br.gov.frameworkdemoiselle.sample.view crie a classe BookmarkEditMB, a qual será responsável por controlar as modificações sobre os bookmarks efetuadas public class BookmarkEditMB extends AbstractEditPageBean<Bookmark, Long> { private static final long serialversionuid = private public String delete() { bc.delete(getid()); public String insert() { bc.insert(getbean()); public String update() { bc.update(getbean()); return protected void handleload() { setbean(bc.load(getid())); 17

24 Capítulo 3. Melhorando a apli... Dica A trata-se de uma anotação fornecida pelo Demoiselle Framework para indicar que o método em questão será incluído na sessão transacional. Caso essa anotação esteja vinculada na classe, todos os seus métodos serão considerados transacionais. A classe AbstractEditPageBean faz parte do código de suporte fornecido pelo Demoiselle Framework (especificamente na extensão JSF). Ao utilizá-la, o desenvolvedor não precisará implementar métodos específicos de navegação para uma tela de cadastro (i.e., do tipo CRUD). Ainda no pacote br.gov.frameworkdemoiselle.sample.view altere a @PreviousView("/bookmark_list.xhtml") public class BookmarkListMB extends AbstractListPageBean<Bookmark, Long> { private static final long serialversionuid = private BookmarkBC protected List<Bookmark> handleresultlist() { return public String deleteselection() { boolean delete = false; Iterator<Long> iter = getselection().keyset().iterator(); while (iter.hasnext()) { Long id = iter.next(); delete = getselection().get(id); if (delete) { bc.delete(id); iter.remove(); return getpreviousview(); A serve para definir a próxima visão a ser direcionado o fluxo de navegação JSF. De forma semelhante, a define a visão anterior de um fluxo. O novo método deleteselection() servirá para permitir a funcionalidade de exclusão de múltiplas linhas da tabela. A nele faz com que o método seja considerado como transacional, incluindo-o na respectiva sessão. No diretório /src/main/webapp/, crie o arquivo bookmark_edit.xhtml com o conteúdo seguinte: 18

25 Implementando funcionalidade de edição <ui:composition xmlns=" xmlns:f=" xmlns:p=" xmlns:h=" xmlns:ui=" template="/template/main.xhtml"> <ui:define name="body"> <h:form prependid="false"> <p:toolbar> <p:toolbargroup align="left"> <p:commandbutton value="#{messages['button.save']" action="#{bookmarkeditmb.insert" rendered="#{!bookmarkeditmb.updatemode" ajax="false" /> <p:commandbutton value="#{messages['button.save']" action="#{bookmarkeditmb.update" rendered="#{bookmarkeditmb.updatemode" ajax="false" /> <p:commandbutton value="#{messages['button.delete']" onclick="confirmation.show()" rendered="#{bookmarkeditmb.updatemode" type="button" immediate="true" ajax="false" /> <p:confirmdialog message="#{messages['label.confirm.delete']" showeffect="bounce" hideeffect="explode" header="#{messages['label.dialog.delete']" severity="alert" widgetvar="confirmation"> <h:commandbutton value="#{messages['button.dialog.yes']" action="#{bookmarkeditmb.delete" immediate="true" ajax="false" /> <h:commandbutton value="#{messages['button.dialog.no']" onclick="confirmation.hide()" type="button" /> </p:confirmdialog> </p:toolbargroup> </p:toolbar> <br /> <p:fieldset legend="#{messages['bookmark.label']" toggleable="true" togglespeed="500"> <h:panelgrid id="fields" columns="3"> <h:outputlabel value="#{messages['bookmark.label.id']: " for="id" styleclass="text-input" /> <h:outputtext id="id" value="#{bookmarkeditmb.bean.id" /> <p:message for="id" /> <h:outputlabel value="#{messages['bookmark.label.description']: " for="description" styleclass="text-input" /> <h:inputtext id="description" value="#{bookmarkeditmb.bean.description" title="#{messages['bookmark.alt.description']" /> <p:message for="description" /> <h:outputlabel value="#{messages['bookmark.label.link']: " for="link" styleclass="text-input" /> <h:inputtext id="link" value="#{bookmarkeditmb.bean.link" title="#{messages['bookmark.alt.link']" /> <p:message for="link" /> </h:panelgrid> </p:fieldset> </h:form> </ui:define> </ui:composition> Ainda no diretório /src/main/webapp/, modifique o arquivo bookmark_list.xhtml com o conteúdo seguinte: <ui:composition xmlns=" xmlns:f=" 19

26 Capítulo 3. Melhorando a apli... xmlns:p=" xmlns:h=" xmlns:ui=" template="/template/main.xhtml"> <ui:define name="body"> <h:form> <p:toolbar> <p:toolbargroup align="left"> <p:commandbutton title="#{messages['button.new']" image="ui-icon-document" action="#{bookmarklistmb.getnextview" actionlistener="#{bookmarklistmb.clear" ajax="false" /> <p:commandbutton title="#{messages['button.delete']" image="ui-icon-trash" onclick="confirmation.show()" type="button" immediate="true" ajax="false" /> <p:confirmdialog message="#{messages['label.confirm.delete']" showeffect="bounce" hideeffect="explode" header="#{messages['label.dialog.alert']!" severity="alert" widgetvar="confirmation"> <h:commandbutton value="#{messages['button.dialog.yes']" action="#{bookmarklistmb.deleteselection" actionlistener="#{bookmarklistmb.clear" /> <h:commandbutton value="#{messages['button.dialog.no']" onclick="confirmation.hide()" type="button" /> </p:confirmdialog> </p:toolbargroup> </p:toolbar> <p:datatable id="list" var="bean" value="#{bookmarklistmb.resultlist"> <f:facet name="header">#{messages['bookmark.list.table.title']</f:facet> <p:column style="width:1%;"> <h:selectbooleancheckbox value="#{bookmarklistmb.selection[bean.id]" /> </p:column> <p:column style="width:5%;" sortby="#{bean.id"> <f:facet name="header">#{messages['bookmark.label.id']</f:facet> <h:outputtext value="#{bean.id" /> </p:column> <p:column sortby="#{bean.description"> <f:facet name="header">#{messages['bookmark.label.description']</f:facet> <h:commandlink action="#{bookmarklistmb.getnextview" actionlistener="#{bookmarklistmb.clear"> <h:outputtext value="#{bean.description" /> <f:param name="id" value="#{bean.id" /> </h:commandlink> </p:column> <p:column sortby="#{bean.link"> <f:facet name="header">#{messages['bookmark.label.link']</f:facet> <h:commandlink action="#{bookmarklistmb.getnextview" actionlistener="#{bookmarklistmb.clear"> <h:outputtext value="#{bean.link" /> <f:param name="id" value="#{bean.id" /> </h:commandlink> </p:column> </p:datatable> </h:form> </ui:define> </ui:composition> No diretório /src/main/webapp/, altere o arquivo menu.xhtml conforme o conteúdo seguinte: 20

27 Implementando funcionalidade de edição <ui:composition xmlns=" xmlns:f=" xmlns:p=" xmlns:h=" xmlns:ui=" <h:form> <p:menubar> <p:submenu label="#{messages['menu.bookmark']"> <p:menuitem value="#{messages['menu.menuitem.new']" url="/bookmark_edit.jsf" /> <p:menuitem value="#{messages['menu.menuitem.list']" url="/bookmark_list.jsf" /> </p:submenu> <p:submenu> <f:facet name="label"> <p:menuitem value="#{messages['menu.menuitem.quit']" url=" /> </f:facet> </p:submenu> </p:menubar> </h:form> </ui:composition> Tendo feito todas essas alterações, reconstrua o projeto Java e faça novo deploy no servidor de aplicações. Ao acessar a aplicação bookmark pelo browser, verá que agora existe uma opção nova no menu principal: Bookmarks, Novo. Executando-a, será exibida a página a seguir: Figura 3.1. Edição dos dados na aplicação Bookmark 21

28 Capítulo 3. Melhorando a apli Exibindo mensagens para o usuário Uma vez que o objetivo principal da aplicação foi concluído (i.e., listagem e edição de bookmarks), veremos algumas funcionalidades adicionais fornecidas pelo Demoiselle Framework, iniciando pelo tratamento de mensagens. Dentro do pacote br.gov.frameworkdemoiselle.sample.message crie a interface InfoMessages, a qual servirá para armazenar mensagens informativas a serem exibidas ao usuário: public interface InfoMessages { final Message BOOKMARK_DELETE_OK = new DefaultMessage("{bookmark-delete-ok"); final Message BOOKMARK_INSERT_OK = new DefaultMessage("{bookmark-insert-ok"); final Message BOOKMARK_UPDATE_OK = new DefaultMessage("{bookmark-update-ok"); Nota A unidade básica de manipulação de mensagens no Demoiselle Framework é a interface Message. Ou seja, basta que esta última seja implementada na aplicação para que o contexto de mensagens possa manipulá-la. A classe DefaultMessage é oferecida como implementação padrão dessa interface. No exemplo em questão, o texto das mensagens será recuperado do arquivo de recursos messages.properties previamente criado no diretório /src/main/resources/. Para isso, adicione as seguintes linhas nesse arquivo: bookmark-delete-ok=bookmark exclu\u00eddo\: {0 bookmark-insert-ok=bookmark inserido: {0 bookmark-update-ok=bookmark atualizado: {0 Dentro do pacote br.gov.frameworkdemoiselle.sample.business altere a classe BookmarkBC incluindo os trechos de código indicados a public class BookmarkBC extends DelegateCrud<Bookmark, Long, BookmarkDAO> private MessageContext public void insert(bookmark bookmark) { super.insert(bookmark); messagecontext.add(infomessages.bookmark_insert_ok, bookmark.getdescription()); 22

29 Exibindo mensagens para o public void update(bookmark bookmark) { super.update(bookmark); messagecontext.add(infomessages.bookmark_update_ok, public void delete(long id) { super.delete(id); messagecontext.add(infomessages.bookmark_delete_ok, id); No ponto será injetado via CDI o contexto de mensagens presente na aplicação, ou seja, uma instância da interface MessageContext que poderá ser utilizada em qualquer método nessa classe. Aqui os métodos insert(), update() e delete() da classe DelegateCrud são sobrescritos para permitir com que o contexto de mensagens seja manipulado em cada invocação destes. O método add() de MessageContext faz com que a mensagem passada como parâmetro seja adicionada ao contexto, que ao final será exibida para o usuário na camada de apresentação. Nota O contexto de mensagens, representado pela interface MessageContext, é capaz de armazenar diversas mensagens em uma mesma requisição. Ele não é restrito à aplicações do tipo Web, isto é, pode ser usado também para aplicações do tipo desktop (i.e., Swing). Ao término das modificações propostas até aqui, reconstrua o projeto Java e faça novo deploy no servidor de aplicações. Acesse a aplicação bookmark e efetue inclusões, modificações e exclusões de bookmarks. As mensagens informativas devem aparecer em caixas de mensagens na tela, tal como ilustrado a seguir: 23

30 Capítulo 3. Melhorando a apli... Figura 3.2. Exibição de mensagens na aplicação Bookmark 3.3. Criando regras de validação nos campos Sendo aderente à especificação Java EE 6, o Demoiselle Framework recomenda e faz uso do mecanismo de validação provido pela especificação JSR-303 (Bean Validation) [ A fim de testarmos mais essa funcionalidade, utilizaremos a implementação de validação Hibernate Validator. Para tal, abra o arquivo pom.xml do projeto bookmark e inclua nele a seguinte dependência: <dependencies>... <dependency> <groupid>org.hibernate</groupid> <artifactid>hibernate-validator</artifactid> <version>4.1.0.final</version> </dependency> </dependencies> Nota O objetivo dessa abordagem de validação é auxiliar na criação de restrições diretamente nas entidades de domínio. Tais restrições serão utilizadas de forma conjunta nas camadas de persistência e apresentação da aplicação. A vantagem é que elas são facilmente configuráveis, 24

31 Criando regras de validação nos campos bastando apenas incluir certas nos campos da classe a ser validada. No pacote br.gov.frameworkdemoiselle.sample.domain altere a entidade de domínio Bookmark incluindo as anotações de validação nos campos description e link conforme ilustrado a public class private @Size(min = 1, max = 20) private = private String link;... No campo description, a serve para impedir que o valor nulo seja atribuído a ele. Já a restringe a quantidade mínima e máxima de caracteres no campo. No campo link mais restrições são aplicadas. Além de não permitir o valor nulo e estipular o comprimento máximo de 255 caracteres o campo não pode ficar vazio e seu conteúdo deve ser um endereço de Internet válido Dica Validações de campos específicos para a comunidade brasileira são oferecidos pelo componente Demoiselle Validation. Com ele, as seguintes anotações podem ser aplicadas nas classes Assim que você efetuar as modificações, reconstrua o projeto Java e faça novo deploy no servidor de aplicações. Acesse a aplicação bookmark e, na tela de edição de bookmarks, deixe vazios os campos no formulário e clique em Salvar. Tente também preencher um endereço de Internet inválido no campo Link. Caixas de erro com as mensagens referentes as validações devem aparecer ao lado de cada campo, tal como ilustrado: 25

32 Capítulo 3. Melhorando a apli... Figura 3.3. Validação de campos na aplicação Bookmark Dica As mensagens exibidas na tela durante a validação estão contidas no arquivo de recursos ValidationMessages.properties presente no diretório /src/main/resources/. 26

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

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

Leia mais

Demoiselle Tutorial Módulo 1 Arquitetura

Demoiselle Tutorial Módulo 1 Arquitetura Demoiselle Tutorial Módulo 1 Arquitetura Vanderson Botelho da Silva (SERPRO/SUPST/STCTA) Emerson Sachio Saito (SERPRO/CETEC/CTCTA) Flávio Gomes da Silva Lisboa (SERPRO/CETEC/CTCTA) Serge Normando Rehem

Leia mais

FACULDADE DE TECNOLOGIA SENAC GOIÁS PROGRAMAÇÃO PARA INTERNET TUTORIAL DE APLICAÇÃO JSF DESENVOLVIDO COM A FERRAMENTA ECLIPSE LUNA

FACULDADE DE TECNOLOGIA SENAC GOIÁS PROGRAMAÇÃO PARA INTERNET TUTORIAL DE APLICAÇÃO JSF DESENVOLVIDO COM A FERRAMENTA ECLIPSE LUNA FACULDADE DE TECNOLOGIA SENAC GOIÁS PROGRAMAÇÃO PARA INTERNET TUTORIAL DE APLICAÇÃO JSF DESENVOLVIDO COM A FERRAMENTA ECLIPSE LUNA NOME DO PROJETO: CadastroWeb ALUNOS: Fabio Henrique, Murillo Victor TUTORIAL

Leia mais

Como criar um EJB. Criando um projeto EJB com um cliente WEB no Eclipse

Como criar um EJB. Criando um projeto EJB com um cliente WEB no Eclipse Como criar um EJB Criando um projeto EJB com um cliente WEB no Eclipse Gabriel Novais Amorim Abril/2014 Este tutorial apresenta o passo a passo para se criar um projeto EJB no Eclipse com um cliente web

Leia mais

TUTORIAL SISTEMA DE CONTROLE DE ACESSO

TUTORIAL SISTEMA DE CONTROLE DE ACESSO FACULDADE DE TECNOLOGIA SENAC GOIÁS GESTÃO EM TECNOLOGIA DA INFORMAÇÃO WISLIY LOPES JULIANO PIROZZELLI TULIO TSURUDA LUIZ GUILHERME MENDES TUTORIAL SISTEMA DE CONTROLE DE ACESSO GOIÂNIA JUNHO DE 2014 Sumário

Leia mais

Parte I. Demoiselle Vaadin

Parte I. Demoiselle Vaadin Parte I. Demoiselle Vaadin O Vaadin é um framework para construção de interfaces web que aplica ideias inovadoras. Apesar de usar o GWT como mecanismo para a exibição de seus componentes, eles tem características

Leia mais

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

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

Leia mais

Desenvolvimento Web com Framework Demoiselle versão 1.0

Desenvolvimento Web com Framework Demoiselle versão 1.0 Desenvolvimento Web com Framework Demoiselle versão 1.0 Módulo 07: Outros Componentes Autor: Rodrigo Hjort Serpro / Coordenação Estratégica de Tecnologia / Curitiba www.frameworkdemoiselle.org.br Modificado

Leia mais

Ambientação JAVA. Versão 0.1 MICHEL CORDEIRO ANALISTA DE NEGÓCIO (NTI 2014) 1 UNIVERSIDADE CEUMA 08/01/2014

Ambientação JAVA. Versão 0.1 MICHEL CORDEIRO ANALISTA DE NEGÓCIO (NTI 2014) 1 UNIVERSIDADE CEUMA 08/01/2014 UNIVERSIDADE CEUMA Ambientação JAVA Versão 0.1 08/01/2014 Este é um modelo de configuração para desenvolvimento no ambiente Java. MICHEL CORDEIRO ANALISTA DE NEGÓCIO (NTI 2014) 1 Sumário Sumário... 2 1

Leia mais

SCC-0263. Técnicas de Programação para WEB. Rodrigo Fernandes de Mello http://www.icmc.usp.br/~mello mello@icmc.usp.br

SCC-0263. Técnicas de Programação para WEB. Rodrigo Fernandes de Mello http://www.icmc.usp.br/~mello mello@icmc.usp.br SCC-0263 Técnicas de Programação para WEB Rodrigo Fernandes de Mello http://www.icmc.usp.br/~mello mello@icmc.usp.br 1 Cronograma Fundamentos sobre servidores e clientes Linguagens Server e Client side

Leia mais

10 Guia do Usuário. 10.1 Finalidade do Guia. 10.2 Criando sua Conta no Azure

10 Guia do Usuário. 10.1 Finalidade do Guia. 10.2 Criando sua Conta no Azure 88 10 Guia do Usuário 10.1 Finalidade do Guia O presente capítulo é destinado a Estatísticos, Atuários, Matemáticos e Engenheiros que estão desenvolvendo sua pesquisa com o Método de Monte Carlo e desejam

Leia mais

APRESENTAÇÃO. questões que constantemente chegam ao Suporte de Informática do Órgão Central.

APRESENTAÇÃO. questões que constantemente chegam ao Suporte de Informática do Órgão Central. APRESENTAÇÃO O presente documento Aplicativos de E-mail / Webmail Nível Básico Perguntas e Respostas tem como principal objetivo disponibilizar aos servidores das Escolas Estaduais do Estado de Minas Gerais

Leia mais

SCE-557. Técnicas de Programação para WEB. Rodrigo Fernandes de Mello http://www.icmc.usp.br/~mello mello@icmc.usp.br

SCE-557. Técnicas de Programação para WEB. Rodrigo Fernandes de Mello http://www.icmc.usp.br/~mello mello@icmc.usp.br SCE-557 Técnicas de Programação para WEB Rodrigo Fernandes de Mello http://www.icmc.usp.br/~mello mello@icmc.usp.br 1 Cronograma Fundamentos sobre servidores e clientes Linguagens Server e Client side

Leia mais

Manual do Usuário Publicador

Manual do Usuário Publicador Manual do Usuário Publicador Portal STN SERPRO Superintendência de Desenvolvimento SUPDE Setor de Desenvolvimento de Sítios e Portais DEDS2 Versão 1.1 Fevereiro 2014 Sumário Sobre o Manual... 3 Objetivo...

Leia mais

MANUAL DE EMISSÃO E INSTALAÇÃO DO CERTIFICADO TIPO A1 (GOOGLE CHROME)

MANUAL DE EMISSÃO E INSTALAÇÃO DO CERTIFICADO TIPO A1 (GOOGLE CHROME) MANUAL DE EMISSÃO E INSTALAÇÃO DO CERTIFICADO TIPO A1 (GOOGLE CHROME) VERSÃO 10 Atualizado em 30/12/2015 Página 1 de 30 A renovação online do certificado somente poderá ser feita uma única vez (e-cpf)

Leia mais

Tutorial para criação de componentes JSF Facelets Por Érico GR 07/08/2007

Tutorial para criação de componentes JSF Facelets Por Érico GR 07/08/2007 Tutorial para criação de componentes JSF Facelets Por Érico GR 07/08/2007 Nível: Intermediário Este tutorial tem como objetivo criar um simples componente que renderiza uma tag label utilizando recursos

Leia mais

4 Desenvolvimento da ferramenta

4 Desenvolvimento da ferramenta direcionados por comportamento 38 4 Desenvolvimento da ferramenta Visando facilitar a tarefa de documentar requisitos funcionais e de gerar testes automáticos em uma única ferramenta para proporcionar

Leia mais

Descompacte o arquivo site-1.2.4.zip que foi baixado dentro da pasta do eclipse.

Descompacte o arquivo site-1.2.4.zip que foi baixado dentro da pasta do eclipse. 3 Manual do Desenvolvedor 3.1 Introdução O site que disponibiliza o SIGATI utiliza o sistema de SVN que é um programa de controle de versão de softwares utilizado no Trac. Com ele o desenvolvedor pode

Leia mais

Prova Específica Cargo Desenvolvimento

Prova Específica Cargo Desenvolvimento UNIVERSIDADE FEDERAL DO PIAUÍ Centro de Educação Aberta e a Distância CEAD/UFPI Rua Olavo Bilac 1148 - Centro CEP 64.280-001 Teresina PI Brasil Fones (86) 3215-4101/ 3221-6227 ; Internet: www.uapi.edu.br

Leia mais

FACULDADE DE TECNOLOGIA SENAC GOIÁS CONTROLE DE ACESSO USANDO O FRAMEWORK RICHFACES. 5º PERÍODO Gestão da Tecnologia da Informação

FACULDADE DE TECNOLOGIA SENAC GOIÁS CONTROLE DE ACESSO USANDO O FRAMEWORK RICHFACES. 5º PERÍODO Gestão da Tecnologia da Informação FACULDADE DE TECNOLOGIA SENAC GOIÁS CONTROLE DE ACESSO USANDO O FRAMEWORK RICHFACES 5º PERÍODO Gestão da Tecnologia da Informação Alunos: Alessandro Aparecido André Alexandre Bruno Santiago Thiago Castilho

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

Visualizador de Documentos Fiscais Eletrônicos FAQ (Perguntas frequentes)

Visualizador de Documentos Fiscais Eletrônicos FAQ (Perguntas frequentes) Visualizador de Documentos Fiscais Eletrônicos FAQ (Perguntas frequentes) 1. Quais são os requisitos de software para executar o Visualizador em meu computador? Para executar o Visualizador é necessário

Leia mais

Criando uma agenda simples com NetBeans 6.5

Criando uma agenda simples com NetBeans 6.5 Criando uma agenda simples com NetBeans 6.5 (Swing application framework e Beansbinding) Já faz algum tempo que escrevi uma agenda simples usando o Eclipse com o Visual Class Editor. Demorei em torno de

Leia mais

Manual do Usuário DISCADOR GSM. MAN0065 - Versão: 1.4. Copyright 2011 Digivoice Eletrônica

Manual do Usuário DISCADOR GSM. MAN0065 - Versão: 1.4. Copyright 2011 Digivoice Eletrônica Manual do Usuário DISCADOR GSM MAN0065 - Versão: 1.4 Conteúdo Bem Vindo 4. Introdução 5. Requisitos Mínimos 6. Instalação 21. Funcionalidades 21. 28. 33. Tela Principal Configuracoes Avançadas Relatórios

Leia mais

DWR DIRECTED WEB REMOTING

DWR DIRECTED WEB REMOTING DWR DIRECTED WEB REMOTING Vamos ver nesse artigo um pouco sobre o Frameworks Ajax para Java, o DWR. Vamos ver seus conceitos, utilidades, vantagens, algumas práticas e fazer o passo a passo para baixar,

Leia mais

Utilizando subversion como controle de versão

Utilizando subversion como controle de versão Utilizando subversion como controle de versão Heitor Rapcinski Este documento descreverá a utilização de subversion como ferramenta de controle de versão mostrando as facilidades da sua utilização para

Leia mais

Tutorial: Criando aplicações J2EE com Eclipse e jboss-ide

Tutorial: Criando aplicações J2EE com Eclipse e jboss-ide Tutorial: Criando aplicações J2EE com Eclipse e jboss-ide Para criar uma aplicação J2EE, utilizando Eclipse e jboss-ide, é necessário ter instalado em seu computador o JDK 1.5 (versão atual). Abaixo seguem

Leia mais

Guião de Introdução ao Eclipse IDE Índice

Guião de Introdução ao Eclipse IDE Índice Índice 1. Introdução... 2 1.1. O que é um ambiente de desenvolvimento (IDE)?... 2 1.2. Visão geral sobre o Eclipse IDE... 2 2. Iniciar o Eclipse... 3 2.1. Instalação... 3 2.2. Utilizar o Eclipse... 3 3.

Leia mais

Criação de um novo projeto no Eclipse utilizando Maven

Criação de um novo projeto no Eclipse utilizando Maven 1. Faça o download da versão mais atual do Eclipse IDE for Java EE Developers em https://www.eclipse.org/downloads/. 2. No Eclipse, crie um novo projeto Maven, em File >> New >> Maven Project 3. Marque

Leia mais

Demoiselle Nimble Guia do Usuário Emerson Saito Rodrigo Hjort Serge Rehem

Demoiselle Nimble Guia do Usuário Emerson Saito Rodrigo Hjort Serge Rehem Demoiselle Nimble Guia do Usuário Emerson Saito Rodrigo Hjort Serge Rehem Guia do usuário... v 1. Sobre Demoiselle Nimble... 1 1.1. O que é... 1 1.2. Templates Disponíveis... 1 2. Instalação... 3 2.1.

Leia mais

Guia SPED. Sumário. Guia SPED. Introdução ... 4. Copyright 2014 MV. Todos os direitos reservados.

Guia SPED. Sumário. Guia SPED. Introdução ... 4. Copyright 2014 MV. Todos os direitos reservados. Sumário Introdução 3... 4 Programa validador e assinador do EFD-PIS/COFINS... 5 Configuração do... MV2000 8 Geração do arquivo digital em.txt... 12 2 3 Introdução Este guia tem por objetivo auxiliar na

Leia mais

MANUAL DE EMISSÃO DO CERTIFICADO TIPO A1

MANUAL DE EMISSÃO DO CERTIFICADO TIPO A1 MANUAL DE EMISSÃO DO CERTIFICADO TIPO A1 VERSÃO 9 Atualizado em 10/10/2014 Página 1 A renovação online do certificado somente poderá ser feita uma única vez e em sistema operacional Windows XP SP3 ou Windows

Leia mais

Tutorial de Computação Programação em Python para MEC1100 v2010.11

Tutorial de Computação Programação em Python para MEC1100 v2010.11 Tutorial de Computação Programação em Python para MEC1100 v2010.11 Linha de Equipamentos MEC Desenvolvidos por: Maxwell Bohr Instrumentação Eletrônica Ltda. Rua Porto Alegre, 212 Londrina PR Brasil http://www.maxwellbohr.com.br

Leia mais

Manual Rápido de Registro e Configuração do DJPDV

Manual Rápido de Registro e Configuração do DJPDV Página 1 Manual Rápido de Registro e Configuração do DJPDV Juliana Rodrigues Prado Tamizou www.djsystem.com.br (15) 3324-3333 Rua Coronel Aureliano de Camargo,973 Centro - Tatuí SP - 18270-170 Revisado

Leia mais

Persistindo dados com TopLink no NetBeans

Persistindo dados com TopLink no NetBeans Persistindo dados com TopLink no NetBeans O que é TopLink? O TopLink é uma ferramenta de mapeamento objeto/relacional para Java. Ela transforma os dados tabulares de um banco de dados em um grafo de objetos

Leia mais

Ajuda On-line - Sistema de Relacionamento com o Cliente. Versão 1.1

Ajuda On-line - Sistema de Relacionamento com o Cliente. Versão 1.1 Ajuda On-line - Sistema de Relacionamento com o Cliente Versão 1.1 Sumário Sistema de Relacionamento com Cliente 3 1 Introdução... ao Ambiente do Sistema 4 Acessando... o Sistema 4 Sobre a Tela... do Sistema

Leia mais

Desenvolvendo Aplicações Web com NetBeans

Desenvolvendo Aplicações Web com NetBeans Desenvolvendo Aplicações Web com NetBeans Aula 3 Cap. 4 Trabalhando com Banco de Dados Prof.: Marcelo Ferreira Ortega Introdução O trabalho com banco de dados utilizando o NetBeans se desenvolveu ao longo

Leia mais

Padrão "Arquivo Anexado"

Padrão Arquivo Anexado 6Implementando a Inclusão Padrão "Arquivo Anexado" Capítulo 9 - Prosseguindo na Implementação de UC002 Manter Funcionário! - Introdução No capítulo anterior, implementamos a manutenção de toda a Agregação

Leia mais

Demoiselle Infra. Manual do Usuário. Emerson Sachio Saito

Demoiselle Infra. Manual do Usuário. Emerson Sachio Saito Demoiselle Infra Manual do Usuário Emerson Sachio Saito Manual do Usuário... v 1. Sobre Demoiselle Infra... 1 1.1. O que é?... 1 1.2. Por que utilizá-lo?... 1 2. Instalação... 3 3. GNU/LINUX - DEB...

Leia mais

FUNDAÇÃO PARQUE TECNOLÓGICO DE SANTOS

FUNDAÇÃO PARQUE TECNOLÓGICO DE SANTOS Anexo I Modelo para inscrição e apresentação dos projetos EDITAL DE CONVOCAÇÃO PÚBLICA nº 01/2016 1. IDENTIFICAÇÃO 1.1 Nome ou Razão Social 1.2 Ramo de atividade (se empresa) 1.3 Endereço completo 1.4

Leia mais

Manual de Publicação Wordpress

Manual de Publicação Wordpress Fundação Universidade Federal de Mato Grosso do Sul Manual de Publicação Wordpress Núcleo de Tecnologia da Informação - UFMS Maurílio Mussi Montanha 2014 Sumário 1 Introdução... 3 2 ACESSO À INTERFACE

Leia mais

Nome N Série: Ferramentas

Nome N Série: Ferramentas Nome N Série: Ferramentas Competências: Identificar e utilizar técnicas de modelagem de dados; Habilidades: Utilizar ferramentas de apoio ao desenvolvimento de software; Bases Tecnológicas: Metodologias

Leia mais

SELENIUM 28/03/2011. Márcio Delamaro Harry Trinta

SELENIUM 28/03/2011. Márcio Delamaro Harry Trinta 1 SELENIUM 28/03/2011 Márcio Delamaro Harry Trinta O que é a Selenium? Selenium é uma ferramenta desenvolvida para a automação de testes em aplicações Web Suporta diversos browsers: Firefox Internet Explorer

Leia mais

Guia de instalação. Configuração necessária Instalação e ativação - 1 -

Guia de instalação. Configuração necessária Instalação e ativação - 1 - Guia de instalação Configuração necessária Instalação e ativação - 1 - Configuração necessária As aplicações da linha de produtos 4D v15 requerem como mínimo a seguinte configuração: Windows Mac OS Processador

Leia mais

Guia de Integração para Pagamento Fácil (Cartão de Débito Bradesco)

Guia de Integração para Pagamento Fácil (Cartão de Débito Bradesco) Guia de Integração para Pagamento Fácil (Cartão de Débito Bradesco) Índice Capítulo 1... 3 Introdução... 3 Capítulo 2... 4 Links de Pagamento... 4 Capítulo 3... 5 Configurando o Gerenciador de Compras...

Leia mais

Demoiselle Report Guide. Demoiselle Report. Marlon Carvalho. <marlon.carvalho@gmail.com> Rodrigo Hjort. <rodrigo.hjort@gmail.com> Robson Ximenes

Demoiselle Report Guide. Demoiselle Report. Marlon Carvalho. <marlon.carvalho@gmail.com> Rodrigo Hjort. <rodrigo.hjort@gmail.com> Robson Ximenes Demoiselle Report Guide Demoiselle Report Marlon Carvalho Rodrigo Hjort Robson Ximenes Demoiselle Report... v 1. Configuração

Leia mais

Guia do Usuário ProAnalir 2013. Introdução... 2. Liberação das licenças... 3

Guia do Usuário ProAnalir 2013. Introdução... 2. Liberação das licenças... 3 Área Universidade Prosoft Autor Valquíria Coelho Criação 26/02/2013 Publicação - 28/02/2013 Distribuição Franqueadora, Franquias e Clientes. Guia do Usuário ProAnalir 2013 Conteúdo: Introdução... 2 Liberação

Leia mais

para Revit MEP TigreCAD Guia do usuário Versão 2 2012. Desenvolvido pela ofcdesk, llc. Todos os direitos reservados.

para Revit MEP TigreCAD Guia do usuário Versão 2 2012. Desenvolvido pela ofcdesk, llc. Todos os direitos reservados. TigreCAD para Revit MEP Guia do usuário Versão 2 202. Desenvolvido pela ofcdesk, llc. Todos os direitos reservados. Índice Introdução... Instalação do TigreCAD... Funcionalidades TigreCAD no ofcdesk idc...

Leia mais

Java Server Faces 2.0 Rich Faces 4.0

Java Server Faces 2.0 Rich Faces 4.0 DEPARTAMENTO DE INFORMÁTICA - DI Java Server Faces 2.0 Rich Faces 4.0 Quais as novidades e alterações nas novas versões das tecnologias? Pablo Bruno de Moura Nóbrega Analista de Sistemas pablo.nobrega@uece.br

Leia mais

JavaServer Faces. Parte 2

JavaServer Faces. Parte 2 JavaServer Faces Parte 2 Recapitulando Aplicações web são aplicações que executam em um servidor Recebem requisições de usuários Retornam respostas ao usuário Browsers só entendem e exibem html O servidor

Leia mais

Desenvolvimento para Android Prá3ca 3. Prof. Markus Endler

Desenvolvimento para Android Prá3ca 3. Prof. Markus Endler Desenvolvimento para Android Prá3ca 3 Prof. Markus Endler Exercício 3.1 Solicitando permissão para abrir uma página Web ü Criaremos uma Ac.vity com um EditText (para entrada de uma URL), um Bu?on e uma

Leia mais

Demoiselle Tutorial Módulo 2 Persistência

Demoiselle Tutorial Módulo 2 Persistência Demoiselle Tutorial Módulo 2 Persistência Vanderson Botelho da Silva (SERPRO/SUPST/STCTA) Emerson Sachio Saito (SERPRO/CETEC/CTCTA) Flávio Gomes da Silva Lisboa (SERPRO/CETEC/CTCTA) Serge Normando Rehem

Leia mais

SISTEMA OPERACIONAL MAC OS

SISTEMA OPERACIONAL MAC OS MANUAL PROTECT Versão R15 SISTEMA OPERACIONAL MAC OS Copyright GVT 2015 www.gvtprotect.com.br 1 1 Índice 1 Índice... 2 2 GVT PROTECT... 3 2.1 Requisitos Mínimos De Sistema... 3 2.2 Sistemas Operacionais

Leia mais

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

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

Leia mais

Fale.com. Manual do Usuário

Fale.com. Manual do Usuário Fale.com Manual do Usuário Serviço Fale.com Índice 1. Introdução 3 2. Instalando o Fale.com 3 a. Configurando o áudio para atendimento pela Internet 9 3. Configurando o Fale.com 14 4. Utilizando o Fale.com

Leia mais

Inicialização Rápida do Aplicativo de Desktop Novell Filr 1.2 para Windows

Inicialização Rápida do Aplicativo de Desktop Novell Filr 1.2 para Windows Inicialização Rápida do Aplicativo de Desktop Novell Filr 1.2 para Windows Abril de 2015 Inicialização rápida O Novell Filr permite que você acesse facilmente todos os seus arquivos e pastas do desktop,

Leia mais

Softpress NFe E-mail. Guia do Usuário

Softpress NFe E-mail. Guia do Usuário Softpress NFe E-mail Guia do Usuário Conteúdo deste Guia 1. Introdução 2. Considerações Gerais 3. Instalação do NFe E-mail 4. Ativação do Produto 5. Página Inicial 6. Clientes 7. Localizar 8. Atendimento

Leia mais

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS Internacionalização e Literais Professor: Danilo Giacobo OBJETIVOS DA AULA Aprender as vantagens do uso de literais e da internacionalização em aplicativos Android.

Leia mais

Inicialização Rápida do Aplicativo de Desktop Novell Filr 1.2 para Mac

Inicialização Rápida do Aplicativo de Desktop Novell Filr 1.2 para Mac Inicialização Rápida do Aplicativo de Desktop Novell Filr 1.2 para Mac Abril de 2015 Inicialização rápida O Novell Filr permite que você acesse facilmente todos os seus arquivos e pastas do desktop, browser

Leia mais

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS Ciclo de Vida de uma Aplicação Android Professor: Danilo Giacobo OBJETIVOS DA AULA Entender o ciclo de vida de uma aplicação Android. Conhecer algumas dicas para tirar

Leia mais

Conectar diferentes pesquisas na internet por um menu

Conectar diferentes pesquisas na internet por um menu Conectar diferentes pesquisas na internet por um menu Pré requisitos: Elaboração de questionário Formulário multimídia Publicação na internet Uso de senhas na Web Visualização condicionada ao perfil A

Leia mais

INTRODUÇÃO À TECNOLOGIA SERVLETS

INTRODUÇÃO À TECNOLOGIA SERVLETS PROGRAMAÇÃO SERVIDOR EM SISTEMAS WEB INTRODUÇÃO À TECNOLOGIA SERVLETS Prof. Dr. Daniel Caetano 2012-1 Objetivos Apresentar o conceito aplicações orientada a serviços via web Apresentar o papel dos contentores

Leia mais

Manual de Instalação SIM/SINASC

Manual de Instalação SIM/SINASC Manual de Instalação SIM/SINASC Agosto/2009 Versão 2.2 Índice CAPÍTULO 01 INTRODUÇÃO... 4 CAPÍTULO 02 - PERFIL DO HARDWARE... 5 CAPÍTULO 03 INSTALADOR SIM SINASC 2.2... 6 CAPÍTULO 04 - MODO DE INSTALAÇÃO...

Leia mais

Universidade Federal do Espírito Santo

Universidade Federal do Espírito Santo Universidade Federal do Espírito Santo Núcleo de Tecnologia da Informação Gerenciamento do Conteúdo de Sítios Institucionais Versão 1.4 Atualizado em: 8/10/2015 Sumário Sumário................................................

Leia mais

Manual de Instalação: Agente do OCS Inventory NG

Manual de Instalação: Agente do OCS Inventory NG Manual de Instalação: Agente do OCS Inventory NG Abril 2013 Sumário 1. Agente... 1 2. Onde instalar... 1 3. Etapas da Instalação do Agente... 1 a. Etapa de Instalação do Agente... 1 b. Etapa de Inserção

Leia mais

Guia do Demoiselle Audit Demoiselle Audit Paulo Gladson Ximenes Pinheiro Clóvis Lemes Ferreira Júnior

Guia do Demoiselle Audit Demoiselle Audit Paulo Gladson Ximenes Pinheiro Clóvis Lemes Ferreira Júnior Guia do Demoiselle Audit Demoiselle Audit Paulo Gladson Ximenes Pinheiro Clóvis Lemes Ferreira Júnior Demoiselle Audit... v 1. Auditor... 1 1.1. Auditor de Persistência... 1 1.2. Auditor de Visão... 1

Leia mais

MÓDULO Programação para Web 2

MÓDULO Programação para Web 2 MÓDULO Programação para Web 2 USANDO O JSF Continuação Interdependência e Injeção Instâncias de Managed Beans podem conversar entre si para dividir o processamento das requisições dos usuários de acordo

Leia mais

Configurar o Furbot no Eclipse

Configurar o Furbot no Eclipse Configurar o Furbot no Eclipse Primeiramente, precisamos abrir o Eclipse. Logo no início, deverá aparecer uma tela assim: Nela, você irá selecionar o local do seu workspace. Workspace é o local onde ficarão

Leia mais

Criação de Servlets Name Directory Build WAR JSP/Servlet frameworks Launch URL Package Class name Generate header comments

Criação de Servlets Name Directory Build WAR JSP/Servlet frameworks Launch URL Package Class name Generate header comments Criação de Servlets 1. Crie um novo projeto através do Menu File New Project. 2. Acesse o Menu File New. 3. Na janela Object Gallery que surgirá, selecione a guia Web. 4. Escolha o ícone que corresponde

Leia mais

MANUAL DE EMISSÃO E INSTALAÇÃO DO CERTIFICADO TIPO A1 (INTERNET EXPLORER)

MANUAL DE EMISSÃO E INSTALAÇÃO DO CERTIFICADO TIPO A1 (INTERNET EXPLORER) MANUAL DE EMISSÃO E INSTALAÇÃO DO CERTIFICADO TIPO A1 (INTERNET EXPLORER) VERSÃO 10 Atualizado em 30/12/2015 Página 1 de 21 A renovação online do certificado somente poderá ser feita uma única vez (e-cpf)

Leia mais

Criando um CRUD RESTful com Jersey, JPA e MySQL

Criando um CRUD RESTful com Jersey, JPA e MySQL www.devmedia.com.br [versão para impressão] Link original: http://www.devmedia.com.br/articles/viewcomp.asp?comp=33273 Criando um CRUD RESTful com Jersey, JPA e MySQL Aprenda neste artigo a implementar

Leia mais

O QUE É A CENTRAL DE JOGOS?

O QUE É A CENTRAL DE JOGOS? O QUE É A CENTRAL? A Central de Jogos consiste de duas partes: Um site na Internet e um programa de computador (Central) que deve ser instalado em sua máquina. No site www.centraldejogos.com.br, você pode

Leia mais

Tutorial Report Express. Como iniciar o uso dos serviços fazer a diferença.

Tutorial Report Express. Como iniciar o uso dos serviços fazer a diferença. Tutorial Report Express Como iniciar o uso dos serviços fazer a diferença. Índice Apresentação Pág. 3 Passo 1 Pág. 4 Instalação do MasterDirect Integrações Passo 2 Pág. 8 Exportar clientes Linha Contábil

Leia mais

ACESSANDO O SISTEMA DE AVALIAÇÃO DE PROVAS DE REDAÇÃO

ACESSANDO O SISTEMA DE AVALIAÇÃO DE PROVAS DE REDAÇÃO 1 ACESSANDO O SISTEMA DE AVALIAÇÃO DE PROVAS DE REDAÇÃO Com o objetivo de aumentar a segurança no processo de avaliação de provas de redação, o CESPE/UnB desenvolveu um novo módulo de acesso ao sistema.

Leia mais

INSTALAÇÃO PRINTERTUX Tutorial

INSTALAÇÃO PRINTERTUX Tutorial INSTALAÇÃO PRINTERTUX Tutorial 2 1. O Sistema PrinterTux O Printertux é um sistema para gerenciamento e controle de impressões. O Produto consiste em uma interface web onde o administrador efetua o cadastro

Leia mais

Gerenciador de Multi-Projetos. Manual do Usuário. 2000 GMP Corporation

Gerenciador de Multi-Projetos. Manual do Usuário. 2000 GMP Corporation GMP Corporation Gerenciador de Multi-Projetos Manual do Usuário 2000 GMP Corporation Histórico de Revisões Data Versão Descrição Autor 24/08/2004 1.0 Versão inicial do documento Bárbara Siqueira Equipe

Leia mais

WEBDESIGN. Professor: Paulo Marcos Trentin - paulo@paulotrentin.com.br http://www.paulotrentin.com.br Escola CDI de Videira

WEBDESIGN. Professor: Paulo Marcos Trentin - paulo@paulotrentin.com.br http://www.paulotrentin.com.br Escola CDI de Videira WEBDESIGN Professor: Paulo Marcos Trentin - paulo@paulotrentin.com.br http://www.paulotrentin.com.br Escola CDI de Videira Novo projeto com NetBeans A partir de hoje, vamos trabalhar com projetos no NetBeans

Leia mais

Universidade Federal de Santa Maria Centro de Tecnologia Programa de Educação Tutorial - Sistemas de Informação TUTORIAL

Universidade Federal de Santa Maria Centro de Tecnologia Programa de Educação Tutorial - Sistemas de Informação TUTORIAL Universidade Federal de Santa Maria Centro de Tecnologia Programa de Educação Tutorial - Sistemas de Informação TUTORIAL Guia Prático de Utilização do Sistema de Gerenciamento de Conteúdo Joomla 3.4.1

Leia mais

Tutorial para inscrição on-line

Tutorial para inscrição on-line Tutorial para inscrição on-line Programa de Pós-Graduação em Educação Processo de Seleção Mestrado e Doutorado Rio de Janeiro 1 Prezados Candidatos, Tentamos descrever aqui os passos necessários para se

Leia mais

Soluções de Acessibilidade. VLibras - Desktop. Manual de Instalação da Ferramenta. Microsoft Windows R. Núcleo de Pesquisa e Extensão / LAViD

Soluções de Acessibilidade. VLibras - Desktop. Manual de Instalação da Ferramenta. Microsoft Windows R. Núcleo de Pesquisa e Extensão / LAViD Soluções de Acessibilidade VLibras - Desktop Manual de Instalação da Ferramenta Microsoft Windows R Núcleo de Pesquisa e Extensão / LAViD 2016 INTRODUÇÃO Objetivo Este manual contém introdução e informações

Leia mais

Introdução a JavaServer Pages. Curso de Tecnologia em Análise e Desenvolvimento de Sistemas Desenvolvimento de sistemas web

Introdução a JavaServer Pages. Curso de Tecnologia em Análise e Desenvolvimento de Sistemas Desenvolvimento de sistemas web Introdução a JavaServer Pages Curso de Tecnologia em Análise e Desenvolvimento de Sistemas Desenvolvimento de sistemas web JavaServer Pages Problemas com Servlets: É improdutivo para gerar todo o conteúdo

Leia mais

* Técnicas Avançadas. Desenvolvimento de SOFTWARES. Sistemas de Gerenciamento de Conteúdo com Joomla e Magento

* Técnicas Avançadas. Desenvolvimento de SOFTWARES. Sistemas de Gerenciamento de Conteúdo com Joomla e Magento * Técnicas Avançadas Desenvolvimento de SOFTWARES Sistemas de Gerenciamento de Conteúdo com Joomla e Magento * Tópicos Sistema de Gerenciamento de Conteúdo CMS. Fron-end Back-end Instalando Site e Lojas

Leia mais

"NOVO MALOTE ELETRÕNICO" Versão Windows

NOVO MALOTE ELETRÕNICO Versão Windows "NOVO MALOTE ELETRÕNICO" Versão Windows ENCARGOS ESPECIAIS. Malote Eletrônico Versão: 5.8 ======================== A nova versão do Malote Eletrônico para WINDOWS, já está disponível nas Agências. A versão

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

Índice SISTRAM 4-2012. Solução de Problemas. 1 Introdução

Índice SISTRAM 4-2012. Solução de Problemas. 1 Introdução 2 Índice 0 SISTRAM 4-2012 3 1 Introdução... 3 Solução de Problemas 4 1 Limpar... cache do navegador 4 2 Limpar... cache do Java 6 3 Atualizar... Firefox 9 4 Habilitar... plugin do Java no Firefox 10 5

Leia mais

Prática da Disciplina de Sistemas Distribuídos Serviços Web IFMA DAI Professor Mauro Lopes C. Silva

Prática da Disciplina de Sistemas Distribuídos Serviços Web IFMA DAI Professor Mauro Lopes C. Silva 1. O que são Serviços Web (Web Services)? Prática da Disciplina de Sistemas Distribuídos Serviços Web IFMA DAI Professor Mauro Lopes C. Silva A ideia central dos Web Services parte da antiga necessidade

Leia mais

Manual de Operação do CADSUS WEB Modo Consulta

Manual de Operação do CADSUS WEB Modo Consulta Manual de Operação do CADSUS WEB Modo Consulta Agosto/2014 Sumário Sistema CADSUS WEB... 3 Orientações para Navegadores... 4 Acesso ao Sistema... 4 Página para Consulta... 5 Alteração de senha... 7 Perda

Leia mais

Tutorial de uso do Subversion com RapidSVN

Tutorial de uso do Subversion com RapidSVN Universidade Federal de São Carlos Departamento de Computação Tutorial de uso do Subversion com RapidSVN João Celso Santos de Oliveira Orientação: Prof.ª Dra. Marilde T. P. Santos - São Carlos - Agosto

Leia mais

OWL-S Composer. MATE15 - Tópicos Especiais em Banco de Dados III. 17 de Julho de 2013. Marco Antonio Almeida 1 e Daniela Barreiro Claro 2

OWL-S Composer. MATE15 - Tópicos Especiais em Banco de Dados III. 17 de Julho de 2013. Marco Antonio Almeida 1 e Daniela Barreiro Claro 2 MATE15 - Tópicos Especiais em Banco de Dados III OWL-S Composer 17 de Julho de 2013 Marco Antonio Almeida 1 e Daniela Barreiro Claro 2 1 marco062@dcc.ufba.br 2 dclaro@ufba.br MOTIVAÇÃO E HISTÓRICO MOTIVAÇÃO

Leia mais

Manual de Instalação

Manual de Instalação INSTITUTO BRASILEIRO DE INFORMAÇÃO EM CIÊNCIA E TECNOLOGIA Manual de Instalação Tecer [Windows] 2 ÍNDICE DE FIGURAS Figura 1 Aquivo Postgresql...9 Figura 2 Arquivo de Instalação... 10 Figura 3 Executar

Leia mais

Instalando o IIS 7 no Windows Server 2008

Instalando o IIS 7 no Windows Server 2008 Goiânia, 16/09/2013 Aluno: Rafael Vitor Prof. Kelly Instalando o IIS 7 no Windows Server 2008 Objetivo Esse tutorial tem como objetivo demonstrar como instalar e configurar o IIS 7.0 no Windows Server

Leia mais

Instalando o IIS 7 no Windows Server 2008

Instalando o IIS 7 no Windows Server 2008 Goiânia, 16/09/2013 Aluno: Rafael Vitor Prof. Kelly Instalando o IIS 7 no Windows Server 2008 Objetivo Esse tutorial tem como objetivo demonstrar como instalar e configurar o IIS 7.0 no Windows Server

Leia mais

Google App Engine. André Gustavo Duarte de Almeida. Computação Ubíqua e Nuvens. Natal, 24 de maio de 2012 andregustavoo@gmail.com

Google App Engine. André Gustavo Duarte de Almeida. Computação Ubíqua e Nuvens. Natal, 24 de maio de 2012 andregustavoo@gmail.com Google App Engine Natal, 24 de maio de 2012 andregustavoo@gmail.com Sumário Introdução Instalação Aplicação Exemplo Implantação Conclusão Introdução Google App Engine developers.google.com/appaengine Permite

Leia mais

Framework Demoiselle Versão 2.

Framework Demoiselle Versão 2. demoiselle_ Desenvolvimento Java EE 6 com Framework Demoiselle Versão 2. Mais leveza, reúso, flexibilidade e extensibilidade na nova versão do framework Java padrão do Governo Federal. Após quatro anos

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

CIBM. IBM SmartCloud Entry. Guia do Usuário - Versão 2.2

CIBM. IBM SmartCloud Entry. Guia do Usuário - Versão 2.2 CIBM Guia do Usuário - Versão 2.2 Esta edição aplica-se à versão 2, release 2, modificação 0 do (número do produto 5765-SKC) e a todos os releases e modificações subsequentes, até que seja indicado de

Leia mais

Demoiselle Nimble Guia do Usuário Emerson Saito Rodrigo Hjort Serge Rehem

Demoiselle Nimble Guia do Usuário Emerson Saito Rodrigo Hjort Serge Rehem Demoiselle Nimble Guia do Usuário Emerson Saito Rodrigo Hjort Serge Rehem Guia do usuário... v 1. Sobre Demoiselle Nimble... 1 1.1. O que é... 1 1.2. Templates Disponíveis... 1 2. Instalação... 3 2.1.

Leia mais