Segurança em Aplicações J2EE no Ambiente JBoss

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

Download "Segurança em Aplicações J2EE no Ambiente JBoss"

Transcrição

1 Segurança em Aplicações J2EE no Ambiente JBoss Juliano Kuhn Soares Orientador: Vinicius Gadis Ribeiro Informática Centro Universitário Ritter dos Reis (Uniritter) Rua Orfanotrófio, 555 Alto Teresópolis Porto Alegre RS Brazil Abstract. Developing secure applications is a great challenge in a corporate environment. In a context of applications in "n" layers, the implementation of security requirements become more complex and important in the organization of the architecture of this system. By using the J2EE platform in some of these layers, the security control should be properly designed primarily for physical and logical independence between the layers. Each J2EE application server provides different ways in which this control is carried out. Thus, these methods have their advantages and disadvantages when considering the level of security required and provided to the operational systems. In this study, will be tested and demonstrated a way to get to program security using the JBoss server, both in the treatment of authentication and authorization. Resumo. Desenvolver aplicações seguras é um grande desafio em um ambiente corporativo. Em um contexto de aplicações em n camadas, a implementação de requisitos de segurança torna-se muito mais complexa e importante na organização da arquitetura deste sistema. Com a utilização da plataforma J2EE em algumas destas camadas, o controle de segurança deve ser projetado corretamente, principalmente, pela independência física e lógica entre as camadas. Cada servidor de aplicação J2EE disponibiliza diferentes formas para que este controle seja realizado. Assim, estes meios têm as suas vantagens e desvantagens, quando considerado o grau de segurança necessária, bem como a operacionalidade proporcionada aos sistemas. Neste estudo, será testado e demonstrado um meio de se programar a segurança utilizando o servidor JBOSS, tanto no tratamento da autenticação quanto na autorização. 1. Introdução Aplicações críticas cada vez mais são desenvolvidas empregando a linguagem Java. Dentre essas aplicações, destacam-se: Sistemas Hospitalares, ERPs(Enterprise Resource Planning), Financeiros e Bancários. Nestes sistemas, normalmente, a arquitetura proposta é baseada na utilização de recursos J2EE (Java 2 Platform, Enterprise Edition) em camadas o mais independente possível uma da outra. Quando se faz referência a J2EE, freqüentemente é lembrado o desenvolvimento de aplicações corporativas Web ou serviços executados em um servidor J2EE. Normalmente, uma das camadas, a de apresentação, pode ser WEB. Contudo, como se

2 busca sempre ter camadas independentes, pode-se usar como Frontend telas Swing, Flex, Mobile, WebService, entre outras. Nas aplicações J2EE, o requisito de desempenho, facilidade de manutenção e escalabilidade têm recebido os maiores esforços de arquitetos e analistas, sem maiores preocupações com a segurança, principalmente, quando o acesso está ocorrendo através de diferentes camadas e interfaces. Uma arquitetura comum é onde o Frontend irá invocar um serviço remoto EJB (Enterprise Java Beans) que executa as funções ou regras de negócio, sendo a única interface do Frontend com o servidor J2EE. Neste cenário, parte de uma mesma aplicação é executada em diferentes locais (Frontend, servidor, banco de dados). Isto dificulta o controle de segurança, abrindo muitas possibilidades de ocorrerem acessos indevidos. No servidor de aplicação JBoss (jboss ga), onde este trabalho tem o seu foco, existem várias maneiras de estar organizando a arquitetura, visando atender aos requisitos de segurança de determina aplicação. Além das estruturas prontas, é possível estender determinadas funcionalidades a fim de personalizar para uma aplicação específica, como o padrão proposto pelo JAAS (Java Authentication and Authorization Service). No presente trabalho, a camada de Frontend que será focada é desenvolvida com o framework Swing (J2SE Java 2 Platform, Standard Edition), por ser a que apresenta grande carência de definições de modelos de segurança. Nada impede que uma camada de apresentação WEB possa ser desenvolvida acessando aos mesmos serviços utilizados pelo Swing, sendo que os requisitos de segurança são exatamente os mesmos. O objetivo principal do presente trabalho é identificar as falhas de segurança, que determinadas arquiteturas, com a utilização de J2EE podem apresentar e, posteriormente, propor um modelo que ofereça desempenho e alguns dos serviços de segurança. Para tanto, é proposta uma arquitetura que tente mitigar as falhas apontadas, apresentando os resultados comparativos com relação a um modelo tradicional sem as devidas preocupações com segurança. Neste trabalho, inicialmente, serão elencadas as questões referente à como, normalmente, é tratado à segurança com J2EE elencando as principais falhas nas arquiteturas. Em seguida será apresentada uma solução para os problemas encontrados, bem como, a análise de desempenho e viabilidade da solução proposta. 2. Segurança J2EE Segundo Guerra (2008), na falta de tempo para a implementação de sistemas com o objetivo de atender o mais rápido possível às necessidades dos usuários, muitas vezes as funcionalidades de segurança são deixadas de lado. Os usuários dos sistemas não têm uma percepção real da segurança do sistema e, normalmente, só descobrirão a existência de uma falha quando o dano já tiver ocorrido. Este problema começa cedo no ciclo de desenvolvimento, pela má especificação dos requisitos de segurança, onde não são previstas possíveis situações de tentativas de uso não legítimo, com intenções maliciosas. Conforme contexto exposto neste trabalho existe um universo de diferentes aplicativos e serviços em ambientes distribuídos utilizando J2EE. Muitas vezes, esta distribuição é transparente ao usuário do sistema. Ter diferentes serviços colaborativos para uma solução de negócio é uma grande vantagem para atender requisitos de negócio

3 de grandes sistemas. Neste cenário, o que é necessário ser controlado como requisito de segurança? A resposta vai depender do tipo de informação que esta sendo tratada, dos elementos envolvidos, do ambiente de execução do sistema. Neste trabalho, os requisitos de segurança foram definidos conforme listados abaixo: - O aplicativo não pode ser acessado por usuários não autenticados; - Os usuários podem executar somente serviços para os quais foram autorizados; - O acesso dos usuários a determinados serviços devem ser gravados a fim de permitir a rastreabilidade do acesso; - O acesso deve ser controlado entre o Frontend e o servidor; - No Frontend não pode existir implementação que trate de regras de acesso e de operações dos serviços, somente as interfaces de acesso devem estar disponíveis. Segundo PANDA (2003), segurança para uma aplicação envolve duas funções primárias: autenticação e autorização. A autenticação é responsável por verificar a identidade do usuário. Ao se autenticar, o usuário prova para o sistema quem realmente é utilizando recursos de senhas, biometria e/ou certificado digital. Já a autorização é responsável por determinar, após o usuário ter sido autenticado, as permissões de acesso a um recurso particular ou tarefa. Nos sistemas abertos, um usuário autenticado poderia executar qualquer tarefa, mas isso não faz sentido em um ambiente onde é necessário controlar que operações determinadas pessoas podem realizar. Conforme PANDA (2003), embora existam alguns recursos em um sistema que é acessível a todos, a maioria dos recursos deveria ser acessada somente por um grupo limitado de pessoas. A autenticação e autorização são muito ligadas a outros conceitos de segurança como usuários, grupos e papéis. O modelo de segurança J2EE mais conhecido é RBAC (Role Based Access Control), onde as permissões são atribuídas para papéis, os quais são atribuídos para os usuários. Um usuário pode possuir um ou mais papéis, que podem possuir uma ou mais permissões. Os papéis são mantidos na sessão do usuário junto ao servidor, criada no momento do processo de autenticação. Algumas variações do RBAC permitem controlar hierarquia de papéis onde um papel pode ser criado a partir de outro. As Figuras 1 e 2 ilustram a integração entre os diferentes conceitos de segurança. Figura 1 - RBAC Padrão Figura 2 - RBAC com contexto O modelo ABAC (Attribute Based Access Control) serve para situações nas quais os requisitos de controle de acesso são mais complexos utilizando regras de negócio específicas. Exemplo de uso do modelo ABAC é permitir que somente o titular da conta bancária possa consultar o seu saldo. Em uma aplicação que utiliza EJB, o controle de acesso por padrão é feito através da permissão ou negação para invocação de determinados métodos de serviços a determinados grupos de usuários ou papéis.

