170 likes | 249 Views
Pós-graduação em Banco de Dados para Mercados Corporativos. Programação de Sistemas e Bancos de Dados. Ferramentas e Tecnologias III. Daniel Henriques Moreira dhenriques@gmail.com. Daniel Henriques Moreira dhenriques@gmail.com. Belém, dezembro de 2012. JBoss (1/7). Sítio
E N D
Pós-graduação em Banco de Dadospara Mercados Corporativos Programação de Sistemas e Bancos de Dados Ferramentas e Tecnologias III Daniel Henriques Moreiradhenriques@gmail.com Daniel Henriques Moreiradhenriques@gmail.com Belém, dezembro de 2012
JBoss (1/7) • Sítio • http://www.jboss.org/jbossas.html • Definição (1/2) • Servidor de aplicações, de código aberto • Contêiner de aplicações; • Provê serviços aos softwares contidos • Segurança; • Transferência e tratamento de dados; • Suporte transacional; • Balanceamento de carga; • Etc.
JBoss (2/7) • Definição (2/2) • Funcionamento • Características • Contém implementação da Java EE; • Roda em uma JVM; • Opera em qualquer SO que possua uma JVM.
JBoss (3/7) • Histórico • Em 1999, Marc Fleury implementa, em código aberto, parte da Java EE • EJB-OSS (Enterprise Java Bean Open Source Software); • Em 2001, nome modifica para JBoss • Incorporado à cia. JBoss Group; • De código aberto, mas suporte pago. • Em 2002, é lançado o JBoss AS 3 • Servidor de aplicação com implementação completa da Java EE. • Atualmente, a JBoss Group é divisão da Red Hat; • Versão atual: JBoss AS 7.1.1.
JBoss (4/7) • Versão utilizada no módulo (1/4) • JBoss AS 6 • Contém implementação da API JPA 2 • Já traz bibliotecas do Hibernate. • Contém implementação do framework JSF 2 • Já traz bibliotecas do Mojarra.
JBoss (5/7) • Versão utilizada no módulo (2/4) • Instalação (1/2) • Download: http://www.jboss.org/jbossas/downloads; • Integração com o Eclipse (1/2) • Plugin JBoss Tools • Name: JBoss Tools • Location: http://download.jboss.org/jbosstools/updates/stable/juno/
JBoss (6/7) • Versão utilizada no módulo (3/4) • Instalação (2/2) • Integração com o Eclipse (2/2) • Adição do servidor • >> File > New > Other... Server (2) >> Window > Show View > Other Servers
JBoss (7/7) • Versão utilizada no módulo (4/4) • Configuração • Na pasta do servidor • <pasta-servidor>\server\default\deploy • Adição do driver de acesso ao BD (driver JDBC) • Download do driver da Oracle • http://www.oracle.com/technetwork/database/enterprise-edition/jdbc-10201-088211.html • Adição do arquivo descritor de datasource para abaixar <!– exemplo: oracle-ds.xml --> <?xml version="1.0" encoding="UTF-8"?><datasources> <local-tx-datasource> <jndi-name>OracleDS</jndi-name> <driver-class>oracle.jdbc.OracleDriver</driver-class> <connection-url>jdbc:oracle:thin:@hostname:1521:dbname</connection-url> <user-name>usuario</user-name> <password>senha</password> </local-tx-datasource></datasources>
SVN (1/5) • Sítio • http://subversion.apache.org/ • Definição • Sistema de controle do versionamento de arquivos • Arquivos mantidos em um servidor, com versões controladas • Identificação, ordenação e armazenamento das versões. • Vários editores podem, concorrentemente, desenvolver várias versões dos arquivos controlados • Disponibilidade de comandos de gestão das versões. • Histórico • Em 2000, companhia CollabNet inicia o projeto Subversion • Objetivo: escrever uma versão de código aberto do CVS (Concurrent Versioning System). • Em 2009, Apache incorpora o projeto. • Versão atual: 1.7.7, ainda de código aberto.
SVN (2/5) • Comandos de gestão das versões • Operações realizadas sobre um arquivo • Commit • Inclui uma nova versão de um arquivo no servidor. • Update • Baixa a última versão existente de um arquivo no servidor. • Merge • Sempre que uma edição é feita sobre uma versão de um arquivo que não é a última do servidor, há uma situação de conflito: comando commit fica bloqueado; • Merge indica, para o servidor SVN, ciência do editor sobre a manipulação de versão de um arquivo que não é a última; • Identificação da versão local é igualada à identificação da versão no servidor; • Commit é desbloqueado.
SVN (3/5) • Utilização no módulo (1/3) • Servidor SVN do Google • GoogleCode • http://code.google.com/intl/pt-BR/ • Integração com o Eclipse • Plugin Subclipse (http://subclipse.tigris.org/) • Name: Subclipse • Location: http://subclipse.tigris.org/update_1.8.x
SVN (4/5) • Utilização no módulo (2/3) • Download do projeto psbd (1/2) • File >> New >> Other... • svn • https://psbd.googlecode.com/svn/trunk/
SVN (5/5) • Utilização no módulo (3/3) • Download do projeto psbd (2/2) • Projeto criado a partir do arquétipo Maven do Framework Demoiselledemoiselle-jsf-jpa (2.2.2).
JSF (1/4) • Sítio • http://javaserverfaces.java.net • Definição • Especificação de framework para desenvolvimento de aplicações web • Integra códigos escritos em Java e apresentação de dados em páginas HTML; • Parte da Java EE. • Histórico • Em 2004 é lançada a primeira versão do framework (1.0), como parte de uma JSR, ainda de fora da Java EE; • Em 2006, o framework é incluído na Java EE 5, sob a versão (1.2); • Em 2009, o framework é incluído na Java EE 6, sob a versão (2.0); • Versão atual: 2.1, com JSR 2.2 conduzindoversão 2.2.
JSF (2/4) • Características (1/2) • Adoção do conceito de ManagedBeans (MBs) • Objetos JavaBeans que podem ser chamados diretamente de uma página HTML • Acesso a valores de atributos; • Execução de métodos. • Controle de escopo dos ManagedBeans • Manutenção do escopo conforme configuração • Escopo de sessão; • Escopo de aplicação; • Etc. • Adoção da tecnologia Ajax • Páginas podem modificar sua renderização sem necessidade de enviar novas requisições ao servidor.
JSF (3/4) • Características (2/2) • Disponibilidade de várias bibliotecas de componentes para constituição da interface de usuário • JBoss RichFaces; • Apache MyFaces; • PrimeFaces; • Etc.
JSF (4/4) • Utilização no módulo • Instalação • Arquétipo Maven do Framework Demoiselledemoiselle-jsf-jpa (2.2.2) já traz as bibliotecas necessárias. • Implementação • Mojarra, já incluída no servidor de aplicação JBoss AS 6. • Componentes de UI • PrimeFaces (http://primefaces.org/) • Dependência no arquivo descritor do projeto (pom.xml) (...)<dependency> <groupId>org.primefaces</groupId> <artifactId>primefaces</artifactId> <scope>compile</scope></dependency>(...)