Tutorial AndroMDA versão Elaboração: UFRJ Modificado: Serpro/CETEC RJO
|
|
- Otávio Ramires Gentil
- 8 Há anos
- Visualizações:
Transcrição
1 Tutorial AndroMDA versão Elaboração: UFRJ Modificado: Serpro/CETEC RJO Versão: 1.2 Rio de Janeiro Fevereiro de 2009
2 Índice 1 Preparação do Ambiente para utilização do AndroMDA (versão ) Desenvolvimento de Projetos com AndroMDA Criação de Novo Projeto/Configuração do Ambiente Configuração do Banco Iniciando o projeto no ArgoUML O exemplo: Casos de Uso Caso de uso de ConsultarPais Camada de Domínio Código de Banco de Dados gerados Criação de Value Object Camada de Serviços Camada de Interface Implementação do Código da Consulta Caso de uso DetalharPais Camada de Domínio Camada de Serviço Camada de Interface Implementação do Código do Detalhamento Caso de uso AlterarPais Camada de Domínio Camada de Serviço Camada de Interface Implementação do Código do Alterar Pais Caso de uso IncluirPais Camada de Domínio Camada de Serviço Camada de Interface Implementação do Código da Inclusão Caso de uso ExcluirPais Camada de Domínio Camada de Serviço Camada de Interface Implementação do Código da Exclusão Modo de Operação Exclusão Múltipla Editando Paginas JSP Achando a localização da página Alterando as Paginas Retrabalho Abas
3 1 Preparação do Ambiente para utilização do AndroMDA (versão ) Antes de iniciar a execução desse tutorial siga o passo a passo de instalação descrito no documento Manual_AndroMDA_Instalacao.pdf. 2 Desenvolvimento de Projetos com AndroMDA Nesta seção veremos os passos necessários ao desenvolvimento de projetos com o AndroMDA, utilizando os cartuchos EJB, Hibernate e BPM4Struts já personalizados. 2.1 Criação de Novo Projeto/Configuração do Ambiente O plug-in do AndroMDA para o Maven já possui um procedimento parametrizado para criação de projetos, que funciona como um wizard, onde o usuário deve responder a perguntas. Através das respostas fornecidas o AndroMDA irá direcionar a criação da estrutura básica e dos artefatos básicos de configuração de projetos. O procedimento para criação de um novo projeto é: 1.Abra o console (command prompt) e vá para o diretório onde se deseja criar o projeto. Na verdade o projeto será gerado em um subdiretório do diretório escolhido. No windows não se pode ter espaços em branco no caminho desse diretório. Exemplo de diretório inválido: C:\Documents and Settings\andromda. 2.Digite o comando: maven andromdapp:generate 3.Responda as perguntas de acordo com o seu projeto. Abaixo um exemplo com respostas típicas (perguntas em negrito): Please enter your first and last name (i.e. Chad Brandon): CETEC Please enter the name of your J2EE project (i.e. Animal Quiz): SuportePais Please enter the id for your J2EE project (i.e. animalquiz): SuportePais Please enter a version for your project (i.e. 1.0-SNAPSHOT): 1.0 Please enter the base package name for your J2EE project (i.e. org.andromda.samples): br.gov.tutorial Would you use jboss or tomcat (enter 'jboss' or 'tomcat')? jboss Would you use jboss or under? (enter 'yes' or 'no')? yes 3
4 Would you like to enable security? (enter 'yes' or 'no')? yes Would you like to use modules (enter 'yes' or 'no')? yes Please enter the type of transactional/persistence cartridge to use (enter 'hibernate', 'ejb', or 'spring'): hibernate Would you like to use the jbpm workflow engine, it uses Hibernate3 (enter 'yes' or 'no')? no Please enter the hibernate version number (enter '2' for 2.1.x or '3' for 3.0.x): 3 Would you like a web application? (enter 'yes' or 'no'): yes Would you like your web tier to use JSF or Struts? (enter 'jsf' or 'struts'): struts 4.Após receber as respostas, o AndroMDA criará um subdiretório onde será gerada a estrutura inicial do projeto. A partir desse momento chamaremos esse diretório de <DiretorioProjeto>. 5.Ainda no console, vá para o diretório onde está seu projeto: <DiretorioProjeto>. 6.Digite maven. Isto obrigará o Maven a obter todos os artefatos (por exemplo, bibliotecas) de que o projeto dependerá. 2.2 Configuração do Banco Para se configurar o Banco de Dados é necessário modificar o arquivo project.properties da raiz do projeto, onde se encontram as propriedades que devem ser alteradas. Abaixo as propriedades do arquivo de configuração para cada um dos Bancos de Dados Hypersonic: datasource.driver.jar=${env.jboss_home}/server/default/lib/hsqldb.jar datasource.driver.class=org.hsqldb.jdbcdriver datasource.url=jdbc:hsqldb:hsql:// :1701 sql.mappings=hypersonicsql hibernate.db.dialect=org.hibernate.dialect.hsqldialect Oracle: datasource.driver.jar=${env.jboss_home}/server/default/lib/ojdbc14.jar 4
5 datasource.driver.class=oracle.jdbc.driver.oracledriver sql.mappings=oracle9i hibernate.db.dialect=org.hibernate.dialect.oracle9dialect Firebird: datasource.driver.jar=${env.jboss_home}/server/default/lib/jaybird-full jar datasource.driver.class=org.firebirdsql.jdbc.fbdriver datasource.url=jdbc:firebird:// /3050//opt/firebird/db/sgdcp.fdb sql.mappings=firebird hibernate.db.dialect=org.hibernate.dialect.firebirddialect SQLServer: datasource.driver.jar=${env.jboss_home}/server/default/lib/jtds-1.1.jar datasource.driver.class=net.sourceforge.jtds.jdbc.driver datasource.url=jdbc:jtds:sqlserver://<server>/<database> sql.mappings= MSSQL hibernate.db.dialect=org.hibernate.dialect.sqlserverdialect Postgres: datasource.driver.jar=$ {env.jboss_home}/server/default/lib/postgresql jdbc3.jar datasource.driver.class=org.postgresql.driver datasource.url=jdbc:postgresql:// :5432/postgres defaulthibernategeneratorclass=sequence sql.mappings=postgresql hibernate.db.dialect=org.hibernate.dialect.postgresqldialect Outro arquivo que deve ser alterado ou criado é o arquivo de configurações do Banco de Dados do Jboss (arquivo localizado no diretório <JbossHOME>/server/default/deploy/ com formação do nome terminando com -ds.xml ex.: oracle-ds.xml), que deve ter a tag <local-tx-datasource> preenchida de acordo com as informações fornecidas no arquivo <projeto>/project.properties. Exemplo: <local-tx-datasource> <jndi-name>postgresds</jndi-name> <use-java-context>false</use-java-context> <connection-url>jdbc:postgresql:// :5432/postgres</connection-url> 5
6 <driver-class>org.postgresql.driver</driver-class> <user-name>postgres</user-name> <password>postgres</password> <metadata> <type-mapping>postgresql 8.1</type-mapping> </metadata> </local-tx-datasource> 3 Iniciando o projeto no ArgoUML Esta seção visa descrever como desenvolver os modelos de diagramas UML que serão posteriormente utilizados pelo AndroMDA para geração automática de artefatos, como código fonte e descritores. Como ferramenta de modelagem utilizaremos o ArgoUML, depois disso apenas alguns métodos deverão ser alterados no Eclipse. O código gerado se trata de páginas JSP e de códigos em Java J2EE. Este tutorial foi feito com o ArgoUML 0.22, que é totalmente compatível com o AndroMDA. Todas as consultas e manipulações de informação do banco de dados serão via Web através das páginas JSP, e toda a aplicação será gerenciada pela aplicação de servidor Java que será feito em J2EE. O JBoss será a aplicação necessária para essa comunicação acontecer, esta deverá estar sendo executada, neste caso em particular, no Eclipse. Observações: Os modelos utilizados pelo AndroMDA devem ser independentes de plataforma. Por isso, não se deve colocar no modelo características que sejam específicas a alguma linguagem ou plataforma. Inclusive, deve-se usar tipos genéricos. Por exemplo, ao definir que o tipo de um determinado atributo é String, não se pode colocar o tipo java.lang.string, mas sim o tipo datatype String do profile do AndroMDA (String [datatype]). Alguns tipos utilizados encontram-se com a primeira letra em maiúsculo e minúsculo. Deve-se sempre utilizar o primeiro (ex: utiliza-se Long em vez de long). Antes de começarmos a modelagem é necessário importar os profiles contendo os estoriótipos utilizados pelo andromda para geração do código através do modelo. 1.No ArgoUML, crie um novo projeto. Ficheiro -> Novo 2.Clique em Ficheiro -> Importar XMI... e abra o arquivo andromda-profileargouml.xml.zip. O caminho do arquivo dependo no sistema operacional. No Windows XP: C:\Documents and Settings\<usuário>\.maven\repository\andromda\xml.zips 6
7 No Linux /home/<usuário>/.maven/repository/andromda/xml.zips Observe que a estrutura básica de pacotes foi importada. Esta estrutura já engloba a funcionalidade de controle de acesso. 7
8 3.1 O exemplo: A situação relacionada como exemplo neste tutorial servirá de base para as aplicações a serem desenvolvidas no projeto. Embora este seja bem mais simples, fornecerá a base necessária para o prosseguimento do projeto. O exemplo se trata de um sistema de informação, com manipulação em um banco de dados centralizado em servidor. O banco de dados é para a organização do cadastro de países. Com isso, a aplicação deverá ser capaz de incluir, consultar, editar e excluir cadastro de países Casos de Uso Abaixo se encontra o caso de uso padrão que representa a implementação. Pode se notar que a ação inicial será de consulta do país. Depois desta ação o usuário irá visualizar os países encontrados. A partir dessa listagem, o usuário poderá optar por detalhar o(s) país(es) encontrados, incluir um novo país, alterar ou excluir algum país, assim como selecionar vários países e remover todos ao mesmo tempo. Na parte de detalhamento do país estará a mostra todos os campos e ainda mais dois botões, um botão de exclusão e um botão de alteração. 3.2 Caso de uso de ConsultarPais O caso de uso de consulta consiste em uma tela de consulta com as informações básicas desejadas e uma tela de exibição do resultado da busca. 8
9 3.2.1 Camada de Domínio Na camada de domínio, estarão as classes do domínio da aplicação. Elas serão entidades e estarão associadas a algum modo de persistência. Essas classes deverão conter o estereótipo <<Entity>> e os atributos que serão persistidos. Todas as classes de entidade devem obrigatoriamente estar no pacote <PacoteProjeto>.cd, onde <PacoteProjeto> é o pacote definido para o projeto. Atualmente, estamos utilizando framework Hibernate para esta camada. 1.Crie a mesma estrutura de pacotes que foi definido no projeto e dentro do pacote do projeto crie o pacote cd. 9
10 2.Clique com o botão direito do mouse no pacote cd e selecione a opção Create Diagram e, em seguida, selecione Novo Diagrama de Classes. 3.Indique o nome desejado para o diagrama. 10
11 4.No diagrama de classe, crie uma nova classe. Selecione a classe e na parte inferior da tela, na aba propriedades, defina o nome da classe como Pais (país sem acento). 5.Crie os atributos na classe Pais (codigo, codigoauxiliar, valor, descricao) selecionando o botão Novo Atributo na aba propriedades. As figuras abaixo exemplificam a criação do atributo codigo. O campo Visibilidade deve ser público. 11
12 A multiplicidade com valor 1 significa que o atributo é obrigatório (NOT NULL), com valor 0..1 indica que o atributo não é obrigatório. Por default, todos os atributos são gerados como NOT NULL. Não é necessário modelar o atributo id, pois esse é gerado automaticamente. 6.Colocar o estereótipo <<Unique>> no atributo codigo para indicar que cada código deve ser único, ou seja, não pode haver dois códigos iguais. Abra a especificação do atributo codigo e selecione a aba Estereótipo. Nessa aba selecione o estereótipo <<Unique>>. 12
13 7.Colocar o estereótipo <<Entity>> na classe. Para cada entidade, podem ser atribuídos tagged values para agregar ao modelo parâmetros para a geração de código. Por exemplo, o tagged reflete o nome da tabela a ser criada no banco de dados. Da mesma forma, podemos atribuir estereótipos e tagged values aos atributos. Entre os estereótipos temos: <<Identifier>> que determina que o atributo será o identificador do objeto (possível chave primária) e <<Unique>> que determina que o valor do atributo deverá ser único. Como exemplo de tagged values que define o nome da coluna a ser criada no banco de dados que define o tamanho da coluna. 13
14 8.No diagrama de classe, crie a outra classe desse pacote. Selecione a opção Specification, clicando com o botão direito, e defina o nome da classe como UnidadeFederativa. 9.Crie os atributos na classe UnidadeFederativa (codigo, descricao). O campo Visibilidade deve ser público, assim como feito anteriormente. 10.Colocar o estereótipo <<Unique>> no atributo codigo para indicar que cada código deve ser único. Abra a especificação do atributo codigo e selecione a aba Stereotypes. Nessa aba selecione o estereótipo <<Unique>>. 11.Colocar o estereótipo <<Entity>> na classe. 12.Agora, crie uma associação entre as classes, vá no diagrama de classes e puxe association de uma classe para outra. 13.A associação será de 1 para muitos, para fazer isso clique uma vez na associação e irá aparecer na parte de baixo da tela, na aba propriedades, as conexões da associação. A primeira é referente à classe Pais que, por padrão está com multiplicidade 1, modificador navegável e visibilidade público. Dê dois cliques na segunda conexão, que é referente à classe UnidadeFederativa. Coloque sua multiplicidade 0..*, modificador navegável e visibilidade público. 14
15 A associação deve ser dupla, tanto UnidadeFederativa quanto Pais devem se enxergar, dessa forma clique com o botão direito sobre a associaçã e escolha a navegabilidade bidirecional. 14. Salve o projeto (Ficheiro -> Guardar <DiretorioProjeto>\mda\src\uml\<NomeProjeto>.zargo. Projeto) no caminho 15
16 15. Exporte o projeto para o formato *.XMI ((Ficheiro -> Exportar XMI...) também para o diretório <DiretorioProjeto>\mda\src\uml\ 16.O AndroMDA reconhece arquivos com estrutura de um XMI, porém se eles estiverem com a extensão *.xml. Então renomeie seu arquivo <NomeProjeto>.xmi para <NomeProjeto>.xml 17.No diretório da aplicação, executar o comando maven para validar o modelo e gerar o script de criação do banco de dados. O resultado apresentado deve ser BUILD SUCCESFULL. 16
17 3.2.2 Código de Banco de Dados gerados Você já deve ter percebido que o maven já cria todas as classes sozinhas, só que ele não faz só isso, ele cria outras coisas também, como por exemplo o código sql de criação de tabela que será utilizado no projeto. Para ver isso vá em <DiretorioProjeto>/core/cd/target e procure pelo arquivo schema-create.sql. Abra esse arquivo e encontrará o código sql da criação das tabelas Pais, UnidadeFederativa e todas do controle de acesso. O comando maven que cria/executa esse arquivo é o maven create-schema. Outro arquivo que pode ser encontrado nessa pasta é o schema-drop.sql. Que contém os códigos para que sejam apagadas as tabelas. O comando maven que executa esse arquivo é maven drop-schema Criação de Value Object Em breve, codificaremos o método responsável por realizar a consulta de países na camada de domínio. Vamos partir do princípio que o usuário poderá refinar a consulta preenchendo um ou mais atributos da entidade país. Por exemplo, ele poderá realizar a consulta digitando o código do país(uma restrição), ou poderá digitar também o código auxiliar(outra restrição). Precisaremos, então, de uma classe que nos auxilie carregando esses valores para que a consulta seja feita com as restrições corretas. Essa classe pegará os dados fornecidos pelo usuário e será utilizada na criação de restrições para a consulta sobre esses dados. Ou seja, esta classe será preenchida no controle com os dados digitados pelo usuário e seguirá até o objeto de acesso aos dados (DAO) onde será executada a consulta. A execução da consulta será implementada em um método do manipula (cujo código será apresentado mais a frente) e não será necessário criar método na camada de serviço para tratar o filtro. A classe responsável por armazenar os parâmetros da consulta tem o estereótipo <<ValueObject>>, sendo caracterizada por armazenar informações que são transferidas entre camadas (controle ==> serviço ==> dado ou dado ==> controle ==> serviço). Todas as classes VO devem obrigatoriamente estar no pacote <PacoteProjeto>.vo, onde <PacoteProjeto> é o pacote definido para o projeto. Detalhando mais, os Values Objects são estruturas de armazenamento de dados, armazenando informações num formato específico. Geralmente são utilizadas neste projeto para generalizar a busca de dados. No caso de busca, devem ser armazenados nos Values Objects os critérios de pesquisa diretamente da submissão do usuário, e de acordo com a necessidade pode ser feita uma busca por diversos critérios, deixando as consultas em apenas um método direto de manipulação que é o handlefilter. Para criar o Value Object: 17
18 1.Crie uma pasta vo dentro do pacote do projeto. 2.Crie um diagrama de classes dentro da pasta vo. 3.No diagrama, crie uma classe chamada PaisVO. 4.Para cada atributo da classe Pais, crie um atributo com o mesmo nome e tipo dentro da classe PaisVO. Ou seja: devem ser criados os atributos, todos públicos, codigo(string), codigoauxiliar(string), valor(string) e descricao(string). 5.Colocar o estereótipo <<ValueObject>> na classe, clicando nela com o botão direito, no submenu Aplicar Estereótipo, selecione o esteriótipo. 18
19 3.2.4 Camada de Serviços Na camada de serviço serão implementadas as classes responsáveis pela lógica de negócio da aplicação. As classes especificadas se tornarão os serviços (API) da aplicação. Os serviços definidos no modelo se tornarão disponíveis através de Session Beans. Os Session Beans são componentes de negócio. A lógica de negócio dos componentes EJB se encontram nestes componentes. Existem dois tipos de Componentes Session Bean, o Stateless Session Bean e o Stateful Session Beans. O Stateless é um componente de negócio que não mantém conversação com o usuário, não há garantia que chamadas sucessivas de métodos remotos vão ser feitas no mesmo objeto. O Stateful é um componente que mantêm estado, com ele temos a garantia que chamadas sucessivas de métodos remotos feitas por um mesmo cliente serão processadas por um mesmo objeto. Os beans EJB precisam ser modelados em um diagrama de classes. As classes destes beans precisam ter o estereótipo <<Service>>. Todas as classes de serviço devem estar no pacote <PacoteProjeto>.cs. Além disso, o pacote cs deve ter o estereótipo <<ModuloServico>>. 1.Crie um pacote <PacoteProjeto>.cs, onde <PacoteProjeto> é o pacote definido para o projeto. 2.Aplique o estereótipo <<ModuloServico>> ao pacote. 19
20 3.Crie um diagrama de classe dentro do pacote cs com o nome que desejar. 4.Crie uma classe chamada PaisHandler com estereótipo Service. A classe PaisHandler deve ficar como na figura abaixo. 5.Crie uma classe chamada PaisException com o estereótipo ApplicationException. 6.Arraste para o diagrama de classes a classe Pais. 7.Crie dependências entre as classes PaisHandler e Pais e entre a classe PaisHandler e a classe PaisException. Para isso, utilize a ferramenta do ArgoUML da figura abaixo. Clique na ferramenta, clique na classe ou método de origem e arraste a seta até a classe destino. 8.Verifique se o diagrama está como a figura abaixo. 20
21 9.A dependência entre PaisHandler e PaisException fará com que todos os métodos de PaisHandler lance exceção para PaisException. Se a dependência tivesse sido entre algum método de PaisHandler e não com a própria classe, somente o método com dependência lançaria exceção. A dependência entre PaisHandler e Pais cria um método nas classes de serviços chamado manipula e esse método realiza operações básicas de banco de dados, como inserir, alterar, remover etc. Mas como o método manipula sabe qual operação deve ser realizada? Esse método possui a seguinte assinatura: public List manipulaentidade(entidade entidade, Action action) É através do parâmetro action que informaremos ao método qual a operação que ele deve realizar. Por exemplo, se quisermos fazer uma inserção, passaremos uma instância da classe InsertAction. Se for uma remoção, passaremos uma instância da classe DeleteAction. No exemplo de consulta, estamos interessados na operação Filter. Essa operação retorna todos os registros que atendem a determinadas restrições. Por exemplo, queremos saber qual o país que possui o código X. Para que o método manipula execute uma operação de Filter, passaremos uma instância da classe FilterAction como parâmetro. Utilizaremos o seguinte construtor da classe FilterAction: public FilterAction(VO objetovo, Integer paginacao); O objeto VO conterá as restrições da consulta. 10.Salve o projeto (Ficheiro -> Guardar Projeto) no caminho <DiretorioProjeto>\mda\src\uml\<NomeProjeto>.zargo. Onde <NomePojeto> deve ser igual ao nome dado ao projeto no momento de sua criação, de acordo com a resposta dada ao AndroMDA. 11. Exporte o projeto para o formato *.XMI ((Ficheiro -> Exportar XMI...) também para o diretório <DiretorioProjeto>\mda\src\uml\ 12.O AndroMDA reconhece arquivos com estrutura de um XMI, porém se eles estiverem com a extensão *.xml. Então renomeie seu arquivo <NomeProjeto>.xmi para <NomeProjeto>.xml 13.No diretório da aplicação, executar o comando maven. O resultado apresentado deve ser BUILD SUCCESFULL. Caso o Maven detecte erros no projeto resolva-os antes de seguir os próximos passos do tutorial. 21
22 3.2.5 Camada de Interface A modelagem é feita através de diagramas de atividades. Estes diagramas expressam a forma como os casos de uso irão se comportar. O fluxo de navegação da aplicação é descrito basicamente em termos de estados e transições. 1.Criar um novo pacote abaixo do pacote tutorial, para agrupar o(s) caso(s) de uso. O nome do pacote deverá ser padronizado, com o nome de web. 2.Dentro do pacote web, crie um pacote chamado cadastropais, que será o módulo web. Cada caso de uso tem que estar dentro de um pacote dentro do seu respctivo módulo web. Crie outro pacote chamado consultapais. 3.Atribua os esteriótipos <ModuloWeb> e <ModuloWebPrincipal> ao pacote cadastropais. 4.Criar um diagrama de classes com um nome qualquer, dentro do pacote consultapais; 5.Criar uma classe de controle, para cada caso de uso elaborado; As classes de controle são aquelas que recebem as solicitações da camada de visão e as transfere para a camada de serviço. Essas classes compõem a camada de controle. O nome da classe de controle deverá ser padronizado de acordo com o caso de uso, sempre acrescentando Controle no nome do caso de uso, ficando neste caso: ConsultaPaisControle 22
23 6.Criar um diagrama de casos de uso (utilização), dentro do pacote consultapais. Dentro desse diagrama, adicione um caso de uso. Nesse exemplo o caso de uso será chamado ConsultarPais. 7.Atribuir ao caso de uso criado os estereótipos <FrontEndApplication> e <FrontEndUseCase> para indicar que este caso de uso é o principal do sistema, o que significa que será o primeiro a ser executado, (clicar com o botão direito no caso de uso, depois Aplicar Estereótipo). Somente um caso de uso pode possuir este estereótipo. 23
24 8.Criar um diagrama de atividade abaixo da classe de controle. Nome do diagrama de atividades deverá ser padronizado de acordo com o caso de uso, por exemplo: ConsultarPaisDA. 24
25 Um diagrama de atividade é essencialmente um gráfico de fluxo, mostrando o fluxo de controle de uma atividade para outra. No MDA as atividades do tipo <<FrontEndView>> serão transformadas em telas para o usuário e as demais atividades serão interações com o servidor. 9.Modelar o diagrama de atividades. Para isso, abra o diagrama de atividades (executar duplo clique sobre o nome do diagrama). a) Crie um estado inicial. Cada diagrama de atividades deve possuir apenas um estado inicial; b) Crie um Estado de Ação. Como exemplo, criamos uma ação com o nome Preencha os Dados da Consulta de Pais e colocamos o estereótipo <<FrontEndView>>. Este estereótipo indica que esta ação é uma página JSP cujo título é o nome que foi dado a ela. Toda atividade deve estar com o nome preenchido. Para nomear uma atividade, deve-se clicar nela e editar o campo nome na parte inferior da tela, na aba propriedades ; c) Criar uma transição do estado inicial para a atividade que foi criada no exemplo acima (ver figura abaixo); 25
26 10.Criar um método na classe ConsultaPaisControle que irá ser chamado quando a atividade for executada (ou seja, a atividade gerará uma página jsp que, quando submetida, executará este método). Como exemplo, criamos o método consultapais. Para criação deste método são executados os seguintes passos: a) Criar nova operação b) Preencher os campos abaixo: Name: consultapais (exemplo) Return type: void Parâmetros: codigo, codigoauxiliar, valor, descricao Obs.: No ArgoUML, ao se criar uma nova operação, por padrão ele já cria um parâmetro chamado return do tipo tipo void. Esse parâmetro será o retorno do método. 26
27 A tela abaixo mostra o método consultapais criado; 11.Para que a classe ConsultaPaisControle possa ser referenciada no Diagrama de Atividades do caso de uso em questão, é necessário que ela seja relacionada ao diagrama. a) Para isso, clique no diagrama de atividades e, na parte inferior da tela, na abara propriedades, mude o Nome do Espaço para o nome do caso de uso em questão, no caso ConsultarPais, como mostra a figura; 27
28 12.No Diagrama de Atividade não é permitido criar transições entre duas ações com estereótipos <<FrontEndView>>. É necessário criar uma ação que representará o lado do servidor. Como exemplo, criamos uma ação com o nome Consulta Pais. Esta ação deverá possuir um deferrable event para o método criado no controlador. Para isso devemos: (ver figura abaixo) a) Criar a ação: 28
29 b) Adicione à ação Consulta Pais, um novo Evento Deferível do tipo Evento de Invocação ; c) No campo Operações escolher o método consultapais e não precisa nomear a chamada ao método; 29
30 13.Criar uma transição entre a ação de FrontEndView e a ação criada no item anterior; Clique sobre a transição com o botão direito e escolher a opção Specification, o trigger desta transição deve ser do tipo signal. Como exemplo, editamos o trigger colocando o nome consulta; a) Criar os parâmetros codigo, codigoauxiliar, valor, descrição e preencher os campos abaixo: Name : codigo (exemplo), Tipo: String (ver documentação dos tipos utilizados) Direção Tipo: inout 30
31 b) Abaixo a visualização dos parâmetros criados; 14.Até aqui você definiu as ações que serão executadas para exibir o formulário de preenchimento das informações para consulta de um país, e já é possível visualizar este formulário executando a aplicação. Para tal execute os seguintes passos: a) Copie as implementações das classes ControleAcessoImpl (<DiretorioProjeto>/ core/cs/compartilhado/src/java/accesscontrol) e OperadorCaDAOImpl (<DiretorioProjeto>/core/cd/src/java/br/gov/controleacesso/cd, são ambas, classes implementadas pela UFRJ para Controle de Acesso) Obs: Não copie o arquivo, substituindo um pelo outro, apenas substitua o seu conteúdo. b) É necessário criar o arquivo SuportePais-port.properties no diretório server\ default\conf do Jboss, com o seguinte conteúdo: http.port=8080 https.port=8443 troca.de.porta.gerenciada.pela.aplicacao=false jboss.ip.local= aplicacao.permite.uso.back.browser=true c) Alterar o arquivo login-config.xml do jboss (jboss\server\default\conf) incluindo a tag application-policy com a configuração de autenticação do projeto. <application-policy name="suportepais"> <authentication> <login-module code="org.jboss.security.clientloginmodule" flag="required"/> <login-module code="accesscontrol.loginmoduleimpl" flag="required"> 31
32 <module-option name="dsjndiname">postgresds</module-option> <module-option name="unauthenticatedidentity">guest</module-option> <module-option name="principalclass">accesscontrol.principalimpl</module-option> <module-option name="hashencoding">hex</module-option> <module-option name="hashalgorithm">md5</module-option> <module-option name="principalsquery"> select SENHA from OP_CA where LOGIN=?</module-option> <module-option name="rolesquery"> select PO.ID, 'Roles' from OP_CA OP, CONTEXTO_CA CTX, CONTEXTO_CA_PF_OP_CA CPO, PF_OP_CA PO where OP.LOGIN=? and CTX.OP_CA_FK = OP.ID and CTX.ID = CPO.CONTEXTO_CA_FK and CPO.PF_OP_CA_FK = PO.ID </module-option> </login-module> </authentication> </application-policy> d) Salve o projeto (Ficheiro -> Guardar Projeto) no caminho <DiretorioProjeto>\ mda\src\uml\<nomeprojeto>.zargo. Onde <NomePojeto> deve ser igual ao nome dado ao projeto no momento de sua criação, de acordo com a resposta dada ao AndroMDA. e) Exporte o projeto para o formato *.XMI ((Ficheiro -> Exportar XMI...) também para o diretório <DiretorioProjeto>\mda\src\uml\ f) O AndroMDA reconhece arquivos com estrutura de um XMI, porém se eles estiverem com a extensão *.xml. Então renomeie seu arquivo <NomeProjeto>.xmi para <NomeProjeto>.xml g) No prompt de comando, entrar no diretório <DiretorioProjeto> e executar o comando maven. Isso validará o modelo do ArgoUML e gerará as classes Java. O resultado apresentado deve ser BUILD SUCCESFULL. h) Rodar o script de criação das tabelas (schema_create.sql), que se encontra no caminho <DiretorioProjeto>\core\cd\target i) Rodar os scripts de criação do super usuário e do guest no j) Rodar o script de criação dos serviços (controle de acesso), que se encontram caminho, <DiretorioProjeto>\core\cs\compartilhado\target\src\accessControl 32
33 (Serviços.sql por default este script é gerado para banco Oracle, para outro banco ele deve ser modificado) Observação: Na geração dos scripts de banco, o maven utiliza o arquivo abreviacoes.properties em <DiretorioProjeto>, que contem as abreviações que serão utilizadas nas definições dos nomes das tabelas, sequences, etc. Este arquivo é necessário quando os nomes gerados pelo AndroMDA forem grandes podendo causar conflitos devido a perda de informação causada pela limitação de caracteres nas definições dos nomes no banco de dados. O Andromda verifica se nesse arquivo existe alguma abreviação para as tabelas, sequences, etc, geradas pelo banco, caso exista, ao invés de gerá-las com o nome anterior, ele gera com a abreviação, diminuindo o risco de ocorrer conflitos de nomes. Exemplo: MENSAGEM=MSG NIVEIS=NIVS NIVEL=NIV NOME=NM SEQUENCIA=SEQ SERVICO=SV SISTEMA=SIS TEXTO=TXT TEXTUAL=TXT TIPO=TP k) Ainda no <DiretorioProjeto> executar o comando maven deploy. Este irá gerar um pacote do projeto e copiará o arquivo para o Jboss. l) Para ver a tela gerada, inicie o Jboss através do eclipse e abra um browser e acesse o endereço do projeto>/. Por exemplo: Na tela de login entre com o login e senha do super usuário (login: su e senha: su). Após será apresentada a tela de consulta Preencha os Dados da Consulta de Pais 33
34 Observe que ao clicar no botão Consulta aparecerá uma página em branco. Isso ocorre porque apenas foram descritas as atividades necessárias para a exibição da tela de filtro (primeiro formulário) e nenhuma atividade para execução da consulta, as quais serão definidas nos seguintes passos: 1.Para exibir o resultado da consulta na tela é necessário criar, no Diagrama de Atividades ConsultarPaisDA, uma nova atividade com o estereótipo FrontEndView com uma transição que parte da ação consultapais. Vamos chamar essa nova atividade de Resultado da Consulta de Pais, que tem a finalidade de exibir os países retornados na consulta em uma tabela, exibindo como colunas os campos código e valor. 34
35 Observe que à atividade Resultado da Consulta Pais foi atribuído o estereótipo FrontEndView, definindo a atividade como responsável pela construção de uma página JSP para exibição dos dados. 2.Como descrito anteriormente associe a transição entre as atividades ConsultaPais e Resultado da Consulta de Pais à uma trigger do tipo signal. Para isso: a) Clique na última transição criada. Na parte de baixo da tela, na aba propriedades, clique com o botão direito no campo Disparador e adicione um novo Signal Event. O resultado da consulta será uma coleção de países, os quais serão obtidos na execução do método da atividade consultapais e serão repassados para a atividade Resultado da Consulta de Pais. Sendo assim, execute os passos abaixo para formatar a exibição da Collection em uma tabela: c) Na tela de edição do Signal Event criado, na aba Propriedades, clique com o botão direito no campo Parâmetros e clique em Novo Parâmetro. 35
36 d) Crie o parâmetro preenchendo o campo Nome com o valor paises e altere o campo Tipo para Collection. e) Na aba Valores Marcados, ainda na mesma janela, selecione a e digite no campo Valor : codigo, valor O preenchimento dessa tag indica quais atributos da coleção paises devem ser exibidos na tabela que apresentará o resultado da consulta. 3.Para finalizar o diagrama de atividades, é necessário adicionar um estado final, com o nome do caso de uso que será invocado após o término deste caso de uso. Como exemplo, criamos um estado final que volta para o caso de uso principal da aplicação, nesse exemplo o caso de uso ConsultarPais. 36
37 4.O último passo é criar uma transição entre a ação Resultado da Consulta de Pais, para o estado final criado anteriormente. Esta transição também deverá ter um disparador do tipo Signal Event, com Nome voltar e sem parâmetros. Esse nome será atribuído a um botão gerado para executar a ação que, nesse exemplo, irá voltar para o caso de uso principal. 37
38 A figura abaixo mostra o digrama de atividades do caso de uso ConsultarPais; Agora vamos criar um diagrama de classes: 5.Dentro do pacote cadastropais, crie o diagrama de classe com o nome Servico2CadastroPais e arraste para ele as classes ConsultaPaisControle e PaisHandler. 6.Criar uma dependência entre a classe ConsultaPaisControle e PaisHandler, como na figura abaixo. Dessa forma, está sendo definido que a classe de controle ConsultaPaisControle pode invocar métodos da classe de serviço PaisHandler. 38
39 7.Salve o projeto (Ficheiro -> Guardar Projeto) no caminho <DiretorioProjeto>\mda\ src\uml\<nomeprojeto>.zargo. Onde <NomePojeto> deve ser igual ao nome dado ao projeto no momento de sua criação, de acordo com a resposta dada ao AndroMDA. 8.Exporte o projeto para o formato *.XMI ((Ficheiro -> Exportar XMI...) também para o diretório <DiretorioProjeto>\mda\src\uml\ 9.O AndroMDA reconhece arquivos com estrutura de um XMI, porém se eles estiverem com a extensão *.xml. Então renomeie seu arquivo <NomeProjeto>.xmi para <NomeProjeto>.xml. 10.Valide o modelo gerado até o momento. No prompt de comando, entrar no diretório <DiretorioProjeto> e executar o comando maven. O resultado apresentado deve ser BUILD SUCCESFULL. 11. Executar o comando maven deploy. 12.Para ver a tela gerada, abra um browser e acesse o endereço /<nome do projeto>. Garanta que o JBoss esteja rodando. Por exemplo: Observe que, desta vez, ao clicar no botão Consulta, no formulário de filtro, aparecerá uma tela com título Resultado da Consulta de Pais com um botão Voltar. Se você clicar no botão Voltar, você será redirecionado para a tela principal, que neste caso, é a tela de filtro. A consulta não retornou nenhum resultado, pois não foi especificado nenhuma implementação para obter os países e exibi-los. Além disso, provavelmente a tabela de países ainda está vazia. 39
40 3.2.6 Implementação do Código da Consulta O primeiro passo é importarmos o projeto para dentro do Eclipse. Para isso: 1.Abra o eclipse, clique em File - > Import e escolha a opção Existing Projects into Workspace. 2.Na janela seguinte indicar o caminho para <DiretorioProjeto>, selecionar o projeto e clicar em Finish. 40
41 3.Uma vez que o projeto seja importado vários erros de dependência não resolvidas serão apresentados pelo Eclipse. Para resolver as dependências é necessário criar uma variável no Eclipse chamada MAVEN_REPO. Para isso clique com o botão direito do mouse sobre o projeto no Package Explorer e selecione a opção Properties. 4.Na janela Properties for <NomeProjeto> selecione no menu do lado direito a opção Java Build Path e clique no botão Add Variable... da aba Libraries. 41
42 5.Na janela New Variable Classpath Entry clique no botão Configure Variables..., na próxima janela Preferences clique no botão New.... Nos campos Name e Path, da janela New Variable Entry digite respectivamente: MAVEN_REPO e o caminho para o diretório <user>\.maven\repository. 42
43 6.Clique no botão OK nas janelas Preferences e New Variable Entry. 7.Na janela New Variables Classpath Entry selecione a variável MAVEN_REPO e clique no botão Extend... 43
44 8.Na janela Variable Extension selecione todas os arquivos.jar abaixo e clique em OK. MAVEN_REPO/struts/jars/struts jar MAVEN_REPO/servletapi/jars/servletapi jar MAVEN_REPO/hibernate/jars/hibernate coppetec.jar" MAVEN_REPO/jboss/jars/jboss-j2ee jar MAVEN_REPO/dom4j/jars/dom4j-1.4-dev-8.jar MAVEN_REPO/commons-logging/jars/commons-logging jar MAVEN_REPO/commons-validator/jars/commons-validator jar MAVEN_REPO/commons-beanutils/jars/commons-beanutils jar MAVEN_REPO/commons-lang/jars/commons-lang-2.1.jar Com o eclipse configurado, iremos implementar o código específico para executar a consulta de países e repassar a coleção resultante para ser exibida na página de resultados. 44
45 1.Primeiro implementaremos a chamada para o método da classe de serviço a partir da classe de controle, ou seja, vamos implementar a chamada para o método manipulapais da classe de serviço PaisHandler a partir do método consultapais da classe ConsultaPaisControleImpl que implementa a classe de controle. 2.No Eclipse abra o arquivo: <DiretorioProjeto>/web/src/java/<PacoteProjeto>/web/cadastroPais/consultaPai s/consultapaiscontroleimpl.java 3.O objeto dessa classe será responsável por receber a solicitação do browser quando o usuário preencher os critérios de pesquisa e clicar no botão Consulta. O método consultapais não recebe os atributos modelados na classe de controle ConsultaPaisControle, no entanto, esse método recebe um atributo do tipo ConsultaPaisForm. Esse atributo contém os parâmetros de entrada do formulário preenchido pelo usuário. Esse método deve ser desenvolvido de forma semelhante ao exemplo abaixo: public final void consultapais(actionmapping mapping, br.gov.tutorial.web.cadastropais.consultapais.consultarpaisform form, HttpServletRequest request, HttpServletResponse response) throws Exception { Integer paginacao = (((Integer) request.getattribute(constantes.parametro_grupo))); PaisVO paisvo = new PaisVO(); paisvo.setcodigo(form.getcodigo()); paisvo.setcodigoauxiliar(form.getcodigoauxiliar()); paisvo.setdescricao(form.getdescricao()); paisvo.setvalor(form.getvalor()); Collection paises = getpaishandler(request).manipulapais(new PaisImpl(), new FilterAction(paisVO, paginacao)); form.setpaises(paises); } Após implementação, é necessário importar as classes dos objetos utilizados. Para isso, clique em ctrl + shift + o, todos ao mesmo tempo. Observe que há uma variável chamada paginacao. Essa variável é criada automaticamente pelo Maven e é utilizada quando o retorno pode ser muito longo. Assim, é possível dividir a lista retornada pela consulta em diferentes páginas. 45
46 A especialização do Maven também gera automaticamente sobrecargas dos métodos modelados nas camadas de serviço e controle com um parâmetro extra chamado paginacao, para que seja possível requisitar para essas camadas a página desejada e obter somente os registros pertinentes à essa página. Não é necessário incluir esse atributo na modelagem. 4.O próximo passo consiste na implementação da consulta para obter os países, a qual é implementada na classe DAO (Data Access Object). Para especificação da consulta a ser realizada utilizaremos um objeto da classe Criteria : definiremos que a consulta deve ser realizada sobre a classe Pais e em seguida definiremos os critérios de filtro a serem executados. 5.No Eclipse abra o arquivo: <DiretorioProjeto>/core/cd/src/java/<PacoteProjeto>/cd/PaisDAOImpl.java 6.No método handlefilter criaremos um objeto do tipo Criteria onde encapsularemos os critérios de filtragem das informações de nossa consulta. Isso significa que esse objeto irá levar ao Hibernate as restrições da consulta. Esse mesmo objeto será retornado pelo método, pois será reutilizado para a paginação. Caso queira saber sobre o hibernate consulte o (Hibernate Reference Documentation), no capitulo 15 criteria queries. protected Object handlefilter(br.gov.tutorial.cd.valueobject vo)throws br.gov.tutorial.cd.daoexception { Session session = AbstractDAO.currentSession(); Criteria criterios = session.createcriteria(paisimpl.class); if(vo instanceof PaisVO){ PaisVO paisvo = (PaisVO)vo; Pais pais = new PaisImpl(); if ((paisvo.getcodigo()!= null) && (!paisvo.getcodigo().equals(""))){ pais.setcodigo(paisvo.getcodigo()); } if ((paisvo.getcodigoauxiliar()!= null) && (!paisvo.getcodigoauxiliar().equals(""))){ pais.setcodigoauxiliar(paisvo.getcodigoauxiliar()); } if( (paisvo.getdescricao()!= null) && (!paisvo.getdescricao().equals(""))){ pais.setdescricao(paisvo.getdescricao()); } if( (paisvo.getvalor()!= null) && (!paisvo.getvalor().equals(""))){ pais.setvalor(paisvo.getvalor()); } criterios.add(example.create(pais).enablelike(matchmode.anywhere)); } return criterios; } 46
47 7.Salve os arquivos no Eclipse, abra um terminal e, no diretório do projeto, execute o comando maven core deploy. 8.Inicie o Jboss e abra um browser e acesse o endereço /<nome do projeto>/. Por exemplo: Caso de uso DetalharPais O caso de uso de detalhamento é estendido pelo caso de uso de consulta. Isso significa que ele pode ou não ser executado após o caso de uso de consulta. Esse caso de uso é responsável pela exibição do detalhamento de um pais, a partir de um país escolhido da listagem do resultado da consulta Camada de Domínio O método necessário na camada de domínio para realizar o detalhamento é um que recupere um Pais de acordo com id. A camada de domínio não será alterada pois toda classe DAO já contém um método gerado que retorna a entidade de acordo com o id passado Camada de Serviço A camada de serviço não será alterada pois iremos utilizar o método manipula que é gerado através da dependência entre PaisHandler e Pais Camada de Interface 1.No ArgoUML abra o diagrama de atividades ConsultarPaisDA. 2.Crie um estado final chamado DetalharPais 3.Crie uma transição entre os estados Resultado da Consulta de Pais e o estado final DetalharPais. 4.Como descrito anteriormente, associe a essa transição entre os estados um disparador do tipo Signal Event, com o nome detalhar e com um parâmetro id do tipo Long. Para isso: 47
48 a) Clique na transição criada. Na parte de baixo da tela, na aba propriedades, clique com o botão direito no campo Disparador e adicione um novo Signal Event. b) Na tela de edição do Signal Event criado, na aba Propriedades, ponha o campo Nome com o valor detalhar. c) Na mesma tela, clique com o botão direito no campo Parâmetros e clique em Novo Parâmetro. d) Crie o parâmetro preenchendo o campo Name com o valor id e altere o campo Tipo para Long. e) Na aba Valores Marcados, ainda na mesma janela, selecione a e digite no campo Valor : plaintext. 48
49 5. Clique na transição criada no item 3 e, na parte de baixo da tela, na aba Valores Marcados, selecione a e digite no campo Valor : paises.codigo. Esse é o nome da coluna da tabela que será composta de links. É necessário definir de que Collection o campo que será hiperlink, por isso é necessário especificar como paises.codigo. 6. Adicione ainda uma e digite no campo Valor : hyperlink. O diagrama de Atividades ConsultarPaisDA ficará da seguinte forma: 7.Crie agora um caso de uso chamado DetalharPais com o estereótipo <<FrontEndUseCase>> dentro da árvore de diretórios cadastropais.detalhapais. O pacote detalhapais deverá ser criado, assim como um diagrama de casos de uso (utilização). 49
50 8.Dentro do pacote cadastropais.detalhapais, crie uma classe de controle 9. Dentro do pacote cadastropais.detalhapais, crie um diagrama de classes com um nome qualquer; 10.Criar uma classe de controle chamada DetalhaPaisControle com um método chamado recuperapais que recebe um id do tipo Long como parâmetro e retorna void; 50
51 11.No diagrama de classes Servico2CadastroPais inclua a classe DetalhaPaisControle e crie uma dependência para a classe PaisHandler. Para incluir a classe DetalhaPaisControle no diagrama basta arrastá-la. 12.Crie um diagrama de atividades chamado DetalharPaisDA abaixo da classe de controle. 13. Para que a classe DetalhaPaisControle possa ser referenciada no Diagrama de Atividades do caso de uso em questão, é necessário que ela seja relacionada ao diagrama. a) Para isso, clique no diagrama de atividades e, na parte inferior da tela, na abara propriedades, mude o Nome do Espaço para o nome do caso de uso em questão, no caso DetalharPais, como mostra a figura; 51
52 14. No diagrama de atividades, crie um estado inicial, uma estado chamado Recupera Pais e crie uma transição entre elas. 15. Na aba Propriedades do estado Recupera Pais, clique com o botão direito no campo de Eventos Deferíveis e adicione um novo evento deferível do tipo Evento de invocação. 16. Associe o evento ao método recuperapais da classe DetalhaPaisControle. 17.Crie um estado com o estereótipo FrontEndView chamado Detalhamento do Pais. 18.Crie uma transição entre os estados e crie para ela um disparador sem nome do tipo Signal Event. 52
53 19. Crie um estado final com o nome ConsultarPais. Isso significa que após o detalhamento o usuário poderá fazer uma nova consulta. 20. Crie uma transição entre o estado Detalhamento do Pais e o estado final ConsultarPais com um disparador do tipo Signal Event, chamado Nova Consulta e com os parâmetros: codigo, codigoauxiliar, valor, descricao do tipo String e id do tipo Long. 53
54 21.Para cada parâmetro criado, na aba Valores Marcados selecione a e digite o valor plaintext para os parâmetros codigo, codigoauxiliar, valor e descricao. E a valor hidden para o parâmetro id, ao invés de plaintext. É importante observar que a opção plaintext faz com que o parâmetro seja exibido como label no formulário web. No entanto, essa opção só funciona com parâmetros do tipo String. Caso os parâmetros sejam de outros tipos as ações do formulário podem não funcionar. 54
55 O diagrama de atividades ficará como a figura abaixo: Mas, ainda há mais coisas a fazer nessa parte. Lembra da classe UnidadeFederativa? Pois bem, queremos que ela seja exibida na tela também. Para isso vamos fazer o seguinte: 1. Abra a aba de propriedades da transição do Recupera Pais para o Detalhamento do pais e dê dois cliques sobre o disparador. 2. Inclua ao disparador um novo parâmetro com o nome ufs do tipo Collection. 55
56 3. Agora, na aba de propriedades da transição com o disparador Nova Consulta, dê dois cliques no disparador e depois dois cliques no parâmetro id. 4. Na edição do parâmetro id, na aba Valores Marcados, selecione a e digite o valor codigo, descricao. Para ver a tela gerada, rode o comando maven install deploy no prompt de comando, inicialize o JBoss, abra um browser e acesse o endereço /<nome do projeto>/. Por exemplo: 56
57 3.3.4 Implementação do Código do Detalhamento 1.No Eclipse abra o arquivo: <DiretorioProjeto>/web/src/java/<PacoteProjeto>/web/cadastroPais/detalhaPais/Detal hapaiscontroleimpl.java O método recuperapais deve ser desenvolvido de forma semelhante ao exemplo abaixo. Lembre-se de fazer os imports necessários. public final void recuperapais(actionmapping mapping, br.gov.tutorial.web.cadastropais.detalhapais.recuperapaisform form, HttpServletRequest request, HttpServletResponse response) throws Exception { Pais pais = new PaisImpl(); pais.setid(form.getid()); pais = (Pais)getPaisHandler(request).manipulaPais(pais, new SelectAction()).get(0); form.setcodigo(pais.getcodigo()); form.setcodigoauxiliar(pais.getcodigoauxiliar()); form.setvalor(pais.getvalor()); form.setdescricao(pais.getdescricao()); form.setufs(pais.getunidadefederativas()); form.setid(pais.getid()); } 2.Salve o arquivo no Eclipse, abra um terminal e, no diretório do projeto, execute o comando maven install deploy. Inicialize o JBoss conforme descrito anteriormente e no browser teste a aplicação na url: Caso de uso AlterarPais Este caso de uso pode ser invocado a partir da listagem de países resultante da consulta de países e a partir do detalhamento de um país Camada de Domínio Os métodos necessários na camada de domínio para realizar a alteração são: um que recupere um Pais de acordo com id e outro para alterar efetivamente um pais. A camada de domínio não será alterada pois toda classe DAO já contém esses métodos gerados automaticamente Camada de Serviço A camada de serviço não será alterada pois iremos utilizar o método manipula que é gerado através da dependência entre PaisHandler e Pais. 57
58 3.4.3 Camada de Interface Como o caso de uso AlterarPais pode ser chamado a partir da listagem de países da consulta de países, devemos criar um estado final na consulta que irá invocar o caso de uso AlterarPais : 1.No ArgoUML abra o diagrama de atividade ConsultarPaisDA 2.Crie um estado final com nome AlterarPais 3.Crie uma transição entre o estado Resultado da Consulta de Pais e o estado final AlterarPais com um disparador do tipo Sinal Event com nome alterar e com um parâmetro chamado id do tipo Long. 4.Na especificação do parâmetro id, na aba Valores Marcados, selecione a e digite o valor plaintext 58
59 5. Clique na transição entre Resultado da Consulta de Pais e o estado final AlterarPais e, na parte de baixo da tela, na aba Valores Marcados, selecione a e digite no campo Valor : paises. 6. Adicione ainda uma e digite no campo Valor : form ; O Diagrama de Atividades ConsultarPaisDA ficará da seguinte forma: 59
60 Como o caso de uso AlterarPais também pode ser chamado partir do detalhamento de um país, devemos também criar um estado final no detalhamento que irá invocar o caso de uso AlterarPais : 1.Abra o diagrama de atividades DetalharPaisDA 2.Crie um estado final com o nome AlterarPais 3.Crie uma transição entre o estado Detalhamento do Pais e o estado final AlterarPais com um disparador do tipo Signal Event, com nome alterar e parâmetro id do tipo Long. 4. Na tela de especificação do parâmetro id, na aba Valores Marcados, selecione a e digite no campo Valor : hidden. Agora vamos modelar o caso de uso AlterarPais : 1.Crie um caso de uso chamado AlterarPais com o estereótipo <<FrontEndUseCase>> dentro da arvore de diretórios cadastropais.alterapais. A pasta alterapais deve ser criada. 2.Crie uma classe de controle chamada AlteraPaisControle 3.Sob esta classe, Crie um diagrama de atividades chamado AlterarPaisDA. 60
61 4.Na classe AlteraPaisControle crie um método chamado recuperapais que retorna void e recebe como parâmetro id do tipo Long. 5.Associe o diagrama de atividades ( unnamed ActivityGraph ) ao diagrama AlterarPais. 6.No diagrama AlterarPaisDA, crie um estado inicial, um estado chamada Recupera Pais e crie uma transição entre elas. 7.Na aba Propriedades do estado Recupera Pais, adicione um evento deferível, do tipo Evento de Invocação, associado ao método recuperapais da classe AlteraPaisControle. 61
62 8.Crie uma ação com o estereótipo <<FrontEndView>> chamada Preencha os Campos para Alteracao 9.Crie uma transição entre as ações Recupera Pais e Preencha os Campos para Alteração 10.Crie uma ação chamada Altera Pais e crie uma transição entre a ação Preencha os Campos para Alteracao e a ação criada. 62
63 11. Nesta última transição crie um disparador do tipo Signal Event com o nome Salvar e adicione os atributos: id (Long), codigo (String), codigoauxiliar (String), valor (String), descricao (String). Este disparador gerará um botão na tela de alteração. Os parâmetros do disparador representam os dados modificados que devem sem aplicados no objeto pais. 12. Na tela de especificação do parâmetro id, na aba Valores Marcados, selecione a e digite no campo Valor : hidden. 13. Para cada um dos outros parâmetros, na aba Valores Marcados, selecione a e digite no campo Valor : true. 63
64 14.Crie uma operação na classe AlteraPaisControle chamada alterapais que retorna void e recebe como parâmetros id (Long), codigo (String), codigoauxiliar (String), valor (String), descricao (String). 15. Crie um evento deferível do tipo Evento de Invocação para a ação Altera Pais, associado ao método alterapais da classe AlteraPaisControle. 16.Crie um estado final com o nome ConsultarPais. 17.Crie uma transição entre a ação Altera Pais e o estado final. 64
65 18.No diagrama de classes Servico2CadastroPais inclua a classe AlteraPaisControle e crie uma dependência para a classe PaisHandler. Par incluir a classe AlteraPaisControle no diagrama basta arrastá-la 19.Para ver a tela gerada, rode o comando maven install deploy no prompt de comando, inicialize o JBoss, abra um browser e acesse o endereço /<nome do projeto>/. Por exemplo: Implementação do Código do Alterar Pais 1. No Eclipse abra o arquivo: <DiretorioProjeto>/web/src/java/<PacoteProjeto>/web/cadastroPais/alteraPais/Altera PaisControleImpl.java Esta classe implementa dois métodos (recuperapais e alterapais) que devem ser desenvolvido de forma semelhante ao exemplo abaixo. Lembre-se de fazer os imports necessários. 65
66 public final void recuperapais(actionmapping mapping, br.gov.tutorial.web.cadastropais.alterapais.recuperapaisform form, HttpServletRequest request, HttpServletResponse response) throws Exception { } Pais pais = new PaisImpl(); pais.setid(form.getid()); pais =(Pais)getPaisHandler(request).manipulaPais(pais, new SelectAction()).get(0); form.setcodigo(pais.getcodigo()); form.setcodigoauxiliar(pais.getcodigoauxiliar()); form.setdescricao(pais.getdescricao()); form.setvalor(pais.getvalor()); form.setid(pais.getid()); public final void alterapais(actionmapping mapping, br.gov.tutorial.web.cadastropais.alterapais.alterapaisform form, HttpServletRequest request, HttpServletResponse response)throws Exception { try { Pais pais = new PaisImpl(); pais.setid(form.getid()); pais =(Pais)getPaisHandler(request).manipulaPais(pais, new SelectAction()).get(0); pais.setcodigo(form.getcodigo()); pais.setcodigoauxiliar(form.getcodigoauxiliar()); pais.setvalor(form.getvalor()); pais.setdescricao(form.getdescricao()); getpaishandler(request).manipulapais(pais, new UpdateAction()); savewarningmessage(request,"sucesso.alteracao.pais"); ((PreenchaOsCamposParaAlteracaoSalvarFormImpl)form).clean(); } catch (Exception e) { saveerrormessage(request,"erro.alteracao.pais"); ((PreenchaOsCamposParaAlteracaoSalvarFormImpl)form).clean(); e.printstacktrace(); } } 2.Salve os arquivos no Eclipse, abra um terminal e, no diretório do projeto, execute o comando maven install deploy. 3.Inicialize o JBoss conforme descrito anteriormente e no browser teste a aplicação na url: 66
67 3.5 Caso de uso IncluirPais O caso de uso de inclusão é estendido pelo caso de uso de consulta. Isso significa que ele pode ou não ser executado após o caso de uso de consulta. Esse caso de uso recebe os valores dos atributos do país permitindo a criação de um novo país de acordo com os valores informados pelo autor Camada de Domínio O método necessário na camada de domínio para realizar a inserção é um que insira um pais de acordo com os campos preenchidos na tela de inserção. A camada de domínio não será alterada pois toda classe DAO já contém esse método gerado automaticamente Camada de Serviço A camada de serviço não será alterada pois iremos utilizar o método manipula que é gerado através da dependência entre PaisHandler e Pais Camada de Interface 1.No ArgoUML abra o diagrama de atividade ConsultarPaisDA. 2.Crie um novo estado final chamado IncluirPais e crie uma transição entre a ação Preencha os Dados da Consulta de Pais e o estado final criado com um disparador do tipo Signal Event com nome Incluir. 67
68 3. Crie uma transição entre a ação Resultado da Consulta de Pais e o estado final com nome IncluirPais com um um disparador do tipo Signal Event com nome Incluir. 4.Crie um caso de uso chamado IncluirPais com o estereótipo <<FrontEndUseCase>> dentro da árvore de diretórios cadastropais.incluipais. O pacote incluipais deve ser criado. 5.Crie uma classe de controle chamada IncluiPaisControle 6.Crie um diagrama de atividades chamado IncluirPaisDA sob a classe IncluiPaisControle. 68
69 7. Associe o diagrama de atividades ( unnamed ActivityGraph ) ao diagrama IncluirPais. 8.Na Classe IncluiPaisControle crie uma operação chamada incluipais que retorna void e possui os parâmetros que serão utilizados na criação no novo país. No nosso exemplo, inclua os parâmetros codigo (String), codigoauxiliar (String), valor (String), descricao (String). 9.No diagrama IncluirPaisDA, crie um estado inicial, uma ação chamada Preencha os Dados de Pais com o estereótipo <<FrontEndView>> e uma transição entre elas. 10. Crie uma ação chamada Inclui Pais. 11. Na tela de especificação da ação Inclui Pais, adicione um evento deferível do tipo Evento de Invocação associado ao método incluipais de IncluiPaisControle. 69
70 12. Crie uma transição entre as ações Preencha os Dados de Pais e Inclui Pais com um disparador do tipo Signal Event, com o nome incluir e parâmetros correspondentes a cada atributo da classe IncluiPaisControle, ou seja, codigo (String), codigoauxiliar (String), valor (String), descricao (String). 13.Para cada parâmetro criado, na aba Valores Marcados selecione a e digite no campo Valor : true. 14.Crie uma nova ação chamada Resultado da Insercao com o estereótipo <<FrontEndView>>. 15.Crie uma transição entre as ações Inclui Pais e Resultado da Insercao. 16.Crie um estado final com o nome IncluirPais. 17.Crie uma transição entre Resultado da Inserção e o estado final IncluirPais com um disparador do tipo Signal Event com nome Nova Inclusao. 70
71 18.Crie um estado final com o nome ConsultarPais. 19.Crie uma transição entre Resultado da Insercao e o estado final ConsultarPais com um disparador do tipo Signal Event com nome Nova Consulta. O diagrama de Atividades IncluirPaisDA ficará da seguinte forma: 71
72 20. No diagrama de classes Servico2CadastroPais inclua a classe IncluiPaisControle e crie uma dependência para a classe PaisHandler. Par incluir a classe IncluiPaisControle no diagrama basta arrastá-la. 21. Para ver a tela gerada, rode o comando maven install deploy no prompt de comando, inicialize o JBoss, abra um browser e acesse o endereço /<nome do projeto>/. Por exemplo: Implementação do Código da Inclusão 1.No Eclipse abra o arquivo: <DiretorioProjeto>/web/src/java/<PacoteProjeto> /web/ cadastropais/incluipais/incluipaiscontroleimpl.java Esta classe implementa o método incluipais que deve ser desenvolvido de forma semelhante ao exemplo abaixo. Lembre-se de fazer os imports necessários. public final void incluipais(actionmapping mapping,br.gov.tutorial.web.cadastropais.incluipais.incluipaisform form, HttpServletRequest request, HttpServletResponse response)throws Exception{ try { Pais pais = new PaisImpl(); 72
73 pais.setcodigo(form.getcodigo()); pais.setcodigoauxiliar(form.getcodigoauxiliar()); pais.setvalor(form.getvalor()); pais.setdescricao(form.getdescricao()); getpaishandler(request).manipulapais(pais, new InsertAction()); savewarningmessage(request,"sucesso.insercao.pais"); } } catch (Exception e) { saveerrormessage(request,"erro.insercao.pais"); e.printstacktrace(); } 2.Salve os arquivos no Eclipse, abra um terminal e, no diretório do projeto, execute o comando maven install deploy. Inicialize o JBoss e teste a aplicação na url: Caso de uso ExcluirPais O caso de uso de exclusão pode ser entendido como um caso de uso de Detalhamento, onde a diferença está que no caso de exclusão, o usuário só pode excluir. Esse caso de uso exibe o detalhamento das informações de um determinado país, escolhido da listagem de países retornados pela consulta. Depois de ter entrado no detalhamento o usuário clica no botão excluir caso queira excluir algum dos registros Camada de Domínio O método necessário na camada de domínio para realizar a remoção é um que remova um pais. A camada de domínio não será alterada pois toda classe DAO já contém esse método gerado automaticamente Camada de Serviço A camada de serviço não será alterada pois iremos utilizar o método manipula que é gerado através da dependência entre PaisHandler e Pais Camada de Interface 73
74 1.No diagrama ConsultarPaisDA crie uma nova transição entre a ação Resultado da Consulta de Pais e o estão final DetalharPais com um disparador do tipo Signal Event com nome excluir com parâmetro id do tipo Long. 2.Na especificação do parâmetro id do item 1, na aba de valores marcados, adicione a com o valor plaintext. 3.Na janela de especificação da transição criada em 1 selecione, na aba de valores marcados, adicione a com o valor paises e adicione a com o valor form. 74
75 4.O ConsultarPaisDA ficará da seguinte forma: 5.No Diagrama DetalharPaisDA crie uma nova ação chamada Deleta Pais. 6.Crie uma transição entre as ações Detalhamento do Pais e Deleta Pais com um disparador do tipo Signal Event com nome excluir e parâmetro id do tipo Long. 7.Na especificação do parâmetro id do item 6, na aba de valores marcados, adicione a com o valor hidden. 75
Tutorial para atividades do Trabalho Prático da disciplina DCC 603 Engenharia de Software
Tutorial para atividades do Trabalho Prático da disciplina DCC 603 Engenharia de Software Antes de iniciar o tutorial, baixar os seguintes arquivos da página do Prof. Wilson: Plataforma reutilizável: http://homepages.dcc.ufmg.br/~wilson/praxis/3.0/praxis.zip
Leia maisRevisã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 maisMANUAL 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 maisTutorial 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 maisFollow-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 maisAmbientaçã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 maisMANUAL 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 maisManual 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 maisLição 1 - Criação de campos calculados em consultas
1 de 5 21-08-2011 22:15 Lição 1 - Criação de campos calculados em consultas Adição de Colunas com Valores Calculados: Vamos, inicialmente, relembrar, rapidamente alguns conceitos básicos sobre Consultas
Leia maisCriando 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 maisInstalando software MÉDICO Online no servidor
Instalando software MÉDICO Online no servidor A máquina denominada Servidora é a que armazenará o banco de dados do software (arquivo responsável pelas informações inseridas), compartilhando com as demais
Leia maisEstá apto a utilizar o sistema, o usuário que tenha conhecimentos básicos de informática e navegação na internet.
1. Descrição Geral Este manual descreve as operações disponíveis no módulo VTWEB Client, cuja finalidade é gerenciar cadastros de funcionários, realização de pedidos e controle financeiro dos pedidos.
Leia maisMANUAL 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 maisSistema de Recursos Humanos
Sistema de Recursos Humanos Projeto 1 O objetivo desse sistema é gerenciar a admissão e a demissão de funcionários. Esse funcionário pode ou não ter dependentes. Esse funcionário está alocado em um departamento
Leia maisManual Administrador - Mídia System
Manual Administrador - Mídia System Logo após cadastrarmos sua Empresa em nosso sistema, será enviado um e-mail confirmando as informações de acesso do Administrador do sistema. Obs: Caso não tenha recebido
Leia maisManual de Utilização do PLONE (Gerenciador de página pessoal)
Manual de Utilização do PLONE (Gerenciador de página pessoal) Acessando o Sistema Para acessar a interface de colaboração de conteúdo, entre no endereço http://paginapessoal.utfpr.edu.br. No formulário
Leia maisEsse manual é um conjunto de perguntas e respostas para usuários(as) do Joomla! 1.5.
Esse manual é um conjunto de perguntas e respostas para usuários(as) do Joomla! 1.5. Ele considera que você já tem o Joomla! instalado no seu computador. Caso você queira utilizá lo em um servidor na web,
Leia maisJava com Banco de Dados Posgree
Java com Banco de Dados Posgree Prof. Luiz Claudio Ferreira de Souza www.luizclaudiofs.blogspot.com 1 Driver para ligação Java e Postgre http://jdbc.postgresql.org/download.html www.luizclaudiofs.blogspot.com
Leia maisCriando Banco de Dados, Tabelas e Campos através do HeidiSQL. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011
Criando Banco de Dados, Tabelas e Campos através do HeidiSQL Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011 Edição 2 Pedreiros da Informação Criando Banco de Dados, Tabelas e Campos através do HeidiSQL
Leia maisGUIA INTEGRA SERVICES E STATUS MONITOR
GUIA INTEGRA SERVICES E STATUS MONITOR 1 - Integra Services Atenção: o Integra Services está disponível a partir da versão 2.0 do software Urano Integra. O Integra Services é um aplicativo que faz parte
Leia maisTutorial: 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 maisManual Captura S_Line
Sumário 1. Introdução... 2 2. Configuração Inicial... 2 2.1. Requisitos... 2 2.2. Downloads... 2 2.3. Instalação/Abrir... 3 3. Sistema... 4 3.1. Abrir Usuário... 4 3.2. Nova Senha... 4 3.3. Propriedades
Leia maisINDICE 1. INTRODUÇÃO... 3 2. CONFIGURAÇÃO MÍNIMA... 4 3. INSTALAÇÃO... 4 4. INTERLIGAÇÃO DO SISTEMA... 5 5. ALGUNS RECURSOS... 6 6. SERVIDOR BAM...
1 de 30 INDICE 1. INTRODUÇÃO... 3 2. CONFIGURAÇÃO MÍNIMA... 4 3. INSTALAÇÃO... 4 3.1. ONDE SE DEVE INSTALAR O SERVIDOR BAM?... 4 3.2. ONDE SE DEVE INSTALAR O PROGRAMADOR REMOTO BAM?... 4 3.3. COMO FAZER
Leia maisManual do Plone (novo portal do IFCE)
Manual do Plone (novo portal do IFCE) Dezembro/2015 Índice Como criar submenus... 3 Como criar banner rotativo... 4 Como remover um banner... 5 Como criar uma notícia... 6 Como inserir imagem na notícia...
Leia maisCONFIGURAÇÃO DE REDE SISTEMA IDEAGRI - FAQ CONCEITOS GERAIS
CONFIGURAÇÃO DE REDE SISTEMA IDEAGRI - FAQ CONCEITOS GERAIS Servidor: O servidor é todo computador no qual um banco de dados ou um programa (aplicação) está instalado e será COMPARTILHADO para outros computadores,
Leia maisVeja abaixo um exemplo de como os dados são mostrados quando usamos o
Objeto DataGridView O controle DataGridView é um dos objetos utilizados para exibir dados de tabelas de um banco de dados. Ele está disponível na guia de objetos Data na janela de objetos do vb.net. Será
Leia maisFERRAMENTAS DE COLABORAÇÃO CORPORATIVA
FERRAMENTAS DE COLABORAÇÃO CORPORATIVA Compartilhamento de Arquivos no Google Drive Sumário (Clique sobre a opção desejada para ir direto à página correspondente) Utilização do Google Grupos Introdução...
Leia maisDarkStat para BrazilFW
DarkStat para BrazilFW ÍNDICE Índice Página 1 O que é o DarkStat Página 2 DarkStat e a inicialização do sistema Página 2 DarkStat e a finalização do sistema Página 2 Tela Principal do DarkStat Página 3
Leia mais1.2) Na tela seguinte, o primeiro item a ser selecionado é o Unidade Acumuladora1.
MANUAL DA NOVA VERSÃO DE ARQUIVAMENTO DO CPROD Na nova versão de Arquivamento que está sendo implementada no CPROD, antes de realizarmos o Arquivamento do Processo ou Documento em si, temos que criar no
Leia maisINTRODUÇÃ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 maisWecDB - 1 - WecDB Consulta Web Facilitada ao Banco de Dados
WecDB - 1 - WecDB Consulta Web Facilitada ao Banco de Dados WecDB (Web Easy Consultation Database) é uma ferramenta para criação e disponibilização de consultas à Bancos de Dados na Internet. É composto
Leia mais1- Requisitos mínimos. 2- Instalando o Acesso Full. 3- Iniciando o Acesso Full pela primeira vez
Manual Conteúdo 1- Requisitos mínimos... 2 2- Instalando o Acesso Full... 2 3- Iniciando o Acesso Full pela primeira vez... 2 4- Conhecendo a barra de navegação padrão do Acesso Full... 3 5- Cadastrando
Leia maisUNIVERSIDADE 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 maisManual 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 maisManual 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 maisManual 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 maisCenários do CEL. Acessar ao sistema
Cenários do CEL Acessar ao sistema Permitir que o usuário acesse ao Sistema de Léxicos e Cenários nas seguintes condições: logando-se, quando já estiver cadastrado; ou incluindo usuário independente, quando
Leia maisFaculdade Boa Viagem Sistemas de Informação Gerenciais EXERCÍCIO PASSO-A-PASSO PEDIDOS E CONTROLE DE ESTOQUE. Microsoft Access.
Faculdade Boa Viagem Sistemas de Informação Gerenciais EXERCÍCIO PASSO-A-PASSO PEDIDOS E CONTROLE DE ESTOQUE Microsoft Access Professor: M.Sc. Joel da Silva Recife-PE 2006 FBV Controle de Estoque passo-a-passo
Leia maisCRIANDO BANCOS DE DADOS NO SQL SERVER 2008 R2 COM O SQL SERVER MANAGEMENT STUDIO
CRIANDO BANCOS DE DADOS NO SQL SERVER 2008 R2 COM O SQL SERVER MANAGEMENT STUDIO Antes de criarmos um novo Banco de Dados quero fazer um pequeno parênteses sobre segurança. Você deve ter notado que sempre
Leia maisVamos 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 maisBarra 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 maisDespachante 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 maisManual Integra S_Line
1 Introdução O é uma ferramenta que permite a transmissão Eletrônica de Resultado de Exames, possibilitando aos Prestadores de Serviços (Rede Credenciada), integrarem seus sistemas com os das Operadoras
Leia maisProcedimentos 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 maisManual do sistema SMARsa Web
Manual do sistema SMARsa Web Módulo Gestão de atividades RS/OS Requisição de serviço/ordem de serviço 1 Sumário INTRODUÇÃO...3 OBJETIVO...3 Bem-vindo ao sistema SMARsa WEB: Módulo gestão de atividades...4
Leia maisFluxo de trabalho do Capture Pro Software: Indexação de OCR e separação de documentos de código de correção
Este procedimento corresponde ao fluxo de trabalho de Indexação de OCR com separação de código de correção no programa de treinamento do Capture Pro Software. As etapas do procedimento encontram-se na
Leia maisSCPIWeb. SCPIWebDespRec Aplicação Web para Consulta de Despesas e Receitas ( Lei Complementar nº 131 de 27 Maio de 2009 )
2010 SCPIWebDespRec Aplicação Web para Consulta de Despesas e Receitas ( Lei Complementar nº 131 de 27 Maio de 2009 ) SCPIWebCotacao Aplicação Web para Cotação de Preços via Internet Resumo de Instruções
Leia maisUpload e Download de Arquivos. Ao programador Morfik, cabe implementar em sua aplicação os mecanismos gerenciem todo o processo acima.
Upload e Download de Arquivos Considerações gerais. As aplicações Web 2 tem como uma de suas características principais, o fato de permitirem aos usuários, que eles mesmo criem conteúdo, sem depender de
Leia maisTutorial: Webmail. Dicas de Uso e Funcionalidades 02/2015. Versão 01
Tutorial: Webmail Dicas de Uso e Funcionalidades 02/2015 Versão 01 Conteúdo Tutorial: Webmail 2015 Descrição... 2 Possíveis problemas... 5 Criando Regras de Mensagens (Filtros Automáticos)... 11 A partir
Leia maisPrint Audit 6 - Instalação do SQL Server 2008 express R2
Print Audit 6 - Instalação do SQL Server 2008 express R2 Este tutorial mostra a instalação e configuração passo a passo do SQLServer 2008 express R2. Antes de instalar o SQL Server 2008 Express R2 Antes
Leia maisListando itens em ComboBox e gravando os dados no Banco de Dados MySQL.
Listando itens em ComboBox e gravando os dados no Banco de Dados MySQL. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2012 Edição 7 Listando e Gravando Listando itens em ComboBox e gravando os dados no
Leia mais3. No painel da direita, dê um clique com o botão direito do mouse em qualquer espaço livre (área em branco).
Permissões de compartilhamento e NTFS - Parte 2 Criando e compartilhando uma pasta - Prática Autor: Júlio Battisti - Site: www.juliobattisti.com.br Neste tópico vamos criar e compartilhar uma pasta chamada
Leia mais2. INSTALAÇÃO E CONFIGURAÇÃO
INDICE 1. INTRODUÇÃO 2. INSTALAÇÃO E CONFIGURAÇÃO 2.1. COMPARTILHANDO O DIRETÓRIO DO APLICATIVO 3. INTERFACE DO APLICATIVO 3.1. ÁREA DO MENU 3.1.2. APLICANDO A CHAVE DE LICENÇA AO APLICATIVO 3.1.3 EFETUANDO
Leia maisNetBeans. Conhecendo um pouco da IDE
NetBeans Conhecendo um pouco da IDE Professor: Edwar Saliba Júnior Sumário Apresentação:...1 Criando Um Novo Projeto de Software:...1 Depurando Um Código-fonte:...4 Entendendo o Código-fonte:...7 Dica
Leia maisINTRODUÇÃO 2 ACESSO AO SIGTECWEB 3 TEMPO DE CONEXÃO 5 NAVEGAÇÃO 7 BARRA DE AÇÕES 7 COMPORTAMENTO DOS BOTÕES 7 FILTROS PARA PESQUISA 8
ÍNDICE INTRODUÇÃO 2 ACESSO AO SIGTECWEB 3 TEMPO DE CONEXÃO 5 NAVEGAÇÃO 7 BARRA DE AÇÕES 7 COMPORTAMENTO DOS BOTÕES 7 FILTROS PARA PESQUISA 8 ACESSO ÀS FERRAMENTAS 9 FUNÇÕES 12 MENSAGENS 14 CAMPOS OBRIGATÓRIOS
Leia maisRevisão: - 1 Desinstalando Versões Anteriores
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 Procedimentos de Instalação do Urano Integra 2.1e no Windows
Leia maisTrecho 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 maisRoteiro de instalação da Linha DD
Roteiro de instalação da Linha DD O Roteiro de instalação divide-se em 3 partes, onde seguidas conforme instruções desse roteiro, o sistema e a base de dados serão atualizados.. A primeira parte é onde
Leia maisManual do Usuário. Minha Biblioteca
Manual do Usuário Minha Biblioteca Sumário Acesso a Minha Biblioteca... 3 Tela Principal... 3 Para que serve o ícone Minha Biblioteca?... 3 O que você encontra no campo Pesquisar?... 4 Quando utilizar
Leia maisGerenciamento de Contatos
Gerenciamento de Contatos O objetivo deste módulo é ajudar a gerenciar todos os contatos da empresa. Além dos dados mais importantes, o módulo permite cadastrar anotações e relacionar as tarefas e eventos
Leia maisMANUAL DE INSTALAÇÃO E CONFIGURAÇÃO. Motor Periférico Versão 8.0
MANUAL DE INSTALAÇÃO E CONFIGURAÇÃO Motor Periférico Versão 8.0 1. Apresentação... 3 2. Instalação do Java... 3 2.1 Download e Instalação... 3 2.2 Verificar Instalação... 3 3. Download do Motor Periférico...
Leia maisSmart Laudos 1.9. A Forma Inteligente de Criar seus Laudos Médicos. Manual do Usuário
Smart Laudos 1.9 A Forma Inteligente de Criar seus Laudos Médicos Manual do Usuário Conteúdo 1. O que é o Smart Laudos?... 3 2. Características... 3 3. Instalação... 3 4. Menu do Sistema... 4 5. Configurando
Leia maisRational 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 maisAula 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 maisUSANDO O ROUNDCUBE WEBMAIL
USANDO O ROUNDCUBE WEBMAIL ATENÇÃO! Para utilizar este tutorial não se esqueça: Onde estiver escrito seusite.com.br substitua pelo ENDEREÇO do seu site (domínio). Ex.: Se o endereço do seu site é casadecarnessilva.net
Leia maisManual do Almoxarifado SIGA-ADM
Manual do Almoxarifado SIGA-ADM DIRETORIA DE GESTÃO DA TECNOLOGIA DA INFORMAÇÃO(DGTI) MARÇO/2012 Requisição de Almoxarifado Requisições O sistema retornará a tela do menu de Administração. Nela selecione
Leia maisMANUAL DE FTP. Instalando, Configurando e Utilizando FTP
MANUAL DE FTP Instalando, Configurando e Utilizando FTP Este manual destina-se auxiliar os clientes e fornecedores da Log&Print na instalação, configuração e utilização de FTP O que é FTP? E o que é um
Leia maisProcesso de Envio de email
Processo de Envio de email Introdução O envio de documentos de forma eletrônica vem sendo muito utilizado, assim o envio de arquivos, relatórios, avisos, informações é realizado via e-mail. O sistema disponibiliza
Leia maisRESUMO DE CATALOGAÇÃO
RESUMO DE CATALOGAÇÃO CLASSIFICAÇÃO DISTINTA Contatos: Cirineo Zenere (c.zenere@pucpr.br) Eulália M. Soares (eulalia.soares@pucpr.br) Josilaine O. Cezar (josilaine.cezar@pucpr.br) SUMÁRIO INICIANDO A CATALOGAÇÃO...2
Leia maisCONFIGURAÇÃO MINIMA EXIGIDA:
Este tutorial parte do princípio que seu usuário já possua conhecimentos básicos sobre hardware, sistema operacional Windows XP ou superior, firewall, protocolo de rede TCP/IP e instalação de software.
Leia maisDemoiselle 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 maisMicrosoft 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ÍNDICE SERVIÇOS DO WINDOWS MASTERSAF DFE
ÍNDICE INICIANDO OS MÓDULOS COMO SERVIÇO DO WINDOWS VIA APACHE PROCRUN... 3 INSTALAÇÃO... 3 CONFIGURAÇÕES AVANÇADAS... 5 REMOVER SERVIÇO... 6 INICIANDO OS MÓDULOS COMO SERVIÇO DO WINDOWS VIA WRAPPER...
Leia maisMANUAL 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 maisManual Operacional SIGA
SMS - ATTI Julho -2012 Conteúdo Sumário... 2... 3 Consultar Registros... 4 Realizar Atendimento... 9 Adicionar Procedimento... 11 Não Atendimento... 15 Novo Atendimento... 16 Relatórios Dados Estatísticos...
Leia maisMANUAL DE UTILIZAÇÃO DO WEBMAIL SBC
MANUAL DE UTILIZAÇÃO DO WEBMAIL SBC SUMÁRIO 1 - Tela de Login...03 2 - Caixa de Entrada...04 3 - Escrever Mensagem...06 4 - Preferências...07 4.1 - Configurações Gerais...07 4.2 - Trocar Senha...07 4.3
Leia maisAgendamento 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 maisProjeto Amadeus. Guia de Instalação 00.95.00 Windows
Projeto Amadeus Guia de Instalação 00.95.00 Windows Agosto 2010 Sumário 1. Introdução...3 2. Pré-Requisitos...4 2.1 Máquina Virtual Java...4 2.2 Apache TomCat 6.0.18...4 2.3 PostgreSQL 8.3...5 3. Instalando
Leia maiswww.neteye.com.br NetEye Guia de Instalação
www.neteye.com.br NetEye Guia de Instalação Índice 1. Introdução... 3 2. Funcionamento básico dos componentes do NetEye...... 3 3. Requisitos mínimos para a instalação dos componentes do NetEye... 4 4.
Leia maisPROCESSO 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 maisTUTORIAL DO ACCESS PASSO A PASSO. I. Criar um Novo Banco de Dados. Passos: 1. Abrir o Access 2. Clicar em Criar um novo arquivo
TUTORIAL DO ACCESS PASSO A PASSO I. Criar um Novo Banco de Dados Passos: 1. Abrir o Access 2. Clicar em Criar um novo arquivo 3. Clicar em Banco de Dados em Branco 4. Escrever um nome na caixa de diálogo
Leia maisFerramenta: Spider-CL. Manual do Usuário. Versão da Ferramenta: 1.1. www.ufpa.br/spider
Ferramenta: Spider-CL Manual do Usuário Versão da Ferramenta: 1.1 www.ufpa.br/spider Histórico de Revisões Data Versão Descrição Autor 14/07/2009 1.0 15/07/2009 1.1 16/07/2009 1.2 20/05/2010 1.3 Preenchimento
Leia maisManual 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 maisBEM-VINDO AO dhl PROVIEW
BEM-VINDO AO dhl PROVIEW Guia de Usuário O DHL PROVIEW COLOCA VOCÊ NO CONTROLE DE SEUS ENVIOS. PROVIEW O DHL ProView é uma ferramenta de rastreamento on-line que permite o gerenciamento dos envios, a programação
Leia maisQualiQuantiSoft 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 maisMANUAL DO USUÁRIO. Guia de orientações e conceitos para manipulação da plataforma Miraklon. VERSÃO 1.0 12.02.2014. Vigência 12.02.
MANUAL DO USUÁRIO VERSÃO 1.0 12.02.2014 Vigência 12.02.2014 Guia de orientações e conceitos para manipulação da plataforma Miraklon. SUMÁRIO 1. CONFIGURAÇÕES... 3 1.1 - Dados Gerais... 3 1.2 Formulários...
Leia maisAcessando um Banco de Dados
Acessando um Banco de Dados Introdução Agora que você já está craque em JSP e já instalou seu servidor, vamos direto para a parte prática! Neste tutorial vamos aprender a acessar um banco de dados. Para
Leia maisManual de digitação de contas Portal AFPERGS
Manual de digitação de contas Portal AFPERGS 1 Sumário Acesso à função digitação de contas... 3 O que é a Função digitação de contas (DC)... 4 Como proceder na função digitação de conta médica (DC)...
Leia maisUNIVERSIDADE FEDERAL DO VALE DO SÃO FRANCISCO UNIVASF SECRETARIA DE TECNOLOGIA DA INFORMAÇÃO STI DEPARTAMENTO DE SISTEMAS DE INFORMAÇÕES
UNIVERSIDADE FEDERAL DO VALE DO SÃO FRANCISCO UNIVASF SECRETARIA DE TECNOLOGIA DA INFORMAÇÃO STI DEPARTAMENTO DE SISTEMAS DE INFORMAÇÕES MANUAL DO USUÁRIO SISTEMA DE SUPORTE DA PREFEITURA UNIVERSITÁRIA
Leia maisManual SAGe Versão 1.2
Manual SAGe Versão 1.2 Cadastramento de Usuário (a partir da versão 12.08.01 ) Conteúdo Introdução... 2 Cadastramento... 2 Desvendando a tela inicial... 4 Completando seus dados cadastrais... 5 Não lembro
Leia maisFluxo de trabalho do Capture Pro Software: Indexação de código de barras e separação de documentos
Este procedimento corresponde ao fluxo de trabalho de Indexação de código de barras e de separação de documentos no programa de treinamento do Capture Pro Software. As etapas do procedimento encontram-se
Leia maisManual do Painel Administrativo
Manual do Painel Administrativo versão 1.0 Autores César A Miggiolaro Marcos J Lazarin Índice Índice... 2 Figuras... 3 Inicio... 5 Funcionalidades... 7 Analytics... 9 Cidades... 9 Conteúdo... 10 Referência...
Leia maisINSTALANDO E CONFIGURANDO O MY SQL
INSTALANDO E CONFIGURANDO O MY SQL Este tutorial tem como objetivo mostrar como instalar o banco de dados My SQL em ambiente Windows e é destinado aqueles que ainda não tiveram um contato com a ferramenta.
Leia maisIniciando 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 maisInstalando o Internet Information Services no Windows XP
Internet Information Services - IIS Se você migrou recentemente do Windows 95 ou 98 para o novo sitema operacional da Microsoft Windows XP, e utilizava antes o Personal Web Server, deve ter notado que
Leia maisWORD. Professor: Leandro Crescencio E-mail: leandromc@inf.ufsm.br. http://www.inf.ufsm.br/~leandromc. Colégio Politécnico 1
WORD Professor: Leandro Crescencio E-mail: leandromc@inf.ufsm.br http://www.inf.ufsm.br/~leandromc Colégio Politécnico 1 WORD Mala direta Cartas Modelo Mesclar Etiquetas de endereçamento Formulários Barra
Leia maisIMPORTANTE: O sistema Off-line Dr.Micro é compatível com os navegadores Mozilla Firefox e Internet Explorer.
CONFIGURANDO O SISTEMA OFFLINE DR.MICRO IMPORTANTE: O sistema Off-line Dr.Micro é compatível com os navegadores Mozilla Firefox e Internet Explorer. 1- Ao acessar a plataforma online a opção Minha Escola
Leia mais1) Como acessar a aplicação
Guia de Uso V1.0.0 1) Como acessar a aplicação 2 1 2 3 3 4 Ao clicar em Banco de Necessidades, será aberta uma nova guia do navegador com o formulário mostrado abaixo, o qual possui dois botões : Consulta
Leia maisA barra de menu a direita possibilita efetuar login/logout do sistema e também voltar para a página principal.
MANUAL DO SISCOOP Sumário 1 Menu de Navegação... 3 2 Gerenciar País... 5 3- Gerenciamento de Registro... 8 3.1 Adicionar um registro... 8 3.2 Editar um registro... 10 3.3 Excluir um registro... 11 3.4
Leia mais