4 Quanto menor a quantidade de processamento desnecessário ou não focado a atender aos requisitos de negócio, mais otimizada é a aplicação. Quando se programam requisitos de segurança, é importante estar consciente de que irá ocorrer processamento auxiliar para fazer todas as verificações deste requisito. É importante identificar, através de testes e simulações, qual é o impacto no desempenho deste processamento, verificando se isso inviabiliza a utilização da aplicação com estes requisitos de segurança. O processamento adicional deve ser justificado, conforme os requisitos de segurança para o sistema. Muitas vezes, ocorre perda de processamento, mas se ganha em integridade e segurança da informação que pode ser primordial para o processo. Outro impacto no desempenho está vinculado ao aumento do tráfego na rede com processos de criptografia. Atualmente, bons algoritmos já conseguem minimizar tal situação compactando a informação a ser trafegada, mas é importante, sempre levar em consideração que uma perda no desempenho pode acontecer. Os principais problemas de segurança encontrados nas arquiteturas J2EE estão relacionados à arquitetura utilizada. Muitos arquitetos e analistas de sistema adotam a segurança baseada na obscuridade, assumindo que caso um recurso estiver escondido, não poderá ser acessado. Tanto em aplicações Web quanto Desktop, é escondidos elementos da interface como botões ou links, exibindo os mesmos somente a pessoas autorizadas. Nada impede que o usuário acesse o link ou o método desenvolvido e não mostrado no caso da web, digitando o endereço no Browser e, no caso de Desktop, criando uma aplicação que importe o método implantado no programa original e efetue a chamada indevida. É importante lembrar que um bytecode Java pode ser facilmente decompilado e se verificar, no código fonte, a forma de estar chamando o serviço remoto. Tratar o controle de acesso como uma característica simplesmente funcional deixando, por exemplo, um EJB ou serviço desprotegido, é outro problema verificado em muitas aplicações. Da mesma forma como o problema anterior, é tratado na aplicação (normalmente no lado cliente) o que pode ou não ser feito. Tendo acesso à interface do EJB, que sempre é distribuído junto com o cliente, é simples desenvolver uma aplicação que faça uso do serviço e execute o que se quiser, através de uma chamada remota. Esta característica também é encontrada em aplicações Web, onde a segurança é tratada na camada de apresentação. Alguns desenvolvedores criam um EJB de entrada protegido para efetuar o Login, mas não restringe o acesso aos demais. Como explicado anteriormente, o controle de acesso é feito para os métodos públicos, onde são controladas as regras de permissão para que possam ou não ser chamados pelos usuários clientes. Com base neste recurso, outro grande problema é colocar em um único método diferentes operações, como por exemplo, operações de CRUD (Create Retrieve Update Delete), onde a ação a ser realizada é um parâmetro do método. Neste caso, não se tem como restringir uma determinada ação do método, visto que esta permissão é feita de forma global para todo o método. Exemplo: gravarcliente(tipooperacao, Cliente), onde o TipoOperacao é C Criar, R Ler, U Atualizar, D Deletar. Neste caso não será possível restringir algumas das operações. Outro grande problema é a autenticação ser realizada pela aplicação e não pelo usuário. Neste caso, o serviço (EJB) está protegido, mas quem irá se autenticar será um usuário do sistema único para todos os serviços. Normalmente, a referência a este usuário está em um arquivo texto ou em um arquivo.jar. Muito facilmente, caso se tenha acesso ao arquivo, identificar o usuário, ou se pode utilizar o.jar (lib) para acessar

5 os EJBs, tendo toda a segurança comprometida. Além de que os papéis deverão ser todos autorizados para este usuário, o que permite a irrestrita execução de qualquer serviço. Quando se fica muito preso nos mecanismos propostos pelo J2EE, pode-se esquecer de que é necessário levar em consideração os dados dos parâmetros que estão sendo enviados causando problemas nas regras de negócio. Por exemplo, em uma página WEB são passados os parâmetros referentes à determinada consulta: facilmente algum usuário pode alterar estes parâmetros para buscar informações indevidas. Classes de negócio (implementação do EJB) distribuídas junto com as interfaces são também um grande problema, principalmente, para a integridade das informações. Como um bytecode Java pode ser decompilado, o usuário poderá ter acesso a regras de negócio e, de posse destas informações, tentarem executar algum ataque. Os problemas de segurança em aplicações J2EE estão muito relacionados à falta de conhecimento e a falha na arquitetura dos sistemas. A aplicação somente será segura, na medida em que todos os serviços externos tenham o acesso controlado de forma a evitar vulnerabilidades para um possível uso indevido. Não estão aqui descritos problemas de segurança com a rede, alta disponibilidade e infra-estrutura. É importante que estes requisitos já estejam devidamente implantados a fim de garantir a segurança da arquitetura a ser proposta, visto que de nada adianta implantar no sistema mecanismos de segurança se algum usuário tem acesso à configuração do servidor. É considerado, para o presente trabalho, que a rede do ambiente onde a aplicação J2EE é utilizada é segura e mantém mecanismos de criptografia padrões de mercado, bem como problemas de disponibilidade do servidor estejam devidamente tratados não fazendo parte do escopo do trabalho. Com o servidor de aplicação JBoss é possível implementar requisitos de segurança utilizando o JAAS que é um dos padrões J2EE para tratamento de segurança. O uso do JAAS pode atender a maioria dos requisitos de segurança que foram elencados, com exceção de alterações de permissão para determinado serviço sem alteração de código fonte, xml e reiniciar o serviço. No quadro que segue são apresentados os requisitos atendidos pelo JAAS. Requisitos Atende Observações Autenticação do Usuário Sim Possibilita consultar o usuário em arquivo, banco de dados, LDAP e interação com outros sistemas Definição de permissão para determinado usuário executar método Verificar alteração de perfil de usuário Controle da sessão da autenticação junto ao servidor Facilidade de Manutenção de regras para acesso aos serviços e perfis de Parcial Parcial Possibilita definir no código ou através de xml quais são os perfis que podem executar determinado método. Se a regra deve ser alterado o serviço deve ser parado o código ou xml deve ser alterado. Ao efetuar a autenticação os dados do perfil podem ser carregados. Caso o perfil sofra alteração para um usuário, o mesmo terá que ser autenticado novamente para que sejam utilizados os novos parâmetros. Pode ser configurado para que o perfil possa ser atualizado através de intervalos de tempo o que pode onerar bastante o serviço. Sim Mantém os dados do usuário autenticado e disponibiliza para o uso a qualquer tempo Não A maioria das alterações não será refletida no sistema sem o reinicio do serviço ou nova autenticação do

6 usuários usuário. Quadro 1 - Atendimento de Requisitos pelo JAAS 3. Metodologia A solução para atender aos requisitos de segurança elencados é baseada na utilização dos componentes conforme a Figura 3 ilustra. Figura 3 - Modelo de Arquitetura Proposta Na arquitetura de alto nível acima, a função de cada componente é a seguinte: 1 Usuário da Aplicação é o sujeito que operacionaliza as funções no sistema e que tem o conhecimento das credenciais de autenticação; 2 Estação de trabalho é a máquina utilizada pelo usuário para acessar os recursos do servidor. Na máquina estão os arquivos binários do Frontend da aplicação bem como a chave privada de criptografia da senha do usuário; 3 Servidor da Aplicação é o servidor onde esta sendo executado o Jboss 4.2.3GA; 4 Jboss EJB é o serviço no servidor onde estão sendo executadas as rotinas de negócio e de tratamento de segurança. Os serviços EJB utilizam, para o processo de autenticação e autorização a Meta Aplicação; 5 Dados é o banco de dados responsável por persistir os dados relativos aos serviços de negócio; 6 Estação de trabalho Administrador é a máquina de uso exclusivo do administrador de segurança; 7 Meta Aplicação é uma aplicação com funcionalidades exclusivas para administrar os requisitos de segurança. Esta aplicação somente deve ser acessada pelo administrador do sistema; 8 Dados é o banco de dados auxiliar e de uso exclusivo da Meta Aplicação responsável por persistir dados relativos à segurança. Para os requisitos em que o JAAS não atende ou atende parcialmente foi desenvolvido uma aplicação de administração denominada Meta Aplicação. Esta aplicação tem a função exclusiva de permitir a manutenção de parâmetros de usuários, perfis, permissões que será utilizado pela aplicação de negócio. As alterações efetuadas nesta aplicação deverão ser refletidas de forma automática na aplicação. Para isso foi definido o banco de dados com a estrutura conforme ilustrado na Figura 4 :

7 Figura 4 - Modelo de Dados da Meta Aplicação usuario tabela onde são cadastrados os usuários que podem utilizar o sistema. Nesta tabela são gravados também os dados referentes à chave RSA pública do usuário; perfil tabela onde são gravados os diferentes perfis definidos para a aplicação; servico tabela onde são definidos os serviços do sistema; perfil_servico tabela onde são relacionados para um determinado serviço quais são os perfis autorizados para execução; perfil_usuario tabela onde são definidos para um determinado usuário quais são os perfis que o mesmo pertence; registro registro dos Logs de acesso aos serviços. A Meta Aplicação acessa este banco de dados, onde é possível efetuar a manutenção e consultar todas as tabelas. Abaixo seguem ilustradas nas telas do sistema (Figura 5, Figura 6, Figura 7 e Figura 8):

8 Figura 5 - Cadastro de Usuário Figura 6 - Cadastro de Perfis Na Figura 5 é ilustrada a tela que possibilita as manutenções e operações necessárias para o usuário do sistema bem como as relações com o Perfil. Na Figura 6 é ilustrada tela onde é possível efetuar todas as operações necessárias na manutenção do perfil bem como as suas relações com Usuários e Serviços. Figura 7 - Cadastro de Serviços Figura 8 - Consulta de Log Na Figura 7 é ilustrada a tela onde é possível estar efetuando as manutenções nos serviços, bem como a sua relação com o cadastro de Perfil. Quando um serviço não está cadastrado, não é autorizado o seu acesso, sendo que nesta situação ele é cadastrado automaticamente na Meta Aplicação sendo responsabilidade do administrador relacionar os perfis que são autorizados. Na Figura 8 é ilustrada a tela onde as consultas de Logs de acesso a aplicação podem ser consultados. Na Meta Aplicação, somente o usuário admin tem acesso. Caso o usuário admin não esteja cadastrado a senha inicial a ser utilizada é a1d2m3i4n5. O usuário e a senha são informados ao iniciar a Meta Aplicação. A Meta Aplicação é desenvolvida em Java utilizando o Framework Swing acessando os dados utilizando JPA com Hibernate. Visando facilitar a integração com outros sistemas foram separados em diferentes projetos os seguintes grupos de fontes: app-meta-dominio projeto que contém as fontes de entity, que são as classes Java que representam os domínios da aplicação. Para cada tabela existente no banco de dados existe uma classe correspondente;

