[1] O documento descreve os serviços básicos de localização de recursos no Java EE, incluindo localização de componentes, fontes de dados e objetos compartilhados através da interface JNDI.
[2] JNDI permite associar nomes a recursos computacionais como objetos e referências, e localizar recursos a partir de seus nomes. Contextos formam um sistema de nomes hierárquico onde objetos podem ser mapeados.
[3] O documento explica conceitos-chave de JNDI como contextos, sistemas de nomes,
O documento discute coleções em Java, abordando tópicos como vetores, listas, conjuntos, mapas, iteradores e classes relacionadas. É apresentada a interface Collection e suas subclasses principais (List e Set), com exemplos de implementações como ArrayList, LinkedList, HashSet e HashMap.
1) O Hibernate é uma ferramenta que mapeia classes Java para tabelas de banco de dados e controla o ciclo de vida dos objetos entre os dois ambientes. 2) Ele implementa padrões como DAO e Work-Of-Unit e pode ser usado como JPA. 3) O Hibernate oferece recursos como mapeamento, herança, relacionamentos, consultas e transações.
O documento apresenta sobre o framework Spring Data JPA. Resume:
1) O Spring Data JPA simplifica o acesso a dados, diminuindo código repetitivo através da interface JpaRepository, que permite consultas personalizadas com métodos de nomeação;
2) As consultas são mapeadas automaticamente através de convenções de nomes ou queries declaradas;
3) Tópicos avançados incluem auditoria, especificações e QueryDSL para consultas complexas.
O documento resume os principais componentes do Zend Framework, incluindo componentes para autenticação, banco de dados, busca, log, email, filtragem e validação, formulários, internacionalização, MVC e web services. O documento também discute padrões de codificação e referências para o Zend Framework.
Este documento resume os principais tópicos da especificação Java EE 6, incluindo novidades como JAX-RS, CDI e Bean Validation, além de detalhar conceitos como mapeamento de entidades JPA, tipos de relacionamentos, estratégias de herança e cache.
Este documento fornece uma introdução à Java Persistence API (JPA), abordando tópicos como: 1) relacionamentos entre objetos; 2) mapeamento objeto-relacional; 3) introdução prática com um exemplo "Hello World" utilizando JPA.
Aqui são apresentados conceitos básicos sobre o paradigma web. Simples e rápido.
/**Depois que entrei no mundo Java, começei a procurar por conteúdo na internet para estudar, então me deparei com um ótimo site, http://www.argonavis.com.br, de um grande cara chamado Helder Rocha, que disponibiliza este mesmo conteúdo em seu site também. Obrigado pela ajuda a comunidade.*/
Aqui são apresentados conceitos básicos a plataforma Java. Simples e rápido.
/**Depois que entrei no mundo Java, começei a procurar por conteúdo na internet para estudar, então me deparei com um ótimo site, http://www.argonavis.com.br, de um grande cara chamado Helder Rocha, que disponibiliza este mesmo conteúdo em seu site também. Obrigado pela ajuda a comunidade.*/
O documento discute coleções em Java, abordando tópicos como vetores, listas, conjuntos, mapas, iteradores e classes relacionadas. É apresentada a interface Collection e suas subclasses principais (List e Set), com exemplos de implementações como ArrayList, LinkedList, HashSet e HashMap.
1) O Hibernate é uma ferramenta que mapeia classes Java para tabelas de banco de dados e controla o ciclo de vida dos objetos entre os dois ambientes. 2) Ele implementa padrões como DAO e Work-Of-Unit e pode ser usado como JPA. 3) O Hibernate oferece recursos como mapeamento, herança, relacionamentos, consultas e transações.
O documento apresenta sobre o framework Spring Data JPA. Resume:
1) O Spring Data JPA simplifica o acesso a dados, diminuindo código repetitivo através da interface JpaRepository, que permite consultas personalizadas com métodos de nomeação;
2) As consultas são mapeadas automaticamente através de convenções de nomes ou queries declaradas;
3) Tópicos avançados incluem auditoria, especificações e QueryDSL para consultas complexas.
O documento resume os principais componentes do Zend Framework, incluindo componentes para autenticação, banco de dados, busca, log, email, filtragem e validação, formulários, internacionalização, MVC e web services. O documento também discute padrões de codificação e referências para o Zend Framework.
Este documento resume os principais tópicos da especificação Java EE 6, incluindo novidades como JAX-RS, CDI e Bean Validation, além de detalhar conceitos como mapeamento de entidades JPA, tipos de relacionamentos, estratégias de herança e cache.
Este documento fornece uma introdução à Java Persistence API (JPA), abordando tópicos como: 1) relacionamentos entre objetos; 2) mapeamento objeto-relacional; 3) introdução prática com um exemplo "Hello World" utilizando JPA.
Aqui são apresentados conceitos básicos sobre o paradigma web. Simples e rápido.
/**Depois que entrei no mundo Java, começei a procurar por conteúdo na internet para estudar, então me deparei com um ótimo site, http://www.argonavis.com.br, de um grande cara chamado Helder Rocha, que disponibiliza este mesmo conteúdo em seu site também. Obrigado pela ajuda a comunidade.*/
Aqui são apresentados conceitos básicos a plataforma Java. Simples e rápido.
/**Depois que entrei no mundo Java, começei a procurar por conteúdo na internet para estudar, então me deparei com um ótimo site, http://www.argonavis.com.br, de um grande cara chamado Helder Rocha, que disponibiliza este mesmo conteúdo em seu site também. Obrigado pela ajuda a comunidade.*/
Curso de RESTful WebServices em Java com JAX-RS (Java EE 7)Helder da Rocha
Este documento fornece um tutorial sobre o desenvolvimento de serviços web RESTful usando a especificação JAX-RS no Java EE 7. Explica conceitos como recursos, métodos HTTP, templates de caminho e anotações para mapear recursos e métodos. Também fornece exemplos simples de implementação de recursos RESTful com JAX-RS.
O documento resume as principais características do MongoDB, um banco de dados NoSQL orientado a documentos e esquema-livre. Ele explica que o MongoDB é escalável, de alto desempenho e open source, armazena dados em formato de documentos JSON ou BSON, permite esquemas flexíveis e não requer migrations. Além disso, ressalta que as propriedades ACID ficam a cargo do programador e apresenta alguns comandos básicos para usar o MongoDB via terminal.
Este documento fornece um resumo sobre WebServlets de acordo com a especificação Java EE 7. Ele contém informações sobre aplicações Web, WebServlets, requisições e respostas HTTP, URLs e redirecionamento, contexto da aplicação, sessão do cliente, filtros interceptadores e arquitetura MVC.
O documento apresenta uma introdução à biblioteca jQuery, descrevendo suas principais funcionalidades como simplificar a manipulação de elementos HTML, tratamento de eventos e interações assíncronas. Explica também como jQuery permite interpretar documentos como objetos e coleções de objetos, facilitando a seleção, filtragem e manipulação de elementos. Por fim, resume os principais métodos de jQuery para seleção, iteração, manipulação do DOM e tratamento de eventos.
1. O documento discute os conceitos e mecanismos de segurança padrão no Java EE, incluindo autenticação, autorização e comunicação segura.
2. São descritos os principais componentes de segurança como realms, principals, roles e as APIs de autenticação como BASIC, DIGEST e FORM.
3. São explicados os processos de autenticação na camada web e em componentes EJB, assim como o uso de SSL/TLS para comunicação segura.
Este documento apresenta Spring Data JPA, um framework que simplifica o acesso a dados persistidos em bancos de dados relacionais através do Java Persistence API (JPA). O framework diminui o código repetitivo de repositórios de dados através de interfaces que estendem funcionalidades CRUD e métodos de consulta definidos por convenção. Ao criar interfaces de repositório, o próprio Spring Data gera implementações que executam consultas ao banco de dados.
O documento discute autenticação centralizada usando o protocolo LDAP (Lightweight Directory Access Protocol). O palestrante Bruno Cavalcante Barbosa explica o que é autenticação e diretórios, como o LDAP funciona, exemplos de implementações como OpenLDAP, e como integrar sistemas com diretórios LDAP.
O documento descreve como criar e usar Critérios em Java para selecionar objetos de acordo com filtros especificados. Critérios permitem adicionar restrições e ordenações para retornar resultados relevantes de uma consulta. O documento também explica como projetar propriedades específicas e agregar resultados usando Critérios.
Estrutura de Dados e Algoritmos com Java #13-18: Pilhas (Stack)Loiane Groner
O documento apresenta uma introdução sobre pilhas (stacks) como estrutura de dados. Explica o conceito de pilha e LIFO (último a entrar, primeiro a sair). Detalha os principais métodos para implementar uma pilha em Java, como empilhar, desempilhar, verificar topo e verificar se está vazia. Apresenta também a classe Stack da API Java.
Estrutura de Dados e Algoritmos com Java #19-25: Filas (Queue)Loiane Groner
➤ O documento discute filas (queues) como uma estrutura de dados, incluindo a definição de filas, o comportamento FIFO (first-in, first-out), e como implementar operações básicas como enfileirar (queue), espiar (peek) e desenfileirar (dequeue) elementos. Também apresenta a API Java Queue e PriorityQueue para filas.
O documento discute tópicos relacionados ao LDAP, incluindo a anatomia de esquemas, trabalhando com banco de dados SQL como backend, políticas de senha e dicas para melhorar o desempenho e segurança do OpenLDAP.
Desenvolvimento de apps e games para android parte 8Erisvaldo Junior
O documento discute o desenvolvimento de aplicativos e jogos para Android, focando em três tópicos: 1) controladores para ler arquivos XML e obter conteúdo de redes sociais, 2) serviços web RESTful e como consumi-los em aplicativos Android, 3) provedores de conteúdo e envio de SMS.
O documento discute os conceitos e princípios da análise orientada a objetos. Ele define análise como o estudo do domínio de um problema para especificar comportamentos externos. A análise orientada a objetos tem como objetivos formalizar uma visão do mundo real e formalizar a colaboração entre objetos. Ele também descreve princípios como qualquer coisa é um objeto, objetos realizam tarefas através de serviços, classes agrupam objetos similares e classes são organizadas em hierarquias.
- nome
- salario
Professor:
- titulacao
- departamento
ProfessorAssistente:
- herda de Assistant e Professor
Crie objetos de cada classe e imprima seus atributos.
Curso de Java Persistence API (JPA) (Java EE 7)Helder da Rocha
Este documento fornece um tutorial sobre a tecnologia Java Persistence API (JPA) de acordo com a especificação Java EE 7. Resume os principais conceitos de JPA como mapeamento objeto-relacional, configuração da camada de persistência e exemplos de mapeamento de entidades usando anotações ou arquivos XML. Também fornece informações sobre exercícios práticos que serão realizados usando diferentes provedores de persistência e bancos de dados.
Tutorial aed iii 003 - algoritmo de ordenação shellsortFlávio Freitas
Este documento discute ordenação de dados usando o algoritmo Shellsort. Apresenta situações especiais como ordenação por índices ou ponteiros para evitar movimentação dos dados. Também fornece exercícios resolvidos e propostos sobre implementação do Shellsort e remoção de duplicatas em arrays.
Servidor de Autenticação Centralizada com OpenLDAP - Thiago FinardiTchelinux
Na palestra será demonstrado o funcionamento de uma base LDAP, explicando a organização e como os registros são armazenados na base. Ao final será mostrado um exemplo ao vivo de integração de autenticação de serviços na base LDAP.
O documento discute as principais novidades do PHP 5, incluindo: (1) Orientação a objetos com interfaces, herança abstrata e encapsulamento; (2) Banco de dados SQLite para armazenamento em arquivo de texto; (3) Manipulação de XML com DOM, SimpleXML e XPath.
O documento apresenta os fundamentos da programação concorrente em Java, abordando tópicos como threads, classes Thread e Runnable, controle de threads, deadlocks e comunicação entre threads usando wait() e notify(). É apresentado um exemplo de produtor-consumidor usando uma pilha compartilhada para ilustrar o uso desses conceitos.
JavaFX e Scala - Como Leite com BolachaRafael Afonso
Apresentação do projeto ScalaFX (http://code.google.com/p/scalafx/) para o JustJava 2012 em 19/05/2012. Traduzida da apresentação de Stephen Chin e Luc Duponcheel para o Scala Days em 17/04/2012.
O documento discute objetos distribuídos em Java, abordando tecnologias como Enterprise JavaBeans, Java RMI, RMI-IIOP e CORBA. Apresenta os principais conceitos e etapas para desenvolvimento de aplicações distribuídas nessas tecnologias.
Este documento descreve as características dos entity beans com persistência gerenciada pelo container (CMP) em EJB. Em três frases: (1) CMP permite que o programador se concentre apenas na lógica de negócios, sem ter que lidar diretamente com a persistência; (2) O container gera automaticamente o código para realizar operações de banco de dados, como criação de tabelas e implementação de métodos de acesso; (3) As consultas aos dados são feitas através da linguagem EJB-QL, mapeada pelo container para SQL.
Curso de RESTful WebServices em Java com JAX-RS (Java EE 7)Helder da Rocha
Este documento fornece um tutorial sobre o desenvolvimento de serviços web RESTful usando a especificação JAX-RS no Java EE 7. Explica conceitos como recursos, métodos HTTP, templates de caminho e anotações para mapear recursos e métodos. Também fornece exemplos simples de implementação de recursos RESTful com JAX-RS.
O documento resume as principais características do MongoDB, um banco de dados NoSQL orientado a documentos e esquema-livre. Ele explica que o MongoDB é escalável, de alto desempenho e open source, armazena dados em formato de documentos JSON ou BSON, permite esquemas flexíveis e não requer migrations. Além disso, ressalta que as propriedades ACID ficam a cargo do programador e apresenta alguns comandos básicos para usar o MongoDB via terminal.
Este documento fornece um resumo sobre WebServlets de acordo com a especificação Java EE 7. Ele contém informações sobre aplicações Web, WebServlets, requisições e respostas HTTP, URLs e redirecionamento, contexto da aplicação, sessão do cliente, filtros interceptadores e arquitetura MVC.
O documento apresenta uma introdução à biblioteca jQuery, descrevendo suas principais funcionalidades como simplificar a manipulação de elementos HTML, tratamento de eventos e interações assíncronas. Explica também como jQuery permite interpretar documentos como objetos e coleções de objetos, facilitando a seleção, filtragem e manipulação de elementos. Por fim, resume os principais métodos de jQuery para seleção, iteração, manipulação do DOM e tratamento de eventos.
1. O documento discute os conceitos e mecanismos de segurança padrão no Java EE, incluindo autenticação, autorização e comunicação segura.
2. São descritos os principais componentes de segurança como realms, principals, roles e as APIs de autenticação como BASIC, DIGEST e FORM.
3. São explicados os processos de autenticação na camada web e em componentes EJB, assim como o uso de SSL/TLS para comunicação segura.
Este documento apresenta Spring Data JPA, um framework que simplifica o acesso a dados persistidos em bancos de dados relacionais através do Java Persistence API (JPA). O framework diminui o código repetitivo de repositórios de dados através de interfaces que estendem funcionalidades CRUD e métodos de consulta definidos por convenção. Ao criar interfaces de repositório, o próprio Spring Data gera implementações que executam consultas ao banco de dados.
O documento discute autenticação centralizada usando o protocolo LDAP (Lightweight Directory Access Protocol). O palestrante Bruno Cavalcante Barbosa explica o que é autenticação e diretórios, como o LDAP funciona, exemplos de implementações como OpenLDAP, e como integrar sistemas com diretórios LDAP.
O documento descreve como criar e usar Critérios em Java para selecionar objetos de acordo com filtros especificados. Critérios permitem adicionar restrições e ordenações para retornar resultados relevantes de uma consulta. O documento também explica como projetar propriedades específicas e agregar resultados usando Critérios.
Estrutura de Dados e Algoritmos com Java #13-18: Pilhas (Stack)Loiane Groner
O documento apresenta uma introdução sobre pilhas (stacks) como estrutura de dados. Explica o conceito de pilha e LIFO (último a entrar, primeiro a sair). Detalha os principais métodos para implementar uma pilha em Java, como empilhar, desempilhar, verificar topo e verificar se está vazia. Apresenta também a classe Stack da API Java.
Estrutura de Dados e Algoritmos com Java #19-25: Filas (Queue)Loiane Groner
➤ O documento discute filas (queues) como uma estrutura de dados, incluindo a definição de filas, o comportamento FIFO (first-in, first-out), e como implementar operações básicas como enfileirar (queue), espiar (peek) e desenfileirar (dequeue) elementos. Também apresenta a API Java Queue e PriorityQueue para filas.
O documento discute tópicos relacionados ao LDAP, incluindo a anatomia de esquemas, trabalhando com banco de dados SQL como backend, políticas de senha e dicas para melhorar o desempenho e segurança do OpenLDAP.
Desenvolvimento de apps e games para android parte 8Erisvaldo Junior
O documento discute o desenvolvimento de aplicativos e jogos para Android, focando em três tópicos: 1) controladores para ler arquivos XML e obter conteúdo de redes sociais, 2) serviços web RESTful e como consumi-los em aplicativos Android, 3) provedores de conteúdo e envio de SMS.
O documento discute os conceitos e princípios da análise orientada a objetos. Ele define análise como o estudo do domínio de um problema para especificar comportamentos externos. A análise orientada a objetos tem como objetivos formalizar uma visão do mundo real e formalizar a colaboração entre objetos. Ele também descreve princípios como qualquer coisa é um objeto, objetos realizam tarefas através de serviços, classes agrupam objetos similares e classes são organizadas em hierarquias.
- nome
- salario
Professor:
- titulacao
- departamento
ProfessorAssistente:
- herda de Assistant e Professor
Crie objetos de cada classe e imprima seus atributos.
Curso de Java Persistence API (JPA) (Java EE 7)Helder da Rocha
Este documento fornece um tutorial sobre a tecnologia Java Persistence API (JPA) de acordo com a especificação Java EE 7. Resume os principais conceitos de JPA como mapeamento objeto-relacional, configuração da camada de persistência e exemplos de mapeamento de entidades usando anotações ou arquivos XML. Também fornece informações sobre exercícios práticos que serão realizados usando diferentes provedores de persistência e bancos de dados.
Tutorial aed iii 003 - algoritmo de ordenação shellsortFlávio Freitas
Este documento discute ordenação de dados usando o algoritmo Shellsort. Apresenta situações especiais como ordenação por índices ou ponteiros para evitar movimentação dos dados. Também fornece exercícios resolvidos e propostos sobre implementação do Shellsort e remoção de duplicatas em arrays.
Servidor de Autenticação Centralizada com OpenLDAP - Thiago FinardiTchelinux
Na palestra será demonstrado o funcionamento de uma base LDAP, explicando a organização e como os registros são armazenados na base. Ao final será mostrado um exemplo ao vivo de integração de autenticação de serviços na base LDAP.
O documento discute as principais novidades do PHP 5, incluindo: (1) Orientação a objetos com interfaces, herança abstrata e encapsulamento; (2) Banco de dados SQLite para armazenamento em arquivo de texto; (3) Manipulação de XML com DOM, SimpleXML e XPath.
O documento apresenta os fundamentos da programação concorrente em Java, abordando tópicos como threads, classes Thread e Runnable, controle de threads, deadlocks e comunicação entre threads usando wait() e notify(). É apresentado um exemplo de produtor-consumidor usando uma pilha compartilhada para ilustrar o uso desses conceitos.
JavaFX e Scala - Como Leite com BolachaRafael Afonso
Apresentação do projeto ScalaFX (http://code.google.com/p/scalafx/) para o JustJava 2012 em 19/05/2012. Traduzida da apresentação de Stephen Chin e Luc Duponcheel para o Scala Days em 17/04/2012.
O documento discute objetos distribuídos em Java, abordando tecnologias como Enterprise JavaBeans, Java RMI, RMI-IIOP e CORBA. Apresenta os principais conceitos e etapas para desenvolvimento de aplicações distribuídas nessas tecnologias.
Este documento descreve as características dos entity beans com persistência gerenciada pelo container (CMP) em EJB. Em três frases: (1) CMP permite que o programador se concentre apenas na lógica de negócios, sem ter que lidar diretamente com a persistência; (2) O container gera automaticamente o código para realizar operações de banco de dados, como criação de tabelas e implementação de métodos de acesso; (3) As consultas aos dados são feitas através da linguagem EJB-QL, mapeada pelo container para SQL.
O documento introduz a ferramenta Apache Ant, que é usada para gerenciar projetos Java de forma automatizada através de arquivos XML. Ant permite compilar, empacotar, testar e implantar aplicações de forma independente de IDEs. Ele executa tarefas como compilação, geração de documentação e empacotamento usando roteiros definidos em arquivos XML chamados buildfiles.
Las reglas de netiqueta tratan de regular la conducta de los usuarios en internet para que sean educados y respetuosos. Algunas de las reglas principales incluyen tratar a los demás con respeto, ser razonable y ético para no afectar a otros, y ser conscientes de los límites de lo permitido en cada sitio o chat.
Este documento presenta un proyecto para crear un móvil inspirado en la obra de arte "El amor del colibrí" de Manuel Ocaranza, con el objetivo de promover y vender obras del Museo Nacional de Arte. Describe el proceso de diseño del móvil, incluidos los bocetos, módulos, empaque y folleto promocional. También resume la biografía de Ocaranza, la obra de arte en sí, y el mercado objetivo y estrategia de marketing para el móvil.
Este documento fornece uma introdução aos principais componentes e conceitos dos Enterprise JavaBeans (EJB), incluindo:
1) Os componentes necessários para implantar um EJB corretamente são uma classe bean, interfaces, descritor de implantação.
2) As classes bean implementam a lógica de negócios e podem acessar o contexto do EJB através da interface EJBContext.
3) Os interceptadores EJBObject e EJBHome gerados pelo container permitem acesso remoto e local aos beans e implementam serviços do EJB.
Este documento discute Entity Beans no Java EE. [1] Introduz conceitos básicos de Entity Beans como objetos persistentes que representam dados armazenados em bancos de dados. [2] Apresenta os tipos de Entity Beans (BMP e CMP) e explica como eles sincronizam instâncias em memória com dados no banco de dados. [3] Fornece exemplos de interfaces, classes primárias e métodos para criar e acessar Entity Beans.
O documento descreve os conceitos de Stateful Session Beans no Java EE, incluindo: 1) Stateful Session Beans mantêm estado entre chamadas de método através de ativação e passivação; 2) Métodos como ejbCreate(), ejbRemove(), ejbPassivate() e ejbActivate() são implementados; 3) O ciclo de vida de um Stateful Session Bean é gerenciado pelo container.
O documento descreve os conceitos básicos de objetos remotos em Java usando RMI. Ele explica que objetos remotos permitem que métodos sejam chamados remotamente como se fossem locais, e que RMI usa proxies e stubs para abstrair a complexidade da comunicação em rede. Ele também resume os 10 passos principais para implementar objetos remotos em RMI: 1) definir a interface remota, 2) implementar o objeto remoto, 3) estabelecer um servidor, 4) compilar, 5) gerar stubs e skeletons, 6) escrever e compilar o
O documento descreve o que é o Hibernate, um framework de mapeamento objeto-relacional para Java que mapeia classes Java para tabelas de banco de dados. Ele explica os conceitos básicos de mapeamento objeto-relacional e fornece um exemplo inicial de como configurar e usar o Hibernate para salvar objetos no banco de dados.
O documento fornece um resumo sobre JDBC (Java Database Connectivity), descrevendo suas principais características como uma interface baseada em Java para acesso a bancos de dados através de SQL e apresentando conceitos como DriverManager, Connection, Statement, ResultSet e transações.
O documento fornece um resumo sobre o framework JDBC no Java, descrevendo suas principais características como interface baseada em Java para acesso a bancos de dados através de SQL e como permite integrar aplicações Java com bancos de dados relacionais.
O documento discute vários tópicos avançados de desenvolvimento Java, incluindo composição e agregação de objetos, testes unitários com JUnit, classes File e Streams de entrada/saída, parsing de XML, acesso a bancos de dados com JDBC e geração de templates XML com FreeMarker.
Desenvolvimento de Apps e Games para Android - Partes 6 e 7 (Preview)Erisvaldo Junior
O documento discute o uso do BackupManager no Android para armazenar dados na nuvem sem necessidade de banco de dados externo. Explica como usar o BackupManager com SharedPreferences para armazenar configurações e informações simples na nuvem e garantir que os dados não sejam perdidos mesmo após reinstalação do aplicativo. Também aborda brevemente o uso de banco de dados SQLite no Android.
O documento descreve o modelo de objetos ADO.NET, que fornece classes para conexões e manipulação de dados relacionais de forma conectada ou desconectada. Inclui classes para conexões, comandos, leitura e atualização de dados, além de classes para armazenamento e manipulação de dados desconectados em DataSet.
Padrões de projeto - Martin Fowler - P of EAAAricelio Souza
O documento apresenta uma introdução aos padrões de projeto de software descritos no livro "Patterns of Enterprise Application Architecture" de Martin Fowler. São descritos brevemente os padrões Lazy Load, Separated Interface, Value Object, Query Object, Repository, Identity Map, Unity of Work, Active Record e Service Layer.
Este documento discute bancos de dados orientados a objetos, comparando-os com bancos de dados relacionais tradicionais. Ele apresenta as vantagens dos bancos de dados orientados a objetos, como suporte nativo a objetos e dados complexos. O documento também analisa duas opções de bancos de dados orientados a objetos disponíveis no mercado: Jasmine e POET. Finalmente, discute o processo de desenvolvimento de um sistema utilizando bancos de dados orientados a objetos.
O documento explica como utilizar os componentes DBExpress do Delphi/Kylix para acesso ao banco de dados Firebird, descrevendo cada um dos principais componentes como SQLConnection, SQLDataSet, SQLQuery, SQLStoredProc e SQLTable.
O Hibernate é um framework para mapeamento objeto-relacional escrito em Java que facilita o mapeamento entre bancos de dados relacionais e classes Java, gerando automaticamente consultas SQL. Ele permite desenvolver aplicações Java com persistência de dados de forma transparente através de arquivos de configuração e mapeamento.
LINQ - Language integrated Query - é um conjunto de recursos introduzidos no .NET Framework 3.5 que permitem a realização de consultas diretamente em base de dados , documentos XML , estrutura de dados , coleção de objetos ,etc. usando uma sintaxe parecida com a linguagem SQL.
Atenção você precisa do Visual Studio 2008 ou o Visual Web Developer 2008 Express (.NET Framework 3.5) instalado
O documento apresenta o framework Grails para desenvolvimento web. Grails é construído em cima do Spring e foca em produtividade através de convenções, ferramentas de código e linguagem dinâmica Groovy. O documento descreve os principais componentes de Grails como modelagem de domínio, mapeamento objeto-relacional, serviços, scripts de criação e plugins.
Apresentação em Projeto de Sistemas – Entity FrameworkMatteus Barbosa
Apresentação em Projeto de Sistemas, no curso de Graduação em Sistemas de Informação, na PUC Minas no campus Barreiro.
Relatório com informações valiosas para programadores que desejam conhecer o potencial da ferramenta para persistência Entity Framework. Acesse https://www.desenvolvedormatteus.com.br/ para conhecer as soluções da web disponíveis para seu negócio.
Este documento apresenta os conceitos básicos de programação orientada a objetos em Java. Aborda tópicos como classes, objetos, atributos, métodos, variáveis locais e globais. Inclui exemplos de como declarar classes, criar objetos, definir métodos e utilizar modificadores de acesso.
O documento fornece uma introdução ao .NET Framework, descrevendo seu objetivo de fornecer um ambiente de programação orientado a objetos e consistente. Ele também descreve algumas das classes mais importantes do .NET Framework, incluindo Console, Math, Random e Environment.
Gestão automática de configuração usando puppetDaniel Sobral
O documento apresenta Daniel Sobral e seu trabalho com gestão automática de configuração usando Puppet. Ele explica quem ele é, os objetivos da apresentação e dá uma visão geral de como o Puppet funciona, incluindo recursos, catálogos e a organização de elementos como sites, nós, módulos e classes.
JDBC é uma interface Java para acesso a bancos de dados através de SQL. O documento explica os fundamentos de JDBC, incluindo como estabelecer conexões, executar consultas, processar resultados e fechar conexões. Também discute drivers JDBC, transações, prepared statements, stored procedures e recursos relacionados a metadados.
1) O documento discute a arquitetura de aplicações web usando servlets e containers como o Tomcat.
2) Servlets precisam de containers para gerenciar seu ciclo de vida e fornecer funcionalidades como suporte a múltiplas threads e segurança.
3) Containers mapeiam URLs para servlets específicos e gerenciam o fluxo de requisições e respostas HTTP.
O documento descreve o framework Hibernate, que mapeia objetos Java para tabelas de banco de dados. Hibernate permite o acesso a dados persistentes através de objetos Java simples, sem necessidade de escrever código SQL complexo. Ele suporta diversos bancos de dados e possui arquitetura baseada em sessões e transações. Hibernate também pode ser configurado através de anotações ou arquivos XML.
Este documento fornece informações sobre como construir aplicações gráficas e applets em Java. Ele discute as bibliotecas AWT e Swing para interfaces gráficas, componentes como JFrame e JButton, layouts como FlowLayout e BorderLayout, e como criar applets e aplicações que podem rodar tanto no navegador quanto em uma janela standalone.
O documento discute classes internas em Java, incluindo suas quatro categorias (classes dentro de instruções, métodos, objetos e estáticas) e seus usos. Classes internas podem ser usadas para maior reutilização de código e flexibilidade, mas também aumentam a complexidade do código.
O documento discute entrada e saída de dados em Java, abordando classes como File, InputStream, OutputStream, Reader, Writer e RandomAccessFile para manipulação de arquivos e fluxos de dados. Também apresenta tópicos como serialização de objetos, compactação com GZIP e recursos básicos de logging.
O documento discute coleções em Java, incluindo vetores, listas, conjuntos e mapas. Ele explica como manipular e ordenar coleções usando a API Collections e classes como ArrayList, LinkedList, HashSet e TreeMap. Além disso, aborda tópicos como interfaces Collection e Map, comparáveis e comparadores.
O documento apresenta os fundamentos da programação concorrente em Java, discutindo tópicos como threads, classes Thread e Runnable, controle de threads, deadlocks e comunicação entre threads usando wait() e notify(). É apresentado um exemplo de produtor-consumidor usando uma pilha compartilhada para ilustrar o uso desses conceitos.
Este documento fornece uma introdução aos testes de unidade com a ferramenta JUnit em Java. Ele discute os objetivos e benefícios dos testes de unidade, apresenta os conceitos fundamentais do JUnit e fornece exemplos de como implementar testes com JUnit.
O documento discute o controle de erros em Java usando exceções. Resumidamente:
1. Exceções são objetos que sinalizam condições excepcionais em tempo de execução e podem ser capturadas usando blocos try-catch.
2. Há três tipos principais de erros em tempo de execução: erros de lógica, erros devido a condições ambientais, e erros graves onde não há recuperação possível.
3. Exceções podem ser lançadas usando throw e capturadas em métodos an
O documento descreve os conceitos de polimorfismo e interfaces em Java. [1] Polimorfismo permite que objetos de subclasses sejam usados no lugar de objetos da classe pai, desde que implementem a mesma interface. [2] Isso garante que programas podem usar objetos de forma genérica através de interfaces, sem precisar conhecer as subclasses específicas.
O documento discute técnicas de reuso em Java, como herança e composição. Apresenta quando usar cada uma e como implementá-las corretamente, incluindo o uso de modificadores como public, protected, private e final.
Este documento fornece um resumo sobre o Apache Ant, uma ferramenta para gerenciamento de projetos Java baseada em arquivos XML. O documento explica como o Apache Ant pode ser usado para automatizar tarefas como compilação, empacotamento, documentação e teste.
Este documento discute pacotes e encapsulamento em Java, abordando os principais pacotes da API Java como java.lang e java.util, além de explicar como criar pacotes e classes em Java, implementando métodos como equals() e clone().
Este documento discute conceitos importantes sobre construção de classes e objetos em Java, incluindo: 1) como criar construtores e sobrecarregá-los; 2) o uso de this() e super() em construtores; 3) problemas com a inicialização de objetos.
Este documento discute operadores e estruturas de controle de fluxo na linguagem Java. Ele explora os tipos de operadores matemáticos, lógicos e de atribuição, bem como estruturas como if/else, for loops e while loops. O documento também discute conversão e promoção de tipos, além de operadores como instanceof.
O documento fornece instruções sobre como usar a documentação da API Java, explicando onde ela está localizada na instalação do Java SDK, como navegar pela documentação online e encontrar classes, métodos e detalhes técnicos. Ele também apresenta exemplos de como gerar documentação JavaDoc para classes personalizadas.
Este documento fornece instruções para configurar um ambiente de desenvolvimento Java usando ferramentas open-source como JEdit, Ant e JDK. Ele descreve como instalar e personalizar essas ferramentas, criar projetos no JEdit, usar plug-ins e executar compilações com Ant. O documento também discute problemas comuns e alternativas de IDEs.
Este documento fornece um resumo dos principais conceitos de programação orientada a objetos em Java, incluindo:
(1) Conceitos como classe, objeto, atributo, método e interface;
(2) Características da OO como abstração, encapsulamento, herança e polimorfismo;
(3) Sintaxe Java para construção de classes e objetos.
O documento fornece uma introdução à tecnologia Java, abordando seus principais conceitos e ferramentas. Em 3 frases:
Apresenta os conceitos fundamentais da linguagem Java, como classes, objetos e APIs, além da máquina virtual Java. Detalha as ferramentas do SDK para desenvolvimento de aplicações Java, como o compilador javac e interpretador java. Fornece exemplos práticos de aplicações Java simples para familiarizar o leitor com os conceitos apresentados.
Este documento fornece uma introdução aos conceitos básicos de programação de rede em Java, cobrindo classes como Socket, ServerSocket e URL. Ele explica como criar clientes e servidores TCP/IP, ler e escrever dados de conexões e endereçamento na Internet. O documento também inclui exercícios para aplicar os conceitos aprendidos.
Este documento descreve uma aplicação J2EE completa como exemplo para um laboratório sobre EJB e J2EE. A aplicação simula uma loja online simples com relacionamentos entre entidades como Produto, Cliente e Compra. Inclui entity beans, session beans, message-driven beans, tabelas no banco de dados, interfaces, deploy e testes de clientes.
Este documento resume um módulo sobre a ferramenta XDoclet, que permite gerar automaticamente artefatos Java como EJBs a partir de código-fonte e comentários Javadoc. O documento explica como configurar o XDoclet no Ant, criar templates, e usar a tarefa EJBDocletTask para gerar interfaces, deployment descriptors e outros arquivos para EJBs.
As classes de modelagem podem ser comparadas a moldes ou
formas que definem as características e os comportamentos dos
objetos criados a partir delas. Vale traçar um paralelo com o projeto de
um automóvel. Os engenheiros definem as medidas, a quantidade de
portas, a potência do motor, a localização do estepe, dentre outras
descrições necessárias para a fabricação de um veículo
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...Faga1939
Este artigo tem por objetivo apresentar como ocorreu a evolução do consumo e da produção de energia desde a pré-história até os tempos atuais, bem como propor o futuro da energia requerido para o mundo. Da pré-história até o século XVIII predominou o uso de fontes renováveis de energia como a madeira, o vento e a energia hidráulica. Do século XVIII até a era contemporânea, os combustíveis fósseis predominaram com o carvão e o petróleo, mas seu uso chegará ao fim provavelmente a partir do século XXI para evitar a mudança climática catastrófica global resultante de sua utilização ao emitir gases do efeito estufa responsáveis pelo aquecimento global. Com o fim da era dos combustíveis fósseis virá a era das fontes renováveis de energia quando prevalecerá a utilização da energia hidrelétrica, energia solar, energia eólica, energia das marés, energia das ondas, energia geotérmica, energia da biomassa e energia do hidrogênio. Não existem dúvidas de que as atividades humanas sobre a Terra provocam alterações no meio ambiente em que vivemos. Muitos destes impactos ambientais são provenientes da geração, manuseio e uso da energia com o uso de combustíveis fósseis. A principal razão para a existência desses impactos ambientais reside no fato de que o consumo mundial de energia primária proveniente de fontes não renováveis (petróleo, carvão, gás natural e nuclear) corresponde a aproximadamente 88% do total, cabendo apenas 12% às fontes renováveis. Independentemente das várias soluções que venham a ser adotadas para eliminar ou mitigar as causas do efeito estufa, a mais importante ação é, sem dúvidas, a adoção de medidas que contribuam para a eliminação ou redução do consumo de combustíveis fósseis na produção de energia, bem como para seu uso mais eficiente nos transportes, na indústria, na agropecuária e nas cidades (residências e comércio), haja vista que o uso e a produção de energia são responsáveis por 57% dos gases de estufa emitidos pela atividade humana. Neste sentido, é imprescindível a implantação de um sistema de energia sustentável no mundo. Em um sistema de energia sustentável, a matriz energética mundial só deveria contar com fontes de energia limpa e renováveis (hidroelétrica, solar, eólica, hidrogênio, geotérmica, das marés, das ondas e biomassa), não devendo contar, portanto, com o uso dos combustíveis fósseis (petróleo, carvão e gás natural).
Em um mundo cada vez mais digital, a segurança da informação tornou-se essencial para proteger dados pessoais e empresariais contra ameaças cibernéticas. Nesta apresentação, abordaremos os principais conceitos e práticas de segurança digital, incluindo o reconhecimento de ameaças comuns, como malware e phishing, e a implementação de medidas de proteção e mitigação para vazamento de senhas.
A linguagem C# aproveita conceitos de muitas outras linguagens,
mas especialmente de C++ e Java. Sua sintaxe é relativamente fácil, o que
diminui o tempo de aprendizado. Todos os programas desenvolvidos devem
ser compilados, gerando um arquivo com a extensão DLL ou EXE. Isso torna a
execução dos programas mais rápida se comparados com as linguagens de
script (VBScript , JavaScript) que atualmente utilizamos na internet
1. J530 - Enterprise JavaBeans
Serviços distribuídos:
JNDI e
persistência
Helder da Rocha (helder@acm.org)
argonavis.com.br
1
2. Objetivos
Este módulo descreve os serviços básicos para
localização de recursos em J2EE
Localização de componentes (servlets, EJBs)
Localização de fontes de dados (bancos, filas, pilhas)
Objetos compartilhados
Recursos são localizados através da interface JNDI Java Naming and Directory Interface
Este módulo descreve o uso básico de JNDI
Para maiores detalhes e sobre o uso de JNDI independente
de um servidor de aplicações, consulte slides do minicurso
J523, que explora outros detalhes de JNDI
Alguns exercícios foram adaptados do JNDI Tutorial da Sun
2
3. Serviço de nomes
A principal função de um serviço de nomes é permitir a
associação de um nome (ou uma outra representação
alternativa mais simples) a recursos computacionais como
endereços de memória, de rede, de serviços
objetos e referências
códigos em geral
Suas duas funções básicas são
Associar (mapear) um nome a um recurso
Localizar um recurso a partir de seu nome
Exemplos
Sistema de arquivos: liga caminho a bloco(s) de memória:
c:tempdados.txt
16A0:0C00
Sistema DNS: liga nome de domínio a endereço IP:
www.argonavis.com.br
200.206.192.193
3
4. Contextos e Sistemas de Nomes
Um contexto é um conjunto de ligações nome-objeto
Em outras palavras, é um objeto que tem zero ou mais ligações
Se o objeto (referência) contido no contexto for também um
contexto ele é um subcontexto
O escopo do subcontexto é limitado pelo seu contexto pai
Exemplos de contextos e subcontextos:
/usr/bin/java/
usr é o contexto; bin é subcontexto de usr, ...
www.abc.com.br
br é o contexto, com é subcontexto de br, ...
Um sistema de nomes é um conjunto interligado de
contextos que respeitam a mesma convenção e possuem um
conjunto comum de operações
4
5. Diretórios e Serviços de Diretório
Diretório: conjunto interligado de objetos
Organização não precisa ser hierárquica (contextual)
Para cada item há um nome unívoco (chave)
Cada item possui um ou mais atributos
Um serviço de diretório oferece operações para criar,
remover, modificar e principalmente pesquisar atributos
associados a objetos em um diretório
Um atributo possui
Um identificador
Conjunto de valores
Um tipo: restringe os dados que um atributo pode receber
Sistemas de nomes são frequentemente estendidos com
serviços de diretório
5
6. JNDI
Java Naming and Directory Interface é uma ponte
sobre os diversos serviços de nomes e diretórios diferentes
Vantagens
Só é preciso aprender uma única API para acessar vários tipos
de informação de serviços de diretório
Isola a aplicação dos detalhes específicos do protocolo
Pode ser usada para ler objetos Java (serializados) que
estejam armazenados em um diretório
Pode combinar diferentes tipos de diretório (federação) e
tratá-los como um diretório único
Componentes
API - Application Programming Interface
SPI - Service Provider Interface que permite que novos serviços
sejam plugados transparentemente
6
7. Arquitetura JNDI
Aplicação Java
JNDI API
Pacote
javax.naming
Naming Manager
JNDI Service Provider Interface (SPI)
NDS
SP
FileSystem
SP
NDS
Sistema de
Arquivos
Fonte: JNDI Tutorial
LDAP
SP
LDAP
DNS
SP
RMI
SP
Corba
SP
WinReg
SP
Service
Providers
DNS
RMI
Registry
COS
Naming
Windows
Registry
Sistemas de
Nomes e
Diretórios
7
8. JNDI API
A API JNDI está incluída no J2SDK 1.3 ou posterior nos
pacotes e subpacotes descendentes de javax.naming.
Para usar JNDI é preciso ter
As classes e interfaces do JNDI (pacotes javax.naming.*)
Pelo menos um provedor de serviços JNDI (driver)
O Java 2 SDK inclui provedores de serviço (SPs) para
LDAP - Lightweight Directory Access Protocol
CORBA - Common ORB Architecture e COS name service
Java RMI Registry
Outros provedores de serviços (para sistema de arquivos,
para DNS, para JDBC, para Windows Registry, etc.) podem
ser encontrados a partir do site
http://java.sun.com/products/jndi/serviceproviders.html
8
9. Principais classes
A API JNDI consiste de cinco pacotes
O principal pacote é javax.naming que contém as
principais classes e interfaces
Context: interface onde se pode recuperar, ligar, desligar e
renomear objetos, e criar e destruir contextos
InitialContext: ponto de partida (raiz) para todas as operações
Name: abstração de um nome. Contém geralmente um String de
texto que corresponde ao nome do objeto ou contexto
NameClassPair: contém nome do objeto e de sua classe
Binding: contém nome do objeto ligado, nome da classe do objeto
e o próprio objeto
Reference: abstração de uma referência para um objeto
NamingEnumeration: um tipo de java.util.Enumeration usado para
colecionar componentes de um contexto
NamingException: principal exceção do JNDI
9
10. Contexto inicial
Precisa ser obtido antes de qualquer operação. Passos:
1: selecionar o provedor de serviços
Properties env = new Properties();
env.put(Context.INITIAL_CONTEXT_FACTORY,
"classe.do.ProvedorDeServicos");
2: configurar o acesso ao serviço
env.put(Context.PROVIDER_URL, "ldap://xyz.com:389");
env.put(Context.OUTRA_PROPRIEDADE, "valor"); (...)
3: criar um objeto para representar o contexto
Context ctx = new InitialContext(env);
A configuração (1, 2) pode ser feita via propriedades do sistema
Passadas em linha de comando via argumento -Dprop=valor
Carregados via arquivos de propriedades
Principais propriedades
java.naming.factory.initial:
java.naming.provider.url:
Context.INITIAL_CONTEXT_FACTORY
Context.PROVIDER_URL
10
11. Arquivo jndi.properties
Uma outra forma de definir propriedades usadas pelos
clientes JNDI, é através de um arquivo jndi.properties
Um arquivo com este nome deve ser colocado no CLASSPATH da
aplicação cliente
Ao inicializar o ambiente com InitialContext(), não passe nenhum
parâmetro no construtor. O class loader irá procurar um arquivo
jndi.properties no CLASSPATH e carregará as propriedades que
estiverem definidas dentro dele
Por exemplo, um arquivo pode conter
java.naming.factory.initial=
com.sun.jndi.fscontext.RefFSContextFactory
java.naming.provider.url=file:/cap02/lab/filesys
Para inicializar o sistema com essas propriedades, use
Context ctx = new InitialContext();
11
12. Recuperação de objetos (lookup)
Para obter a referência para um objeto de um contexto usa-se
o método lookup()
Para usar o objeto retornado é preciso conhecer o seu tipo e fazer o
cast (ou narrow, se objeto remoto) para promover a referência
Se o objeto for um contexto, lookup() age como um método para
mudar de contexto (como o chdir, em Unix)
Exemplo
O método lookup() usando com o provedor de serviço fscontext
retorna um java.io.File pelo nome de arquivo
Serviço de nomes para
sistema de arquivos
env.put(Context.INITIAL_CONTEXT_FACTORY,
"com.sun.jndi.fscontext.RefFSContextFactory");
env.put(Context.PROVIDER_URL,
Diretório raiz do serviço
"file:/cap02/lab/filesys");
Context ctx = new InitialContext(env);
File f = (File)ctx.lookup("report.txt");
Arquivo localizado
na raiz do serviço
12
13. Listagem do conteúdo de contextos
Em vez de obter um objeto de cada vez via lookup(), pode-se
obter uma lista deles
Método list() retorna uma lista (NamingEnumeration) de pares
nome / nome_da_classe (objetos do tipo NameClassPair)
NamingEnumeration lista = ctx.list("awt");
while (lista.hasMore()) {
NameClassPair nc = (NameClassPair)lista.next();
System.out.println(nc);
}
Trecho de List.java
Método listBindings() retorna uma lista de ligações
nome / objeto (Binding)
NamingEnumeration lista = ctx.listBindings("awt");
while (lista.hasMore()) {
Binding bd = (Binding)lista.next();
System.out.println(bd.getName() + ": " + bd.getObject());
}
Trecho de ListBindings.java
13
14. Modificação de ligações, objetos e contextos
Adicionando ligações
Fruit fruit = new Fruit("orange");
ctx.bind("favorite", fruit);
Bind.java
Substituindo ligações
Fruit fruit = new Fruit("lemon");
ctx.rebind("favorite", fruit);
Rebind.java
Removendo ligações
ctx.unbind("favorite");
Unbind.java
Renomeando objetos
ctx.rename("report.txt", "old_report.txt");
Criando novos contextos
Context result = ctx.createSubcontext("new");
Rename.java
Create.java
Destruindo contextos
ctx.destroySubcontext("new");
Rode List ou ListBindings após cada operação para ver os resultados
Destroy.java
14
15. Provedores de serviços para objetos
Pode-se usar JNDI para mapear nomes a objetos
Objetos localizáveis por nome podem ser abstraídos do
contexto ou até linguagem em que são usados
Aplicações diferentes podem compartilhar objetos
Dois drivers JNDI estão disponíveis para acesso a
objetos distribuídos no J2SDK
SPI CORBA (COS Naming): permite localização de objetos
CORBA (serializados em um formato independende de
linguagem) - usado em RMI-IIOP (EJB)
com.sun.jndi.cosnaming.CNCtxFactory
SPI RMI: permite a localização de objetos Java serializados
(objetos pode ser usados por outras aplicações Java)
com.sun.jndi.rmi.registry.RegistryContextFactory
15
16. Objetos RMI
Proprieades a definir
java.naming.factory.initial ou Context.INITIAL_CONTEXT_FACTORY
com.sun.jndi.rmi.registry.RegistryContextFactory
java.naming.provider.url ou Context.PROVIDER_URL
rmi://nome_do_host:1099 (endereço e porta do RMI Registry)
Mapeamento
Context ctx = new InitialContext();
Fruit fruit = new Fruit("orange");
ctx.bind("favorite", fruit);
Localização
Context ctx = new InitialContext();
Fruit fruit = (Fruit) ctx.lookup("favorite");
16
17. Objetos CORBA (RMI sobre IIOP)
Proprieades a definir
java.naming.factory.initial ou Context.INITIAL_CONTEXT_FACTORY
com.sun.jndi.cosnaming.CNCtxFactory
java.naming.provider.url ou Context.PROVIDER_URL
iiop://nome_do_host:1900 (endereço e porta do ORB)
Mapeamento
Context ctx = new InitialContext();
Fruit fruit = new Fruit("orange");
ctx.bind("favorite", fruit);
Localização
Converte objeto CORBA
em objeto Java
Context ctx = new InitialContext();
Object corbaFruit = ctx.lookup("favorite");
Object javaFruit =
javax.rmi.PortableRemoteObject.narrow(corbaFruit,
Fruit.class);
Fruit fruit = (Fruit)javaFruit;
17
18. Serviço JNDI no JBoss
Pode-se usar bind() e lookup() para armazenar e localizar
objetos no servidor JNDI do JBoss
Componentes Web e EJB são mapeados (bound)
automaticamente, durante a implantação (o servidor usa
informações no web.xml, ejb-jar.xml e outros arquivos de
configuração existentes)
Para verificar os mapeamentos JNDI existentes, acesse o
serviço JNDIView em http://localhost:8080/jmx-console
18
19. Fontes de dados
No JBoss, pools de conexões de bancos de dados são
acessíveis no servidor através de objetos DataSource,
publicadas no JNDI abaixo no namespace java:/
java:/CloudscapeDB
java:/OracleDB
Os nomes são configurados nos arquivos *-ds.xml do
JBoss (localizados em deploy)
Para acessar um banco existente no servidor use JNDI
e nome definido no *-service.xml correspondente
Context ctx = new InitialContext();
javax.sql.DataSource ds = (javax.sql.DataSource)
ctx.lookup("java:/DefaultDS");
java.sql.Connection = ds.getConnection();
19
20. Banco HSQLDB
O JBoss traz embutido o banco de dados HSQLDB
(ex-HyperSonic)
Para acessar o banco através de JNDI, use
java:/DefaultDS
DefaultDS é um nome genérico para designar a
fonte de dados default do servidor
Pode ser configurada para apontar para outro banco
Pode haver outras fontes de dados criadas para o mesmo
banco ou bancos diferentes no servidor
Para consultar ou alterar usuario, senha, driver ou
outras configurações de acesso ao HSQLDB, utilize o
arquivo hsqldb-ds.xml, localizado em deploy.
20
21. Configuração Default do HSQLDB
JNDI Name:
DefaultDS
JDBC URL:
jdbc:hsqldb:hsql://localhost:1701
Driver:
$JBOSS_HOME/server/default/lib/hsqldb.jar
Driver class:
org.hsqldb.jdbcDriver
Arquivo de configuração JCA:
$JBOSS_HOME/server/default/deploy/hsqldb-ds.xml
Nível de isolamento suportado para transações:
TRANSACTION_READ_UNCOMMITTED
User-name:
sa
Password:
(nada)
Min-pool-size:
5
Security domain:
HsqlDbRealm
21
22. Enterprise Naming Context
Cada EJB e cada aplicação Web tem um namespace próprio
para compartilhar objetos usando JNDI
java:comp/env
É chamado de Enterprise Naming Context (ENC)
É mapeado ao JNDI global durante a implantação: permite que
componentes de uma mesma aplicação firmem ligações lógicas
entre si sem depender de recursos externos
Nomes do ENC são mapeados a nomes JNDI reais pelo deployer
Acesso java:comp/env não é compartilhado: cada bean ou contexto
Web tem o seu: é preciso declarar nomes usados em cada bean!
Forma recomendada de comunicação em J2EE
Componentes Web e EJBs devem obter referências uns para os
outros através de java:comp/env
Objeto obj =
(Objeto)ctx.lookup("java:comp/env/meuObjeto");
22
23. Exercícios
1. Publicação de objetos referenciáveis em JNDI
a) Crie a seguinte hierarquia de contextos e objetos (Fruit) usando
as classes fornecidas e o driver JNDI do JBoss (para criar um objeto,
use new normalmente)
frutas
vermelhas
morango
cereja
citricas
banana
limão
laranja
b) Localize a estrutura criada através do serviço JNDIView
2. Enterprise Naming Context (java:comp/env)
a) Analise o código do exemplo mostrado no primeiro capítulo e
localize as chamadas java:comp/env em index.jsp, referências a
EJBs no web.xml e mapeamentos com nomes globais em jboss.xml
b) Ache os nomes e mapeamentos no JNDIView
23
24. Fontes para este capítulo
[1] Rossana
Lee. The JNDI Tutorial, Sun Microsystems, 2002
http://java.sun.com/products/jndi/tutorial/
Parte deste capítulo é baseada nas primeiras duas seções (trilhas) do JNDI Tutorial.
[2]
Ed Roman et al. Mastering EJB 2.0, Wiley, 2001
http://www.theserverside.com/books/masteringEJB/index.jsp
Apêndice A tem um breve e objetivo tutorial sobre JNDI
24