9 app-meta-app projeto que contém as rotinas de acesso ao banco de dados, bem como as telas e rotinas operacionais do sistema. Este projeto deve utilizar o projeto app-meta-dominio através da utilização de seu jar. Para utilizar os dados mantidos através da Meta Aplicação e fazer com que os serviços possam estar verificando de forma correta foi implementado um framework chamado de app-j2ee-util-servidor. Neste projeto estão definidas as rotinas para validação de Autenticação e de Autorização. Além das classes de acesso aos dados que foram implementadas utilizando os conceitos de JPA (Java Persistence API) as classes Autenticacao.java e a classe ValidaAutorizacao.java são as classes responsáveis por estarem fazendo o processo de Autenticação de Autorização respectivamente. A classe Autenticacao.java utiliza o padrão JAAS estendendo a classe do JBoss AbstractServerLoginModule.java onde os principais métodos foram sobrescritos a fim de o processo pudesse ser executado de acordo com a necessidade. Quando um usuário é cadastrado na Meta Aplicação ou a sua senha é alterada é gerado uma chave RSA (RSA Data Security, Inc.) privada e outra pública. A chave pública é mantida na Meta Aplicação e a chave privada é gravada em um arquivo binário que é disponibilizado ao usuário. Ao acessar a aplicação, o usuário informa seu login e sua senha. A aplicação cliente, com o uso da chave privada, criptografa a senha e tenta acessar o serviço do servidor. Como o usuário ainda não está autenticado, a classe Autenticacao.java é chamada pelo servidor que delega a mesma o processo de autorização. Esta classe consulta na Meta Aplicação os dados de senha do usuário e os dados da chave pública. Com a chave pública, a senha enviada pelo cliente é descriptografada. Como no banco de dados a senha é gravada utilizando MD5 implementado na API Java, o mesmo algoritmo é aplicado à senha descriptografada. O resultado é verificado com o que veio do banco de dados, caso sejam iguais o usuário é autorizado. A classe ValidaAutorizacao.java é uma classe que implementa um interceptor que é configurado na implementação dos serviços. Esta classe é responsável de a cada chamada a um determinado serviço, efetuar a autorização e registrar o Log do acesso ao serviço. No processo de autorização é verificado qual foi o método chamado, bem como o usuário do sistema que esta solicitando a execução. Com esta informação, é buscado, na Meta Aplicação, o cadastro do serviço. Caso o serviço ainda não esteja cadastrado, o mesmo é cadastrado na Meta Aplicação e a execução do mesmo é negada. Quando o serviço já está cadastrado, são verificados quais perfis têm autorização para a sua execução e se o usuário faz parte de algum destes perfis. Em caso afirmativo, faz a liberação da execução do método. Se o usuário não tem permissão para a execução do serviço é gerado um erro de LoginException negando a sua execução retornando ao cliente a mensagem Usuário sem permissão para executar esta tarefa.. Para a utilização da implementação no controle de segurança da aplicação, no EJB devem ser efetuadas as Quadro 2 - Anotações para Serviço Seguro A define qual é a política de segurança que o servidor utilizará para a classe. No servidor deve ser criado no arquivo login-config.xml na pasta conf a política a ser utilizada. Nesta configuração é definida qual é a classe que o servidor irá delegar para estar realizando o processo de autenticação.

10 application-policy name="acessoj2eeseguro"> <authentication> <login-module code="br.com.juliano.app.seguranca.autenticacao" flag="required"/> </authentication> </application-policy> Quadro 3 - Definição de Politica de Segurança no JBoss A é utilizada para informar ao servidor que a implementação do serviço EJB deve utilizar a classe ValidaAutorizacao como interceptor e que fará o correto processo de autorização. Todo bytecode Java pode ser decompilado o que pode ser um fator importante para a manutenção da segurança, visto que, qualquer usuário poderia de posse dos códigos de negócio e de validação de segurança tentar algum ataque. Para evitar isso, a implementação da aplicação deve seguir algumas segregações, onde são separados tipos de códigos que poderão ser utilizados pelos clientes, servidor ou ambos. O Quadro 2 exemplifica as dependências entre os artefatos desenvolvidos em diferentes projetos: Componente Cliente Servidor Conteúdo app-meta-dominio Não Sim Classes de domínio da meta aplicação app-meta-app Não Não Aplicação de administração de segurança app-j2ee-util-servidor Não Sim Implementação de validação de autenticação e autorização app-j2ee-dominio Sim Sim Classes de domínio da aplicação de validação app-j2ee-iface Sim Sim Classes que definem as interfaces dos métodos que poderão ser chamados pelos Clientes e que estão implementados no servidor app-j2ee-seguro-ejb Não Sim Implementação das interfaces que foram definidas no pacote app-j2ee-iface. Neste pacote estão definidas as regras de negócio bem como as chamadas ao banco de dados para os requisitos de negócio do sistema app-j2ee-util-cliente Sim Não Funções utilitárias para a aplicação cliente. Neste pacote também são implementadas as classes responsáveis por fazer o processo de chamada dos métodos remotos (locate); app-cliente Sim Não Implementação das telas da aplicação cliente Quadro 4 - Dependências de Projetos Com as dependências expostas acima, em nenhum momento, o cliente terá acesso aos códigos de negócio e de validação de segurança, bem como o servidor não precisa conhecer os códigos que são utilizados para chamar os seus serviços. A classe do sistema responsável por estar efetuando a autenticação é Autenticacao.java que é extensão da classe AbstractServerLoginModule.java já implementada no JBoss. O método login é chamado para ser efetuado o processo de validação do usuário: public boolean login() throws LoginException { /*Caso o login já exista*/ if (super.login() == true) { Object username = sharedstate.get("javax.security.auth.login.name"); if (username instanceof Principal) { principal = (Principal) username; else { String name = username.tostring(); principal = new SimplePrincipal(name);

11 Object password = sharedstate.get("javax.security.auth.login.password"); if (password instanceof char[]) { credential = (char[]) password; else if (password!= null) { String tmp = password.tostring(); credential = tmp.tochararray(); return true; super.loginok = false; /*Metodo que busca o usuário e a senha*/ List<byte[]> info = getusuariosenha(); String username = new String(info.get(0)); byte[] password = info.get(1); if (username == null && password == null) { return false; if (principal == null) { principal = new SimplePrincipal(username); /**Buscar o cadastro do usuario*/ Usuario usuario = null; try { String sql = " select * from usuario u where u.nm_login =? "; List<Object> p = new ArrayList<Object>(); p.add(username); List<Map> rs = dao.sqlquery(sql, p); if (rs.size()!= 1) { return false; usuario = dao.carrega((integer) rs.get(0).get("cd_usuario"), Usuario.class); catch (ExceptionDao ex) { Logger.getLogger(Autenticacao.class.getName()).log(Level.SEVERE, null, ex); return false; /**Descriptografa a senha utilizando a chave público do usuario*/ try { PublicKey pk = montarchavepublica( new BigInteger(usuario.getPubModus()), new BigInteger(usuario.getPubExpo())); Cipher cipher = Cipher.getInstance("RSA/ECB/PKCS1Padding"); cipher.init(cipher.decrypt_mode, pk); byte[] senhadecrip = cipher.dofinal(password); password = senhadecrip; catch (Exception ex) { Logger.getLogger(Autenticacao.class.getName()).log(Level.SEVERE, null, ex); /**A senha descriptografa é aplicad MD5 para validar com o banco*/ String pass = null; try { pass = CriptoPassword.criptografaSenha(new String(password)); catch (NoSuchAlgorithmException ex) { Logger.getLogger(Autenticacao.class.getName()).log(Level.SEVERE, null, ex); String senhaesperada = usuario.getdssenha(); if (validasenha(pass, senhaesperada) == false) { throw new FailedLoginException("Password Incorrect/Password Required");

12 /** * Adiciona a autenticação ao contexto */ if (getusefirstpass() == true) { sharedstate.put("javax.security.auth.login.name", username); sharedstate.put("javax.security.auth.login.password", credential); super.loginok = true; return true; Quadro 5 - Processo de Autenticação O método que compara as senhas é o validasenha: protected boolean validasenha(string senhainformada, String senhaesperada) { if (senhainformada == null senhaesperada == null) { return false; return senhainformada.equals(senhaesperada); Quadro 6 - Processo de Comparação da Senha Após a recuperação dos dados da chave pública RSA do usuário é necessário transformar para um objeto Java do tipo PublicKey, sendo para isso utilizado o método montarchavepublica conforme abaixo: /** * Função que monta, a partir dos dados a chave pública RSA * m = modulus * e = publicexponent */ private PublicKey montarchavepublica(biginteger m, BigInteger e) throws Exception { RSAPublicKeySpec keyspec = new RSAPublicKeySpec(m, e); KeyFactory fact = KeyFactory.getInstance("RSA"); PublicKey pubkey = fact.generatepublic(keyspec); return pubkey; Quadro 7 - Processo de Montage da Chave Pública Outros métodos são utilizados para o processo de Autenticação, mas, os elencados acima são os essenciais. A classe ValidaAutorizacao.java é a responsável por estar realizando a cada chamada de serviço a validação da autorização do mesmo conforme regras cadastradas na Meta Aplicação. Nesta classe, inicialmente é necessário fazer as referências aos recursos utilizados conforme código private javax.ejb.sessioncontext ctxejb; private DaoGenerico dao = new DaoGenericoImpl(TipoEMF.Meta); private static Boolean autoriza = null; private static Boolean log = null; Quadro 8 - Utilização dos Recursos do Servidor O método valida é chamado a cada execução de método público dos public Object valida(invocationcontext ctx) throws Exception { String servico = ctx.getmethod().getname(); String usuario = ctxejb.getcallerprincipal().getname();

13 carregaparametro(servico, usuario); if (autoriza.booleanvalue() == true) { Servico s = getservico(servico); if (s == null) { gravarlog(servico, usuario, "SERVIÇO NÃO CADASTRADO", 0); s = vernovoservico(servico); gravarlog(servico, usuario, "CHAMADA", 0); if (verpermissao(usuario, servico) == false) { gravarlog(servico, usuario, "TENTATIVA DE USO SEM PERMISSÃO", 1); throw new LoginException("Usuário sem permissão para executar esta tarefa."); return ctx.proceed(); Quadro 9 - Método que Valida a Autorização do Serviço O método verpermissao verifica se o usuário tem permissão para executar determinado serviço consultando a Meta Aplicação. private boolean verpermissao(string usuario, String metodo) { if (autoriza.booleanvalue() == true) { try { String sql = " select count(*) as qt " + " from usuario u, perfil_usuario pu, servico s, perfil_servico pf " + " where u.nm_login =? " + " and pu.cd_usuario = u.cd_usuario " + " and s.ds_metodo =? " + " and pf.cd_servico = s.cd_servico " + " and pf.cd_perfil = pu.cd_perfil "; List<Object> p = new ArrayList<Object>(); p.add(usuario); p.add(metodo); List<Map> rs = this.dao.sqlquery(sql, p); if (rs.size() == 0) { return false; BigInteger qt = (BigInteger) rs.get(0).get("qt"); if (qt.intvalue() > 0) { return true; else { return false; catch (ExceptionDao ex) { Logger.getLogger(ValidaAutorizacao.class.getName()).log(Level.SEVERE, null, ex); return false; else { return true; Quadro 10 - Verifica as permissões na Meta Aplicação O uso desta classe é exemplificado no código abaixo onde são demostradas as anotações necessárias na implementação de um EJB de nome

14 Quadro 11 - Exemplo de Serviço Seguro Com as anotações acima todos os métodos públicos implementados no EJB, é um serviço devidamente monitorado pela classe ValidaAutorizacao.java. Outra classe de grande importância para este trabalho é a utilizada para fazer o processo de chamada remota do serviço pelo Frontend. A classe ConfigContextoEJB.java é responsável por configurar o contexto para acesso, bem como carregar a chave privada, criptografar a senha. Abaixo parte do código que recupera a chave privada do usuário. private static PrivateKey lerchaveprivadaarquivo(string arquivochave) throws IOException { InputStream in = new FileInputStream(arquivoChave); ObjectInputStream oin = new ObjectInputStream(new BufferedInputStream(in)); try { BigInteger m = (BigInteger) oin.readobject(); BigInteger e = (BigInteger) oin.readobject(); RSAPrivateKeySpec keyspec = new RSAPrivateKeySpec(m, e); KeyFactory fact = KeyFactory.getInstance("RSA"); PrivateKey privkey = fact.generateprivate(keyspec); return privkey; catch (Exception e) { throw new RuntimeException("Erro ao ler a chave privada: ", e); finally { oin.close(); Quadro 12 - Método que Carrega a Chave Privada O método getcontexto() configura as informações necessárias de endereço do servidor, usuário e senha. Neste método é feita a criptografia da senha digitada utilizando a chave privada. public static Context getcontexto() { if (contexto == null) { try { File arquivo = new File("app-cliente.properties"); FileInputStream stream = new FileInputStream(arquivo); Properties properties = new Properties(); properties.load(stream); prefix = properties.getproperty("app-cliente.prefix", "app-j2ee-seguro/"); sufix = properties.getproperty("app-cliente.sufix", "/remote"); Properties propertiesejb = new Properties(); propertiesejb.put("java.naming.factory.initial", properties.getproperty("java.naming.factory.initial")); propertiesejb.put("java.naming.factory.url.pkgs", properties.getproperty("java.naming.factory.url.pkgs")); propertiesejb.put("java.naming.provider.url", properties.getproperty("java.naming.provider.url")); /*Criptografar usuário e senha utilizando a chave privada*/ PrivateKey chaveprivada = lerchaveprivadaarquivo(usuario + "priv.key"); Cipher cipher = Cipher.getInstance("RSA/ECB/PKCS1Padding"); cipher.init(cipher.encrypt_mode, chaveprivada); byte[] senhacrip = cipher.dofinal(senha.getbytes()); propertiesejb.put(context.security_principal, usuario); char[] senhaenviar = new char[senhacrip.length]; for (int i= 0; i < senhacrip.length; i++){ senhaenviar[i] = (char) senhacrip[i];

15 propertiesejb.put(context.security_credentials, senhaenviar); contexto = new InitialContext(propertiesEJB); catch (Exception ex) { System.out.println("Erro ao configurar o contexto para acesso aos serviços remotos.\n" + ex.getmessage()); return contexto; Quadro 13 - Método do Cliente que Envia Usuário e Senha Para validar as diretivas e implementações de segurança, foi implementada uma aplicação que disponibiliza aos usuários funcionalidades básicas de um cadastro de Pessoas. Esta aplicação faz a vez de uma aplicação cliente buscando serviços remotos para a sua utilização. O diagrama abaixo demonstra as relações de dados utilizados por esta aplicação. Figura 9 - Modelo da Aplicação de Validação Nesta aplicação, o usuário inicialmente fará o processo de Autorização, conforme explicados anteriormente e a cada operação nas telas serão chamados os serviços remotos que são validados quanto à autorização pelos processos descritos anteriormente. A Figura 10 ilustra o cadastro de pessoas no mesmo padrão das telas utilizadas pela Meta Aplicação. Na tela do cadastro de pessoas, Figura 11, é apresentada uma pessoa cadastrada. Na tela ilustrada pela Figura 10, é possível consultar as pessoas cadastradas chamando um serviço remoto de consulta, bem como efetuar a manutenção dos dados da Pessoa chamando serviços de alteração, exclusão entre outros. Estes serviços têm a permissão de acesso controlado pelo ValidaAutorizacao, sendo verificado na base da Meta Aplicação a cada execução do serviço.

16 Figura 10 - Tela de Consulta de Pessoas A manutenção dos dados da Pessoa é realizada na tela conforme ilustrado pela Figura 11: Figura 11 - Tela de Manutenção de Pessoas Pode-se ver que nesta tela existe a dependência de dados como Cidade, Grupo, Formação, Profissão que são cadastrados nas outras telas da aplicação que seguem o mesmo padrão e as mesmas validações. 4. Análise dos Resultados Conforme já explicado neste artigo, existe um custo de processamento associado aos controles de segurança. Este custo é relativo à busca de informações na Meta Aplicação, bem como a gravação de logs de erro e acesso. Para analisar qual é o impacto deste custo para um possível processamento, foram propostos quatro cenários, os quais foram executados nas mesmas condições na mesma máquina, um a cada vez. Em todos os cenários o processo de autenticação estava sendo utilizado. Como este processo (autenticação) é executado somente no início do sistema, não existem grandes implicações com relação ao desempenho.

17 No primeiro cenário foram habilitados os recursos de autorização e de log. No segundo cenário foram desabilitados os recursos de autorização e log. No terceiro cenário, foram habilitados somente os recursos de log. E no quarto cenário, foram habilitados os recursos de autorização. Abaixo segue quadro com os resultados com relação ao tempo de cadastro, alteração, consulta e exclusão de cidades: Cenário Autent. Autoriz. Log Tempo (mil seg) Tempo (seg) Tempo (minuto) Ganho em relação ao cenário um em % 1 Sim Sim Sim ,800 15,213-2 Sim Não Não ,159 6,736 55,723 3 Sim Não Sim ,873 8,031 47,209 4 Sim Sim Não ,179 9,570 37,097 Quadro 14 - Análise de Desempenho dos Cenários Tempo (minutos) Tempo Cenário 1 Cenário 2 Cenário 3 Cenário 4 Cenários Figura 12: Comparação de Desempenho dos Cenários 5. Conclusão e Sugestões Após realizar a implementação da solução proposta foi possível concluir que analisar e propor soluções de segurança envolve certa complexidade pelo grande número de variáveis envolvidas. Entender o funcionamento de tecnologias é um dos fatores que mais demandam tempo no processo de analise e desenvolvimento de requisitos de segurança. A baixa qualidade de documentações destas tecnologias é um fator que também dificulta o estudo, levando a necessidade de efetuar testes, simulações para

18 chegar a um denominador aceitável. Este deve ser o fator mais relevante que leva a muitos projetos não se ter a devida preocupação na implementação destes requisitos. Neste trabalho, o foco foi na solução de segurança no que tange as questões de Autenticação e Autorização para a camada de serviços desenvolvida com EJB. Em J2EE existem outras camadas onde também é necessário realizar este tratamento como Banco de Dados, WebService, JMS que não foram tratados e ficam como sugestão para que futuros trabalhos possam ser focados nestes serviços e tecnologias. A otimização do processo de verificação das permissões também poderá ser foco de estudo o que diminuiria o tempo de perda com o processamento do processo de autorização. Utilizar recursos de segurança de forma efetiva como proposta neste trabalho implica utilização de mais recursos de processamento, no caso aproximadamente 55%. Isso vai depender muito do tipo de aplicação e do tipo de processo que se esta executando, pois quanto maior o tempo necessário para o processamento do negócio, menor será a perda de desempenho com as verificações de segurança visto que este processamento sempre será o mesmo. Desta forma, é necessário analisar a real importância destes requisitos na aplicação a fim de não comprometer o negócio com os requisitos de segurança. Referencias COSTA, Luíz. Java Avançado; Rio de Janeiro: Editora Ciência Moderna, DEITEL, Deitel. Java Como Programar 6 ed; São Paulo: Person Prentice Hall, FLEURY, Scott Starck; Norman Richards; JBoss Inc., Marc. JBoss 4.0 Guia Oficial; Rio de Janeiro: Alta Book, OLIVEIRA, Eric. Conhecendo a Plataforma J2EE. Disponível em: <http://www.linhadecodigo.com.br/artigoimpressao.aspx?id=333>. Acesso em 16 mai PANDA, Reza Rahman; Dereck Lane; Debu. EJB3 em Ação; Rio de Janeiro: Alta Book, SOUZA, Eduardo. Os Sete Pecados do Controle de Acesso para Aplicações Java EE. Mundo Java. Curitiba: ano V, n 28, p , SUN. Java. Disponível em: <http://java.sun.com//>. Acesso em 16 maio 2009.

Autenticação e Controle de Acesso

Autenticação e Controle de Acesso J530 - Enterprise JavaBeans Autenticação e Controle de Acesso Helder da Rocha (helder@acm.org) argonavis.com.br 1 Controle de acesso a autenticação A especificação EJB define controle de acesso a métodos

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

ENTERPRISE JAVABEANS 3. Msc. Daniele Carvalho Oliveira

ENTERPRISE JAVABEANS 3. Msc. Daniele Carvalho Oliveira ENTERPRISE JAVABEANS 3 Msc. Daniele Carvalho Oliveira Apostila Servlets e JSP www.argonavis.com.br/cursos/java/j550/index.html INTRODUÇÃO Introdução Enterprise JavaBeans é um padrão de modelo de componentes

Leia mais

UM ESTUDO SOBRE ARQUITETURA PARA DESENVOLVIMENTO DE SOFTWARE WEB UTILIZANDO NOVAS TECNOLOGIAS

UM ESTUDO SOBRE ARQUITETURA PARA DESENVOLVIMENTO DE SOFTWARE WEB UTILIZANDO NOVAS TECNOLOGIAS UM ESTUDO SOBRE ARQUITETURA PARA DESENVOLVIMENTO DE SOFTWARE WEB UTILIZANDO NOVAS TECNOLOGIAS Edi Carlos Siniciato ¹, William Magalhães¹ ¹ Universidade Paranaense (Unipar) Paranavaí PR Brasil edysiniciato@gmail.com,

Leia mais

UFG - Instituto de Informática

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

Leia mais

Autenticação e Autorização

Autenticação e Autorização Autenticação e Autorização Introdução A segurança em aplicações corporativas está relacionada a diversos aspectos, tais como: autenticação, autorização e auditoria. A autenticação identifica quem acessa

Leia mais

Manual de Transferência de Arquivos

Manual de Transferência de Arquivos O Manual de Transferência de Arquivos apresenta a ferramenta WebEDI que será utilizada entre FGC/IMS e as Instituições Financeiras para troca de arquivos. Manual de Transferência de Arquivos WebEDI Versão

Leia mais

Linguagem de Programação JAVA. Professora Michelle Nery Nomeclaturas

Linguagem de Programação JAVA. Professora Michelle Nery Nomeclaturas Linguagem de Programação JAVA Professora Michelle Nery Nomeclaturas Conteúdo Programático Nomeclaturas JDK JRE JEE JSE JME JVM Toolkits Swing AWT/SWT JDBC EJB JNI JSP Conteúdo Programático Nomenclatures

Leia mais

Boas Práticas de Desenvolvimento Seguro

Boas Práticas de Desenvolvimento Seguro Boas Práticas de Desenvolvimento Seguro Julho / 2.012 Histórico de Revisões Data Versão Descrição Autor 29/07/2012 1.0 Versão inicial Ricardo Kiyoshi Página 2 de 11 Conteúdo 1. SEGURANÇA DA INFORMAÇÃO

Leia mais

AULA APLICAÇÕES PARA WEB SESSÕES E LOGIN E SENHA

AULA APLICAÇÕES PARA WEB SESSÕES E LOGIN E SENHA Sumário Construção de sistema Administrativo... 1 Sistema de Login... 2 SQL INJECTION... 2 Técnicas para Evitar Ataques... 2 Formulário de Login e Senha fará parte do DEFAULT... 5 LOGAR... 5 boas... 6

Leia mais

Segurança em Java. João Carlos Pinheiro. jcpinheiro@cefet-ma.br. Versão: 1.1 Última Atualização: Agosto/2005

Segurança em Java. João Carlos Pinheiro. jcpinheiro@cefet-ma.br. Versão: 1.1 Última Atualização: Agosto/2005 Segurança em Java João Carlos Pinheiro jcpinheiro@cefet-ma.br Versão: 1.1 Última Atualização: Agosto/2005 1 Objetivos Apresentar uma introdução ao suporte fornecido pela API Java para a criptografia Utilizar

Leia mais

DESENVOLVIMENTO WEB UTILIZANDO FRAMEWORK PRIMEFACES E OUTRAS TECNOLOGIAS ATUAIS

DESENVOLVIMENTO WEB UTILIZANDO FRAMEWORK PRIMEFACES E OUTRAS TECNOLOGIAS ATUAIS DESENVOLVIMENTO WEB UTILIZANDO FRAMEWORK PRIMEFACES E OUTRAS TECNOLOGIAS ATUAIS Emanuel M. Godoy 1, Ricardo Ribeiro Rufino 1 1 Universidade Paranaense (Unipar) Paranavaí PR Brasil godoymanel@gmail.com,

Leia mais

JSF - Controle de Acesso FERNANDO FREITAS COSTA

JSF - Controle de Acesso FERNANDO FREITAS COSTA JSF - Controle de Acesso FERNANDO FREITAS COSTA ESPECIALISTA EM GESTÃO E DOCÊNCIA UNIVERSITÁRIA JSF Controle de Acesso Antes de iniciarmos este assunto, é importante conhecermos a definição de autenticação

Leia mais

Compartilhamento de recursos de forma a racionar e otimizar o uso de equipamentos e softwares. Servidores e Workstations. Segurança é um desafio, por

Compartilhamento de recursos de forma a racionar e otimizar o uso de equipamentos e softwares. Servidores e Workstations. Segurança é um desafio, por $XWDUTXLD(GXFDFLRQDOGR9DOHGR6mR)UDQFLVFR± $(96) )DFXOGDGHGH&LrQFLDV6RFLDLVH$SOLFDGDVGH3HWUROLQD± )$&$3( &XUVRGH&LrQFLDVGD&RPSXWDomR $8',725,$'$7(&12/2*,$'$,1)250$d 2 &\QDUD&DUYDOKR F\QDUDFDUYDOKR#\DKRRFRPEU

Leia mais

Arquitetura de BDs Distribuídos. Victor Amorim - vhca Pedro Melo pam2

Arquitetura de BDs Distribuídos. Victor Amorim - vhca Pedro Melo pam2 Victor Amorim - vhca Pedro Melo pam2 Arquitetura de BDs Distribuídos Sistemas de bds distribuídos permitem que aplicações acessem dados de bds locais ou remotos. Podem ser Homogêneos ou Heterogêneos: Homogêneos

Leia mais

Manual de utilização do PJe sem certificado digital

Manual de utilização do PJe sem certificado digital Manual de utilização do PJe sem certificado digital Índice Introdução Restrições de acesso ao usuário que acessar o PJe sem certificado digital Procedimento para criar uma senha de acesso ao sistema sem

Leia mais

BI Citsmart Fornece orientações necessárias para instalação, configuração e utilização do BI Citsmart.

BI Citsmart Fornece orientações necessárias para instalação, configuração e utilização do BI Citsmart. 16/08/2013 BI Citsmart Fornece orientações necessárias para instalação, configuração e utilização do BI Citsmart. Versão 1.0 19/12/2014 Visão Resumida Data Criação 19/12/2014 Versão Documento 1.0 Projeto

Leia mais

Aula Prática - Criptografia. MD5 hash de 128 bits = 16 bytes muito utilizado por softwares com protocolo P2P, verificação de integridade e logins.

Aula Prática - Criptografia. MD5 hash de 128 bits = 16 bytes muito utilizado por softwares com protocolo P2P, verificação de integridade e logins. Redes de Computadores Unioeste Prof. Luiz Antonio 1. Algoritmos MD5 e SHA-1 Aula Prática - Criptografia MD5 hash de 128 bits = 16 bytes muito utilizado por softwares com protocolo P2P, verificação de integridade

Leia mais

3 SERVIÇOS IP. 3.1 Serviços IP e alguns aspectos de segurança

3 SERVIÇOS IP. 3.1 Serviços IP e alguns aspectos de segurança 3 SERVIÇOS IP 3.1 Serviços IP e alguns aspectos de segurança Os serviços IP's são suscetíveis a uma variedade de possíveis ataques, desde ataques passivos (como espionagem) até ataques ativos (como a impossibilidade

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

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

PROTOCOLO 802.1X COM FRERADIUS FACULDADE DE TECNOLOGIA SENAC GOIÁS GESTÃO EM TECNOLOGIA DA INFORMAÇÃO

PROTOCOLO 802.1X COM FRERADIUS FACULDADE DE TECNOLOGIA SENAC GOIÁS GESTÃO EM TECNOLOGIA DA INFORMAÇÃO FACULDADE DE TECNOLOGIA SENAC GOIÁS GESTÃO EM TECNOLOGIA DA INFORMAÇÃO WISLIY LOPES JULIANO PIROZZELLI TULIO TSURUDA LUIZ GUILHERME MENDES PROTOCOLO 802.1X COM FRERADIUS GOIÂNIA JUNHO DE 2014 Sumário 1.

Leia mais

e-stf WebServices Processo Eletrônico Smart Client Documentação

e-stf WebServices Processo Eletrônico Smart Client Documentação SUPREMO TRIBUNAL FEDERAL Secretaria de Tecnologia da Informação e-stf WebServices Processo Eletrônico Smart Client 1 Histórico da Revisão Data Versão Descrição Autor 20/06/2008 1.0 Criação do documento

Leia mais

Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas) Sumário. Java 2 Enterprise Edition. J2EE (Java 2 Enterprise Edition)

Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas) Sumário. Java 2 Enterprise Edition. J2EE (Java 2 Enterprise Edition) Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas) J2EE () Sumário Introdução J2EE () APIs J2EE Web Container: Servlets e JSP Padrão XML 2 J2EE é Uma especificação para servidores

Leia mais

Rotina de Discovery e Inventário

Rotina de Discovery e Inventário 16/08/2013 Rotina de Discovery e Inventário Fornece orientações necessárias para testar a rotina de Discovery e Inventário. Versão 1.0 01/12/2014 Visão Resumida Data Criação 01/12/2014 Versão Documento

Leia mais

Programação Orientada a Objetos com PHP & MySQL Cookies e Sessões. Prof. MSc. Hugo Souza

Programação Orientada a Objetos com PHP & MySQL Cookies e Sessões. Prof. MSc. Hugo Souza Programação Orientada a Objetos com PHP & MySQL Cookies e Sessões Prof. MSc. Hugo Souza Se você precisar manter informações sobre seus usuários enquanto eles navegam pelo seu site, ou até quando eles saem

Leia mais

Manual do Desenvolvedor Criptografia de Arquivos do WebTA

Manual do Desenvolvedor Criptografia de Arquivos do WebTA Manual do Desenvolvedor Criptografia de Arquivos do WebTA Versão 1.4 Índice 1. Objetivo..3 2. Processo..3 3. API de Criptografia - Biblioteca Java..4 3.1 WEBTACryptoUtil..4 3.1.1 decodekeyfile..4 3.1.2

Leia mais

e-stf WebServices Processo Eletrônico Smart Client Manual de Instalação

e-stf WebServices Processo Eletrônico Smart Client Manual de Instalação SUPREMO TRIBUNAL FEDERAL Secretaria de Tecnologia da Informação e-stf WebServices Processo Eletrônico Smart Client 1 Histórico da Revisão Data Versão Descrição Autor 30/07/2008 1.0 Criação do documento

Leia mais

Segurança na Rede Local Redes de Computadores

Segurança na Rede Local Redes de Computadores Ciência da Computação Segurança na Rede Local Redes de Computadores Disciplina de Desenvolvimento de Sotware para Web Professor: Danilo Vido Leonardo Siqueira 20130474 São Paulo 2011 Sumário 1.Introdução...3

Leia mais

Conecta S_Line. 2.2 Downloads Para instalar o Conecta S_Line, basta acessar www.sline.com.br/downloads.aspx

Conecta S_Line. 2.2 Downloads Para instalar o Conecta S_Line, basta acessar www.sline.com.br/downloads.aspx 1 Introdução O Conecta S_Line permite que o laboratório envie à Central S_Line os resultados de exames gerados pelo Sistema de Informação Laboratorial (LIS) em forma de arquivos digitais. Todo o processo

Leia mais

Etc & Tal. Volume 2 - Número 1 - Abril 2009 SBC HORIZONTES 44

Etc & Tal. Volume 2 - Número 1 - Abril 2009 SBC HORIZONTES 44 Armazenando Dados em Aplicações Java Parte 2 de 3: Apresentando as opções Hua Lin Chang Costa, hualin@cos.ufrj.br, COPPE/UFRJ. Leonardo Gresta Paulino Murta, leomurta@ic.uff.br, IC/UFF. Vanessa Braganholo,

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

EIMOBILE INSTITUIÇÕES DE ENSINO MOBILE

EIMOBILE INSTITUIÇÕES DE ENSINO MOBILE UNIVERSIDADE CATÓLICA DE PELOTAS CENTRO POLITÉCNICO TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS EIMOBILE INSTITUIÇÕES DE ENSINO MOBILE por Miguel Aguiar Barbosa Trabalho de curso II submetido como

Leia mais

RAPHAEL MANDARINO JUNIOR Diretor do Departamento de Segurança da Informação e Comunicações

RAPHAEL MANDARINO JUNIOR Diretor do Departamento de Segurança da Informação e Comunicações 16/IN01/DSIC/GSIPR 00 21/NOV/12 1/8 PRESIDÊNCIA DA REPÚBLICA Gabinete de Segurança Institucional Departamento de Segurança da Informação e Comunicações DIRETRIZES PARA DESENVOLVIMENTO E OBTENÇÃO DE SOFTWARE

Leia mais

Lidando de Forma Eficiente com Validações Locais de Objetos

Lidando de Forma Eficiente com Validações Locais de Objetos Lidando de Forma Eficiente com Validações Locais de Objetos Aprenda a construir um mini-framework para validar objetos locais sem afetar a complexidade do código. Autor Paulo César M. N. A. Coutinho (pcmnac@gmail.com):

Leia mais

Autor: Ricardo Francisco Minzé Júnior - ricardominze@yahoo.com.br Desenvolvendo aplicações em camadas com PHP 5.

Autor: Ricardo Francisco Minzé Júnior - ricardominze@yahoo.com.br Desenvolvendo aplicações em camadas com PHP 5. Desenvolvendo aplicações em camadas com PHP 5. Talvez a primeira vista você ache estranha a palavra Camada em programação, mas o que vem a ser Camada? Segundo o dicionário: Camada 1 - Qualquer matéria

Leia mais

Ferramenta: 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 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 mais

ARQUITETURA SISGRAD. Manual de Utilização. Versão: 2.0. Criação: 05 de julho de 2007 Autor: André Penteado

ARQUITETURA SISGRAD. Manual de Utilização. Versão: 2.0. Criação: 05 de julho de 2007 Autor: André Penteado ARQUITETURA SISGRAD Manual de Utilização Versão: 2.0 Criação: 05 de julho de 2007 Autor: André Penteado Última Revisão: 09 de outubro de 2009 Autor: Alessandro Moraes Controle Acadêmico - Arquitetura SISGRAD

Leia mais

Guia de conexão na rede wireless

Guia de conexão na rede wireless 1 Guia de conexão na rede wireless Este documento tem por objetivo orientar novos usuários, não ambientados aos procedimentos necessários, a realizar uma conexão na rede wireless UFBA. A seguir, será descrito

Leia mais

UFG - Instituto de Informática

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

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

Projeto de Redes de Computadores. Desenvolvimento de Estratégias de Segurança e Gerência

Projeto de Redes de Computadores. Desenvolvimento de Estratégias de Segurança e Gerência Desenvolvimento de Estratégias de Segurança e Gerência Segurança e Gerência são aspectos importantes do projeto lógico de uma rede São freqüentemente esquecidos por projetistas por serem consideradas questões

Leia mais

Unidade 9: Middleware JDBC para Criação de Beans

Unidade 9: Middleware JDBC para Criação de Beans Programação Servidor para Sistemas Web 1 Unidade 9: Middleware JDBC para Criação de Beans Implementando MVC Nível 1 Prof. Daniel Caetano Objetivo: Preparar o aluno para construir classes de entidade com

Leia mais

Descrição. Implementação. Departamento de Informática e Estatística Universidade Federal de Santa Catarina LAB 4 Transferência de Arquivos

Descrição. Implementação. Departamento de Informática e Estatística Universidade Federal de Santa Catarina LAB 4 Transferência de Arquivos Departamento de Informática e Estatística Universidade Federal de Santa Catarina LAB 4 Transferência de Arquivos Descrição Implemente nesta atividade de laboratório um programa em Java utilizando threads

Leia mais

Enterprise Java Beans

Enterprise Java Beans Enterprise Java Beans Prof. Pasteur Ottoni de Miranda Junior DCC PUC Minas Disponível em www.pasteurjr.blogspot.com 1-O que é um Enterprise Java Bean? O Entertprise Java Bean (EJB) é um componente server-side

Leia mais

Manual de Instalação. SafeNet Authentication Client 8.2 SP1. (Para MAC OS 10.7)

Manual de Instalação. SafeNet Authentication Client 8.2 SP1. (Para MAC OS 10.7) SafeNet Authentication Client 8.2 SP1 (Para MAC OS 10.7) 2/28 Sumário 1 Introdução... 3 2 Pré-Requisitos Para Instalação... 3 3 Ambientes Homologados... 4 4 Tokens Homologados... 4 5 Instruções de Instalação...

Leia mais

Manual de. instalação. Certificado Digital A1 ou S1

Manual de. instalação. Certificado Digital A1 ou S1 Manual de instalação Certificado Digital A1 ou S1 Sumário O que é? 3 Aplicação 3 Preparando sua máquina 4 1ª configuração: Sistemas Homologados 4 2ª configuração: Perfil de usuário 4 3ª configuração: Hierarquias

Leia mais

Índice. Para encerrar um atendimento (suporte)... 17. Conversa... 17. Adicionar Pessoa (na mesma conversa)... 20

Índice. Para encerrar um atendimento (suporte)... 17. Conversa... 17. Adicionar Pessoa (na mesma conversa)... 20 Guia de utilização Índice Introdução... 3 O que é o sistema BlueTalk... 3 Quem vai utilizar?... 3 A utilização do BlueTalk pelo estagiário do Programa Acessa Escola... 5 A arquitetura do sistema BlueTalk...

Leia mais

Universidade Federal de Goiás Centro de Recursos Computacionais - CERCOMP Divisão de Sistemas. Criação de uma Serviço de Geração de Relatórios

Universidade Federal de Goiás Centro de Recursos Computacionais - CERCOMP Divisão de Sistemas. Criação de uma Serviço de Geração de Relatórios Universidade Federal de Goiás Centro de Recursos Computacionais - CERCOMP Divisão de Sistemas Criação de uma Serviço de Geração de Relatórios Goiânia 12/2011 Versionamento 12/12/2011 Hugo Marciano... 1.0

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

(UFF) JDBC (I) TEPIS II

(UFF) JDBC (I) TEPIS II Aula 20: JDBC (I) Diego Passos Universidade Federal Fluminense Técnicas de Projeto e Implementação de Sistemas II Diego Passos (UFF) JDBC (I) TEPIS II 1 / 33 JDBC: Introdução Especificação que provê acesso

Leia mais

Biometria Instalação de Serviço e Certificado Digital

Biometria Instalação de Serviço e Certificado Digital Objetivo: Instalar o Serviço e o Certificado Digital para a Biometria. Regras de Negócio: A partir desta versão, para utilização da Biometria no Hilum, será necessário instalar na máquina do usuário o

Leia mais

Padrão J2EE Data Access Object (DAO)

Padrão J2EE Data Access Object (DAO) Introdução CRUD DAO Exemplo Padrão J2EE Data Access Object (DAO) Prof. Enzo Seraphim Motivação para usar Componentes precisam acessar e armazenar informações em armazenamento persistente As APIs de armazenamento

Leia mais

Guia de Fatores de Qualidade de OO e Java

Guia de Fatores de Qualidade de OO e Java Qualiti Software Processes Guia de Fatores de Qualidade de OO e Java Versã o 1.0 Este documento só pode ser utilizado para fins educacionais, no Centro de Informática da Universidade Federal de Pernambuco.

Leia mais

DOCUMENTO DE REQUISITOS

DOCUMENTO DE REQUISITOS 1/38 DOCUMENTO DE REQUISITOS GED Gerenciamento Eletrônico de Documentos Versão 1.1 Identificação do Projeto CLIENTE: NOME DO CLIENTE TIPO DO SISTEMA OU PROJETO Participantes Função Email Abilio Patrocinador

Leia mais

PROJETO INTEGRADOR LUIZ DAVI DOS SANTOS SOUZA

PROJETO INTEGRADOR LUIZ DAVI DOS SANTOS SOUZA PROJETO INTEGRADOR LUIZ DAVI DOS SANTOS SOUZA Os serviços IP's citados abaixo são suscetíveis de possíveis ataques, desde ataques passivos (como espionagem) até ataques ativos (como a impossibilidade de

Leia mais

Tutorial Módulo 06 - Segurança

Tutorial Módulo 06 - Segurança LABORATÓRIO 06 Segurança Este laboratório tem por objetivo exercitar o uso do componente de segurança do Framework e uso da especificação JAAS. Objetivos: Uso do Login Module do Componente de Segurança

Leia mais

Forms Authentication em ASP.NET

Forms Authentication em ASP.NET Forms Authentication em ASP.NET Em muitos sites web é necessário restringir selectivamente o acesso a determinadas áreas, ou páginas, enquanto para outras páginas pode permitir-se acesso livre. ASP.NET

Leia mais

SIQ GQF Plugin s WEB (Aplicações WEB) Gestão da Qualidade de Fornecedores

SIQ GQF Plugin s WEB (Aplicações WEB) Gestão da Qualidade de Fornecedores SIQ GQF Plugin s WEB (Aplicações WEB) Gestão da Qualidade de Fornecedores Requerimentos do Software Versão para Microsoft Windows/Unix Dezembro 2006 Bem-Vindo ao to SIQ GQF Plugin s WEB - Gestão da Qualidade

Leia mais

Guia de Atualização PROJURIS WEB 4.5. Manual do Técnico Atualização - ProJuris Web 4.5. Manual do Técnico Atualização - ProJuris Web 4.

Guia de Atualização PROJURIS WEB 4.5. Manual do Técnico Atualização - ProJuris Web 4.5. Manual do Técnico Atualização - ProJuris Web 4. Guia de Atualização PROJURIS WEB 4.5 Por: Fabio Pozzebon Soares Página 1 de 11 Sistema ProJuris é um conjunto de componentes 100% Web, nativamente integrados, e que possuem interface com vários idiomas,

Leia mais

Segurança de Redes de Computadores

Segurança de Redes de Computadores Segurança de Redes de Computadores Aula 10 Segurança na Camadas de Rede Redes Privadas Virtuais (VPN) Prof. Ricardo M. Marcacini ricardo.marcacini@ufms.br Curso: Sistemas de Informação 1º Semestre / 2015

Leia mais

Forefront Server Security Management Console: Gerenciamento Simplificado da Segurança para Mensagens e Colaboração White Paper

Forefront Server Security Management Console: Gerenciamento Simplificado da Segurança para Mensagens e Colaboração White Paper Forefront Server Security Management Console: Gerenciamento Simplificado da Segurança para Mensagens e Colaboração White Paper Outubro de 2007 Resumo Este white paper explica a função do Forefront Server

Leia mais

3 Multi-Agent System for Stock Exchange Simulation

3 Multi-Agent System for Stock Exchange Simulation Multi-Agent System for Stock Exchange Simulation 29 3 Multi-Agent System for Stock Exchange Simulation A participação na competição Agent Reputation Trust (ART) Testbed [10] motivou o estudo do domínio

Leia mais

Java e Banco de Dados: JDBC, Hibernate e JPA

Java e Banco de Dados: JDBC, Hibernate e JPA Java e Banco de Dados: JDBC, Hibernate e JPA 1 Objetivos Apresentar de forma progressiva as diversas alternativas de persistência de dados que foram evoluindo na tecnologia Java, desde o JDBC, passando

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

Manual Comunica S_Line

Manual Comunica S_Line 1 Introdução O permite a comunicação de Arquivos padrão texto entre diferentes pontos, com segurança (dados criptografados e com autenticação) e rastreabilidade, isto é, um CLIENTE pode receber e enviar

Leia mais

Sistema de Ordens de Serviço HDA Soluções em Informática

Sistema de Ordens de Serviço HDA Soluções em Informática UNIVERSIDADE CATÓLICA DE PELOTAS CENTRO POLITÉCNICO Curso Superior de Graduação em ANÁLISE E DESENVOLVIMENTO DE SISTEMAS Sistema de Ordens de Serviço HDA Soluções em Informática Por AUGUSTO CARRICONDE

Leia mais

Índice. http://www.gosoft.com.br/atualiza/gosoftsigadmservico.pdf Versão 4.0

Índice. http://www.gosoft.com.br/atualiza/gosoftsigadmservico.pdf Versão 4.0 Índice I ENVIO DE BOLETOS POR E-MAIL... 2 APRESENTAÇÃO... 2 ALTERAÇÕES NO SIGADM CONDOMÍNIO... 4 ALTERAÇÕES NO SIGADM IMÓVEIS... 6 ALTERAÇÕES NO SIGADM CONCILIAÇÃO BANCÁRIA... 8 ALTERAÇÕES NO SIGADM CONDOMÍNIO

Leia mais

Serviços Remotos Xerox Um passo na direção certa

Serviços Remotos Xerox Um passo na direção certa Serviços Remotos Xerox Um passo na direção certa Diagnóstico de problemas Avaliação dos dados da máquina Pesquisa de defeitos Segurança garantida do cliente 701P41699 Visão geral dos Serviços Remotos Sobre

Leia mais

Tutorial RMI (Remote Method Invocation) por Alabê Duarte

Tutorial RMI (Remote Method Invocation) por Alabê Duarte Tutorial RMI (Remote Method Invocation) por Alabê Duarte Este tutorial explica basicamente como se implementa a API chamada RMI (Remote Method Invocation). O RMI nada mais é que a Invocação de Métodos

Leia mais

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

Programação de Computadores - I. Profª Beatriz Profº Israel Programação de Computadores - I Profª Beatriz Profº Israel As 52 Palavras Reservadas O que são palavras reservadas São palavras que já existem na linguagem Java, e tem sua função já definida. NÃO podem

Leia mais

BOAS PRÁTICAS DE SEGURANÇA EM TECNOLOGIA DA INFORMAÇÃO (TI)

BOAS PRÁTICAS DE SEGURANÇA EM TECNOLOGIA DA INFORMAÇÃO (TI) BOAS PRÁTICAS DE SEGURANÇA EM TECNOLOGIA DA INFORMAÇÃO (TI) André Gustavo Assessor Técnico de Informática MARÇO/2012 Sumário Contextualização Definições Princípios Básicos de Segurança da Informação Ameaças

Leia mais

FERRAMENTAS DE COLABORAÇÃO CORPORATIVA

FERRAMENTAS DE COLABORAÇÃO CORPORATIVA FERRAMENTAS DE COLABORAÇÃO CORPORATIVA Manual de Utilização Google Grupos Sumário (Clique sobre a opção desejada para ir direto à página correspondente) Utilização do Google Grupos Introdução... 3 Página

Leia mais

Arquitetura de uma Webapp

Arquitetura de uma Webapp Arquitetura de uma Webapp Arquitetura J2EE Containers e componentes MVC: introdução Frederico Costa Guedes Pereira 2006 fredguedespereira@gmail.com Plataforma J2EE World Wide Web e a Economia da Informação

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

Instituto de Inovação com TIC. [Junho/ 2009]

Instituto de Inovação com TIC. [Junho/ 2009] Instituto de Inovação com TIC [Junho/ 2009] Segurança em aplicações WEB: A nova fronteira rodrigo.assad@cesar.org.br Redes de Computadores (Histórico) Segurança de Redes (Histórico) Robert Tappan

Leia mais

Requisitos do Sistema

Requisitos do Sistema PJ8D - 017 ProJuris 8 Desktop Requisitos do Sistema PJ8D - 017 P á g i n a 1 Sumario Sumario... 1 Capítulo I - Introdução... 2 1.1 - Objetivo... 2 1.2 - Quem deve ler esse documento... 2 Capítulo II -

Leia mais

GLADIADOR INTERNET CONTROLADA v.1.2.3.9

GLADIADOR INTERNET CONTROLADA v.1.2.3.9 GLADIADOR INTERNET CONTROLADA v.1.2.3.9 Pela grande necessidade de controlar a internet de diversos clientes, a NSC Soluções em Informática desenvolveu um novo produto capaz de gerenciar todos os recursos

Leia mais

6 PLANEJAMENTO DE SI 6.1 Planejamento de Segurança da Informação O planejamento em S.I é algo crucial para que haja o bom funcionamento de uma

6 PLANEJAMENTO DE SI 6.1 Planejamento de Segurança da Informação O planejamento em S.I é algo crucial para que haja o bom funcionamento de uma 6 PLANEJAMENTO DE SI 6.1 Planejamento de Segurança da Informação O planejamento em S.I é algo crucial para que haja o bom funcionamento de uma empresa. Diferente do senso comum o planejamento não se limita

Leia mais

Oracle WebLogic Server 11g: Conceitos Básicos de Administração

Oracle WebLogic Server 11g: Conceitos Básicos de Administração Oracle University Entre em contato: 0800 891 6502 Oracle WebLogic Server 11g: Conceitos Básicos de Administração Duração: 5 Dias Objetivos do Curso Este curso treina administradores Web nas técnicas para

Leia mais

SELinux. Security Enhanced Linux

SELinux. Security Enhanced Linux SELinux Security Enhanced Linux Segurança da Informação A segurança da informação é um conjunto de medidas que se constituem basicamente de controles e política de segurança Objetivando a proteção das

Leia mais

SERVIDOR HOTSPOT PARA HOTÉIS/POUSADAS - SMARTWEB MANUAL DE OPERAÇÕES

SERVIDOR HOTSPOT PARA HOTÉIS/POUSADAS - SMARTWEB MANUAL DE OPERAÇÕES SERVIDOR HOTSPOT PARA HOTÉIS/POUSADAS - SMARTWEB MANUAL DE OPERAÇÕES O SMARTWEB é um servidor baseado na plataforma Mikrotik que permite o gerenciamento e controle de acessos à internet. Libera acesso

Leia mais

Processo de Envio de email

Processo 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 mais

Top Ten OWASP. Fausto Levandoski 1. Curso Tecnólogo em Segurança da Informação Av. Unisinos, 950 93.022-000 São Leopoldo RS Brasil. farole@gmail.

Top Ten OWASP. Fausto Levandoski 1. Curso Tecnólogo em Segurança da Informação Av. Unisinos, 950 93.022-000 São Leopoldo RS Brasil. farole@gmail. Top Ten OWASP Fausto Levandoski 1 1 Universidade do Vale do Rios dos Sinos (UNISINOS) Curso Tecnólogo em Segurança da Informação Av. Unisinos, 950 93.022-000 São Leopoldo RS Brasil farole@gmail.com Abstract.

Leia mais

Manual de Instalação do Agente Citsmart

Manual de Instalação do Agente Citsmart 16/08/2013 Manual de Instalação do Agente Citsmart Fornece orientações necessárias para efetuar a instalação do Agente Citsmart. Versão 1.9 21/11/2014 Visão Resumida Data Criação 21/11/2014 Versão Documento

Leia mais

Manual de Configuração de Ambiente para Utilização do Login via Certificado Digital no Cadastro Web

Manual de Configuração de Ambiente para Utilização do Login via Certificado Digital no Cadastro Web Manual de Configuração de Ambiente para Utilização do Login via Certificado Digital no Cadastro Web AÇÕES IMPORTANTES Ao tentar acessar o Cadastro Web por meio da certificação digital, é fundamental realizar

Leia mais

Um Framework MVC para. Aplicações em Java utilizando Swing.

Um Framework MVC para. Aplicações em Java utilizando Swing. Um Framework MVC para Aplicações em Java utilizando Swing. Alessandro Lemser Curso de Ciência da Computação Universidade do Vale do Itajaí Campus São José São José, SC 88115-100, Brasil alemser@brturbo.com

Leia mais

SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE. Aluno: Roberto Reinert Orientador: Everaldo A. Grahl

SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE. Aluno: Roberto Reinert Orientador: Everaldo A. Grahl SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE Aluno: Roberto Reinert Orientador: Everaldo A. Grahl Roteiro de apresentação Introdução Objetivos Fundamentação Teórica Workflow Processo

Leia mais

Aula 2. Objetivos. Encapsulamento na linguagem Java; Utilizando a referência this.

Aula 2. Objetivos. Encapsulamento na linguagem Java; Utilizando a referência this. Aula 2 Objetivos Encapsulamento na linguagem Java; Utilizando a referência this. Encapsulamento, data hiding é um conceito bastante importante em orientação a objetos. É utilizado para restringir o acesso

Leia mais

ADMINISTRAÇÃO DE SISTEMAS OPERACIONAIS

ADMINISTRAÇÃO DE SISTEMAS OPERACIONAIS ADMINISTRAÇÃO DE SISTEMAS OPERACIONAIS FUNDAMENTOS DE Visão geral sobre o Active Directory Um diretório é uma estrutura hierárquica que armazena informações sobre objetos na rede. Um serviço de diretório,

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Marcelo Lobosco DCC/UFJF Comunicação em Sistemas Distribuídos Aula 06 Agenda Modelo Cliente-Servidor (cont.) Invocação Remota de Método (Remote Method Invocation RMI) Visão Geral

Leia mais

DMS Documento de Modelagem de Sistema. Versão: 1.4

DMS Documento de Modelagem de Sistema. Versão: 1.4 DMS Documento de Modelagem de Sistema Versão: 1.4 VERANEIO Gibson Macedo Denis Carvalho Matheus Pedro Ingrid Cavalcanti Rafael Ribeiro Tabela de Revisões Versão Principais Autores da Versão Data de Término

Leia mais

Planejando uma política de segurança da informação

Planejando uma política de segurança da informação Planejando uma política de segurança da informação Para que se possa planejar uma política de segurança da informação em uma empresa é necessário levantar os Riscos, as Ameaças e as Vulnerabilidades de

Leia mais

Faturamento Eletrônico - CASSEMS

Faturamento Eletrônico - CASSEMS 1 Conteúdo 1. Informações Iniciais... 3 1.1. Sobre o documento... 3 1.2. Organização deste Documento... 3 2. Orientações Básicas... 3 2.1. Sobre o Faturamento Digital... 3 3. Instalação do Sistema... 4

Leia mais

Produto IV: ATU SAAP. Manual de Referência

Produto IV: ATU SAAP. Manual de Referência Produto IV: ATU SAAP Manual de Referência Pablo Nogueira Oliveira Termo de Referência nº 129275 Contrato Número 2008/000988 Brasília, 30 de outubro de 2008 1 Sistema de Apoio à Ativideade Parlamentar SAAP

Leia mais

BCValidador VALIDAÇÃO DE ARQUIVOS XML RECEBIDOS PELO BANCO CENTRAL DO BRASIL

BCValidador VALIDAÇÃO DE ARQUIVOS XML RECEBIDOS PELO BANCO CENTRAL DO BRASIL BCValidador VALIDAÇÃO DE ARQUIVOS XML RECEBIDOS PELO BANCO CENTRAL DO BRASIL Deinf/Dine4 Versão 1.3 20/05/2013 Histórico de Revisão Data Versão Descrição Autor 06/11/2007 1.0 Elaboração da primeira versão

Leia mais

XDR. Solução para Big Data.

XDR. Solução para Big Data. XDR Solução para Big Data. ObJetivo Principal O volume de informações com os quais as empresas de telecomunicações/internet têm que lidar é muito grande, e está em constante crescimento devido à franca

Leia mais

Quarta-feira, 09 de janeiro de 2008

Quarta-feira, 09 de janeiro de 2008 Quarta-feira, 09 de janeiro de 2008 ÍNDICE 3 4 RECOMENDAÇÕES DE HARDWARE PARA O TRACEGP TRACEMONITOR - ATUALIZAÇÃO E VALIDAÇÃO DE LICENÇAS 2 1. Recomendações de Hardware para Instalação do TraceGP Este

Leia mais

Guia de Atualização Release FoccoERP 2014

Guia de Atualização Release FoccoERP 2014 Guia de Atualização Release FoccoERP 2014 02/06/2014 Índice ÍNDICE... 2 APRESENTAÇÃO... 3 INTRODUÇÃO... 4 PROCESSO DE INSTALAÇÃO... 4 ATUALIZANDO UM SEGUNDO AMBIENTE... 21 Página 2 de 22 Apresentação Este

Leia mais