De fato, o caminho mais eficiente para se construir uma solução é não construí-la, reutilizando uma existente.

Documentos relacionados
Aula 11 Bibliotecas de função

GUIA RÁPIDO DE CONFIGURAÇÃO PARA WINDOWS

Vensis PCP. Rua Américo Vespúcio, 71 Porto Alegre / RS (51) comercial@vensis.com.br

WEB MANAGER. Conhecendo o Web Manager!

PAULO ALVIM TIRANDO O MÁXIMO DO JAVA EE 6 OPEN SOURCE. 3ª edição. com jcompany Developer Suite

Manual de Instalação e Configuração

EIKON DOCUMENTS - ESPECIFICAÇÃO TÉCNICA

Manual de Instalação

Academia FI Finanças

MANUAL DE INSTALAÇÃO

Agenda. A interface de Agendamento é encontrada no Modulo Salão de Vendas Agendamento Controle de Agendamento, e será apresentada conforme figura 01.

Manual. Autorizador da UNIMED

FKcorreiosg2_cp1 - Complemento Transportadoras

Principais Informações

Versões Todos os módulos devem ser atualizados para as versões a partir de 03 de outubro de 2013.

SGCT - Sistema de Gerenciamento de Conferências Tecnológicas

PDF Livre com o Ghostscript

SMART CONTROLE DO ESTOQUE DE GONDOLA

1 Criando uma conta no EndNote

Boletim Técnico. CAGED Portaria 1129/2014 MTE. Procedimento para Implementação. Procedimento para Utilização

Vensis Manutenção. Rua Américo Vespúcio, 71 Porto Alegre / RS (51) comercial@vensis.com.br

Design Patterns ABSTRACT FACTORY EMERSON BARROS DE MENESES

Nascia um novo nicho de mercado: o dos Ambientes Integrados de Desenvolvimento, ou IDEs (Integrated Development Environment).

2º Passo Criar a conexão via ODBC (Object DataBase Conection)

Os novos usos da tecnologia da informação nas empresas Sistemas de Informação

Novo Sistema Almoxarifado

com jcompany Extensions Capítulo Expandindo o Poder do jcompany Developer Suite - Entendendo as melhores práticas de customização

HARDWARE e SOFTWARE. O Computador é composto por duas partes: uma parte física (hardware) e outra parte lógica (software).

Versão 4.0. Central IT Governança Corporativa PROJETO 78. Documento de Entrega. Fábrica. Deploy Beta. Produto: CitSmart GRP

ALTERAÇÕES NO SISTEMA ORION

PROPOSTA DE DESENVOLVIMENTO

Workflow. José Palazzo Moreira de Oliveira. Mirella Moura Moro

Anexo V. Software de Registro Eletrônico em Saúde. Implantação em 2 (duas) Unidades de Saúde

INTRODUÇÃO A LOGICA DE PROGRAMAÇÃO

Tutorial de criação de um blog no Blogger

Código: Data: Revisão: Página: SUMÁRIO

III.3. SISTEMAS HÍBRIDOS FIBRA/COAXIAL (HFC)

UNIVERSIDADE FEDERAL DE RONDÔNIA

Processo TCar Balanço Móbile

Soluções Benefix para Varejo (NFC-e)

FRWTC-220 DESENVOLVIMENTO DE APLICAÇÕES JAVA WEB

MANUAL DO USUÁRIO FINANCEIRO

Guia Sphinx: Instalação, Reposição e Renovação

Event Viewer - Criando um Custom View

CURSO PREPARATÓRIO PARA CERTIFICAÇÃO

com jcompany Extensions Capítulo Expandindo o Poder do jcompany Developer Suite - Entendendo as melhores práticas de customização

PIM TECNOLOGIA EM GERENCIAMENTO DE REDES DE COMPUTADORES (GR3P30)

Versão 14.0 Junho Contato: Representação mais detalhada da operação em cada estágio: 21 blocos

Projetos, Programas e Portfólios

3 Formulação da Metodologia 3.1. Considerações Iniciais

Matemática / 1ª série / ICC Prof. Eduardo. Unidade 1: Fundamentos. 1 - Introdução ao Computador

BANKSYNC ALGORITMO PARA GERAÇÃO DO CÓDIGO DE BARRAS (DLL)

TESTE DE SOFTWARE (Versão 2.0)

Operação Metalose orientações básicas à população

Modelo de Negócios. TRABALHO REALIZADO POR: Antonio Gome // Jorge Teixeira

Proposta. Projeto: VENSSO. Data 25/05/2005. Andrade Lima Damires Fernandes Andrade Lima Damires Fernandes. Responsável. Autor (s)

Módulo. A.Apresentação

UNIVERSIDADE ESTADUAL DE CAMPINAS FACULDADE DE CIÊNCIAS APLICADAS Cidade Universitária de Limeira

Developer Suite. Capítulo. As oportunidades do ebusiness

WEBSITE LOJAS JOMÓVEIS

Informática II INFORMÁTICA II

Plano de aulas ª série 1ª aula 2ª etapa

Plano de curso Planejamento e Controle da Manutenção de Máquinas e Equipamentos

Manual do Novo Pátio. Revenda. Versão 2.0

Desenho centrado em utilização

SDK (Software Development Kit) do Microsoft Kinect para Windows

MANUAL DE PROCEDIMENTOS

Modelagem, qualificação e distribuição em um padrão para geoinformações

CONCORRÊNCIA AA Nº 05/2009 BNDES ANEXO II PROJETO BÁSICO: JORNADA AGIR

Metodologia de Desenvolvimento de Sistemas

Disciplina: Programação III Conteúdo: Programação Orientada a Objetos Linguagem JAVA Página: 184

Procedimentos para o uso de TI no DRH

RECOMENDAÇÕES GERAIS PARA AQUISIÇÃO DE IMAGENS RADIOLÓGICAS PARA CRIAÇÃO DE RÉPLICAS FETAIS ATRAVÉS DE IMPRESSÃO 3D

Os Oito Principais de Sistemas de

Integração com coletores de ponto, catracas, dispositivos de abertura de portas, fechaduras eletromagnéticas,

Integração com coletores de ponto, catracas, dispositivos de abertura de portas, fechaduras eletromagnéticas,

Manual de configuração. Exemplo de instalação e configuração do banco de dados Postgree e ODBC para reconhecimento de imagens no SARA.

MIT Kerberos V5 Diogo Dias João Soares

de Desenvolvimento Capítulo Introdução Estudo de Evolução de Arquiteturas de Software Java EE - Reúso de Arquitetura de Software

Um «site Internet» para aprimorar a atuação do Estado e fomentar a comercialização da madeira manejada do interior do Amazonas RESUMO EXECUTIVO

Transformadores. Transformadores 1.1- INTRODUÇÃO 1.2- PRINCÍPIO DE FUNCIONAMENTO

GUIA DE RELACIONAMENTO MT-COR: 001 Revisão: 000

Passo 1 - Conheça as vantagens do employeeship para a empresa

Roteiro de Implantação Estoque

5. PLANEJAMENTO E ORGANIZAÇÃO DA MANUTENÇÃO:

Administração de Redes Servidores de Aplicação

Regulamento para realização do Trabalho de Conclusão de Curso

Notas de Aplicação. Utilização do conversor RS232/RS485 (PMC712) com controladores HI. HI Tecnologia. Documento de acesso público

Universidade Luterana do Brasil Faculdade de Informática. Disciplina de Engenharia de Software Professor Luís Fernando Garcia

COMO CONFIGURAR SUA(S) CONTA(S) NO MICROSOFT OFFICE OUTLOOK

Cursos Profissionais de Nível Secundário (Decreto-Lei n.º 74/2004, de 26 de Março)

MTUR Sistema FISCON. Manual do Usuário

ESCOPO DETALHADO - CO Modelos 3D e Vinhetas Animadas

MANUAL DOS GESTORES DAA

Capítulo V. Técnicas de Análise de Circuitos

MVC Model View Controller Model View Controller MVC Model lógica de negócios estará presente View Controller

Processos de Apoio do Grupo Consultivo 5.5 Suporte Informático Direito de Acesso à Rede

BIRT Viewer. Capítulo. Entendendo o BIRT Viewer. - Visualizando o relatório em múltiplos formatos

Projeto de Arquitetura Objetivos. Tópicos abordados. Arquitetura de software. Vantagens da arquitetura explícita

GUIA RÁPIDO DE CONFIGURAÇÃO PARA LINUX

Transcrição:

A6Instaland jcmpany Capítul 2 Gerência de Cnfiguraçã em Java EE Open Surce - Reús x Geraçã de Códig A mairia ds arquitets e desenvlvedres de sftware atualmente busca salts de prdutividade e qualidade através da prmessa da Orientaçã a Objets (OO): Reús. De fat, caminh mais eficiente para se cnstruir uma sluçã é nã cnstruí-la, reutilizand uma existente. Uma utra pssibilidade que pderia ser encarada cm alternativa a reús seria a geraçã de códig em suas várias variantes: MDA *, plugins de IDE, geraçã via templates (snippets), dentre utras. Mas fat é que nã deveríams esclher entre reús e geraçã de códig, mas ns precupar em cmbinar aprpriadamente estas técnicas. A geraçã de códig utilizada preccemente para prduzir códigs que pderiam ser generalizads em framewrks, pr exempl, traz resultads medícres u desastrss n médi praz. Pr utr lad, nem tud é generalizável e nem smente de classes Java sã cmpsts s artefats Java EE. Prtant, antes de pensarms em geraçã de códig deveríams maximizar a fatraçã d códig em td segment generalizável, utilizand principalmente a Orientaçã a Objets. Smente entã, após esta etapa e sbre esta camada genérica, uma estratégia de geraçã de códig seria adequada, seja para prduzir códig Java específic, nã generalizável, seja para prduzir artefats nã-java. O jcmpany utiliza esta estratégia: A parte Java é especialmente tratada pr Orientaçã a Objets, cm técnicas diversas de generalizaçã pel módul jcmpany Full Stack Framewrk, vltadas para maximizaçã d reús. Sbre a camada acima, s artefats Java EE tais cm páginas XHTML, mensagens, cnfigurações XML e declarações (antações) para mapeament Objet-Relacinal e metadads, nã generalizáveis, têm sua prduçã apiada pr abrdagens de geraçã de artefats através d módul jcmpany IDE. Mas há um efeit clateral nrmalmente negligenciad, típics de ambientes OO cm alt índice de reús, que trna esta discussã especialmente relevante para nss capítul: quant mair índice de reús, mais cmplexas se trnam as exigências de Gerência de Cnfiguraçã, especialmente atividades de Cntrle de Versões. - Reús x Gerenciament de Cnfiguraçã e Cntrle de Versões A se prmver reús, deve-se esperar pr um aument cnsiderável da cmplexidade n que diz respeit à rganizaçã de prjets de desenvlviment e prduçã. Iss envlve móduls, cmpnentes (JAR) interns e externs, cntrats e implementações, rganizaçã de artefats nã Java (CSS, Javascript/Ajax), arquiteturas de liberaçã, remtas (SOA) u nã, e pr aí vams. * Mdel Driven Architecture. Transfrmações e Geraçã de Códig a partir de Mdels, tipicamente UML.

Capítul A2 E esta cmplexidade deve ser mantida, íntegra, a lng d temp, em versões subsequentes ds prjets. Cm váris ds cmpnentes reutilizads sfrerã evluções individualmente, demandarã uma prvável cnvivência entre gerações, u seja, d mesm cmpnente cm diferentes versões simultâneas, cnvivend em diferentes instâncias de aplicações. Se a cmplexidade da Gerência de Cnfiguraçã incluind sua principal subdivisã, Cntrle de Versões - nã fr gerenciada aprpriadamente, pde subtrair ba parte ds ganhs inicialmente percebids a partir d reús, além de impedir ganhs ptenciais. E iss é especialmente verdadeir em um desenvlviment Java EE Open Surce, nde cmpnentes sã reutilizads em granularidade fina. Algumas empresas ficam se perguntand pr que a prdutividade esperada nã está crrend. Algumas das causas certamente sã rganizações simplificadas ds prjets e ambientes de desenvlviment u, n extrem pst, arquiteturas excessivamente cmplicadas, ineficazes e cnfusas. Felizmente, a utilizarms jcmpany também estarems reutilizand sluções pré-cnfiguradas e terceirizand ba parte da prblemática d cntrle de versões! O jcmpany, em si, reusa melhres práticas sugeridas nesta área, através de ferramentas tais cm Maven, especializand-as para ferecer um bm pnt de partida para adequações. A rganizaçã de prjets sugerida pel jcmpany para aplicações principais, móduls, camada Bridge etc., juntamente cm as rtinas de empactament baseadas ns arquivs POM d Maven, sã especialmente cncebidas para maximizar reús. A idéia é permitir que, mesm prjets iniciais tenham um espaç mínim de arquitetura que s permita escalar em cmplexidade sem exigir redundâncias e permitind custmizações refinadas. - Instalaçã Unificada da Arquitetura (Framewrks) e Ferramental (IDE) via DVD Em empresas nde a Gerência de Cnfiguraçã d ambiente de desenvlviment Open Surce nã é bem definida u levada a séri, s alts índices de variabilidade de instalaçã de uma máquina para utra terminam pr prduzir uma balbúrdia que nã smente pde causar nã-cnfrmidades graves nas aplicações desenvlvidas, cm também perda de prdutividade nas tarefas de desenvlviment individuais e cletivas. Exempls típics sã persnalizações e atualizações descntrladas em cmpnentes, realizadas individualmente pr desenvlvedres. O instaladr autmatizad via DVD d jcmpany reduz em mais de 80% s prblemas advinds de ambiente manualmente cnfigurad, nã smente em perda de temp, mas em garantia de us de bas práticas e arquitetura em versã crreta. É imprtante ntar que instaladr d jcmpany nã é um instaladr unificad de dezenas de prduts! Prtant, em um únic clique, desenvlvedr cmanda a instalaçã e cnfiguraçã de tds s prduts Open Surce envlvids, de rigens e prpósits diverss, dispnibilizand-s de frma integrada e hmlgada. Pder instalar tda uma cmplexa sluçã de arquietura e ferramental Java EE Open Surce para a cnstruçã de aplicações Web, a partir de uma única mídia e de um assistente de instalaçã clássic, é realmente alg de grande valr. Muits chamam a iss de engarrafar Open Surce. - Atualizaçã Autmatizada (via subscriçã smente) Nas versões garantidas d jcmpany (u Jaguar), é pssível inclusive autmatizar a atualizaçã de versã e cnfiguraçã, de md a preservar a manutençã da integridade d ambiente e arquitetura de sftware em geral, a lng d temp. Através de seu serviç de suprte, a Pwerlgic autmatiza a atualizaçã ds seguintes cmpnentes: Framewrks via repsitóri Maven; Eclipse IDE e Plugins via gerenciadr de atualizações d Eclipse (Update Manager), para atualizaçã autmatizada de plugins e alguns utrs cmpnentes d módul jcmpany IDE. Ferramental e cnfigurações cmplementares *; (*) As duas primeiras atualizações via Maven e Ecilpse sã ainda sluções parciais quand bservams tds s itens de cnfiguraçã cntrlads pel jcmpany Develper Suite. Muits destes itens nã sã cberts pr nenhuma das estratégias acima, cm as versões d própri ambiente Java (JSDK), d aplicativ Maven, ds váris Applicatin Servers e códigs fntes de prjets. Pr este mtiv, módul jcmpany Cnfiguratin Management traz este terceir tip de rtinas de autmaçã, cmplementações.

Instaland jcmpany A final, cm tdas estas pções, atualiza-se uma grande pilha (Stack) de prduts simultaneamente, na rdem de dezenas de grandes prjets, em uma única atualizaçã de versã d jcmpany - alg pr si já de grande valia para desenvlviments crprativs. Já vims que, para máxim d reús, precisarems de excelência em Gerência de Cnfiguraçã. Cm cntrats de subscriçã pde-se garantir esta excelência cm base em autmaçã e suprte à instalaçã, cnfiguraçã e manutençã de versões a lng d temp. - Entendend as mdalidades de licenciament Sã as seguintes as mdalidades de licenciament d jcmpany Develper Suite e d JAGUAR, cnfrme extraíd das plíticas da empresa em març de 2011 (Este resum visa apenas facilitar a leitr a cmpreensã das mdalidades existentes, pdend se alterar em funçã de necessidades d fabricante): Nível Licenciament (Resum) Funcinalidades e Garantias Cndições Gerais (Nvas versões, suprte, etc.) Jaguar Gratuit Licenciament livre e gratuit através da licença General Public Licence Versã 2 (GPLv2) e General Public Licence Versã 3 (GPLv3). Tds s Códigs Fntes dispnibilizads, cm direits a mdificaçã (códigs alterads devem ser devlvids à cmunidade) Tdas as funcinalidades descritas neste livr estã dispníveis Acess limitad a extensões (Jaguar Extensins) básicas publicadas em www.pwerlgic.rg Hmlgaçã cm Tmcat apenas Atualizaçã de Grandes Versões (Ex: 6.0, 6.5, 7.0): - A imagem d DVD é dispnibilizada n prtal d sftware públic e também alternativas gratuitas cm Trrent; - Suprte à atualizaçã e cnfiguraçã via cmunidade; Atualizações de Pequenas Liberações (Ex.: 6.0.1, 6.0.2): - Pactes de atualizaçã sã dispnibilizads n prtal d sftware públic, tant para framewrk quant para Eclipse; - Deve-se baixar e aplicar manualmente em ambs s cass; - Suprte à atualizaçã e cnfiguraçã via cmunidade (prtal d sftware públic e utras). Suprte via cmunidade apenas jcmpany u Jaguar cm Suprte e Garantia de Nível BRONZE Códig pde ser cedid cm licenciament GPLv2, GPLv3 u alternativ (Licenciament de Códig Abert Gerenciad u Managed Open Surce 2.0), através da licença Pwerlgic Open Surce Licence (POSL 2.0), de md a dispensar a empresa de brigações da licença GPLv2 u GPLv3 (Ex: devlver suas mdificações à cmunidade) Tds s Códigs Fntes dispnibilizads, cm direits a mdificaçã (a empresa nã tem brigações de devlver custmizações para licenças públicas u de sftware livre) Gerência de Licenças Open Surce. A Pwerlgic assume a respnsabilidade pela gestã e respeit as licenciaments ds prduts Open Surce entregues cm a sluçã. Acess as Jaguar/jCmpany Extensins BRONZE Tdas as funcinalidades descritas neste livr estã dispníveis Acess a extensões (Jaguar Extensins) básicas publicadas em www.pwerlgic.rg para nível BRONZE Exs. de avançadas dispníveis: - ManyTManyMatrix: Manutençã muits para muits via Matriz; - Dynamic Menu: Menus dinâmics gerads via jsecurity; Hmlgaçã em Tmcat,jBss, WebSphere, Weblgic e SAP Netweaver Gerência de Cnfiguraçã Avançada Atualizaçã de Grandes Versões (Ex: 6.0, 6.5, 7.0): - A imagem d DVD é dispnibilizada e além diss uma mídia é enviada a cliente. - Suprte frmal da Pwerlgic para garantir e tirar dúvidas sbre nvidades, atualizaçã e cnfiguraçã de versões; Atualizações de Pequenas Liberações (Ex.: 6.0.1, 6.0.2): - Suprte autmatizad via acess a Maven Archiva e Eclipse Update d site de suprte da Pwerlgic; - Suprte frmal da Pwerlgic para garantir e tirar dúvidas sbre nvidades, atualizaçã e cnfiguraçã de versões;. Suprte ilimitad para dúvidas de utilizaçã e análise de errs ptenciais

Capítul A2 jcmpany u Jaguar cm Suprte e Garantia de Nível SILVER Idem Nível 1 Acess as framewrks d jsecurity e jcmpany QA Suite. Idem Nível 1 Acess a framewrks d jcmpany Prductin Suite jsecurity liberads para pssibilitar cntrle de acess (segurança) em ilimitadas aplicações Idem Nível 1 Suprte ilimitad para dúvidas de utilizaçã e análise de errs ptenciais, para jcmpany/jaguar, jsecurity e jcmpany QA Suite. Acessas framewrks d jcmpany QA Suite liberad para autmaçã de testese integraçã cntínua em ilimitadas aplicações jcmpany u Jaguar cm Suprte e Garantia de Nível GOLD Idem Nível 2 SOA: Acess a framewrks de extensã adicinais cmpnentes da arquitetura Pwerlgic Open Surce WOA Idem Nível 2 Acess a extensões (Jaguar Extensins) avançadas publicadas em www.pwerlgic.rg. Exs. dispníveis: - BPMS Integratin Extensin: Integraçã cm Activiti 5.x (www.activiti.rg) em padrã BPMN 2.0; - CMIS Extensin: Integraçã cm serviç de gestã de cnteúd padrã CMIS para manipulaçã inteligente de imagens e arquivs em alt vlume. Hmlgaçã cm Alfresc ECM (www.alfresc.cm); - Web Mbile Extensin: Desenvlviment de aplicativs Web para celulares e tablets, cm interfaces padrã ipad e arquitetura MVP, via integraçã cm jquery Mbile (http://www.jquerymbile.c m); Idem Nível 2

Instaland jcmpany - Cnferind s pré-requisits para instalaçã Naturalmente, a primeira prvidência antes d prcess de instalaçã d jcmpany é a verificaçã ds pré-requisits de hardware e sftware a serem atendids: O usuári que irá executar a instalaçã deve pssuir s privilégis de administradr da máquina. A máquina deve pssuir pel mens 3,5 GB de espaç em disc livres. O mínim de memória RAM é 2GB, send recmendável us de 4GB RAM * O prcessadr deve ser Pentium IV u superir. Os sistemas peracinais pdem ser: Windws 2000, Windws XP, Windws 2003, Windws Vista, Windws 7. Linux: quaisquer distribuições cmpatíveis cm a platafrma Java 1.6 (Obs.: Nã precisa cnter ambiente Java instalad). A máquina deve pssuir uma unidade de DVD lcal u cnteúd d DVD deve ser cpiad para máquina na qual jcmpany Develper Suite será instalad. Imprtante: O disc de instalaçã nã deve ser executad a partir de mapeaments de rede. - Efetuand a instalaçã via DVD (Linux e Windws) Cas a instalaçã d jcmpany nã inicie autmaticamente a partir da mntagem da mídia n dispsitiv d cmputadr, a mesma pde ser executada manualmente. Para tant, basta um dupl clique n arquiv instala.bat, na raiz d CD/DVD. Figura A6.1. Exempl da execuçã manual d instaladr d jcmpany. Após a execuçã, prgrama Assistente de Instalaçã exibirá uma tela de bas vindas, cnfrme demnstrad na Figura A6.2. * O us de 1GB de RAM é pssível mas impedirá a utilizaçã de plugins de ediçã visual de XML e XHTMLs (frmuláris), que exigem mais recurss d Eclipse, que é especialmente incômd para iniciantes em Java. A cnfiguraçã de 4GB RAM permitirá us cm margem de segurança de utrs prgramas típics, simultaneamente a jcmpany, tais cm clientes de e-mail e várias instâncias de navegadres. Cm exempl, será instalad JAGUAR 6.0.0, pis além de se tratar de uma liberaçã mais recente da Pwerlgic ela nã apresenta diferenciaçã da instalaçã d jcmpany Develper Suite.

Capítul A2 Figura A6.2. Tela de bas vindas d Assistente de Instalaçã d jcmpany (bs.: pde variar ligeiramente). A partir desse pnt, devem-se seguir tdas as instruções apresentadas pel Assistente de Instalaçã. Td prcess deverá demrar em trn de 10 minuts, variand em funçã de cnfigurações da máquina. - Obtend a instalaçã da Cópia de Demnstraçã u d JAGUAR Quem está lend este livr n frmat ebk - e, prtant, nã tem acess a DVD deve fazer dwnlad d JAGUAR 6.0.0 pel site http://www.pwerlgic.rg/. Neste site também é pssivel encntrar vides que ensinam tds s passs da instalaçã. Cnferind que fi instalad Mesm cm a instalaçã finalizand crretamente, é acnselhável que sejam cnferids tds s recurss dispnibilizads, que também dará melhr cmpreensã da cnfiguraçã padrã d ambiente de desenvlviment d jcmpany. - Organizaçã Geral Tds s artefats que cmpõem ambiente d jcmpany sã instalads abaix d diretóri infrmad durante assistente, cuj padrã é [drive]:/pwerlgic/jcmpanyxx para instalações jcmpany u [drive]:/ jaguarxx para instalações JAGUAR. Durante livr diretóri de instalaçã será referenciad cm [jcmpany_base]". N diretóri raiz da instalaçã d jcmpany encntram-se basicamente arquivs cntend as ntas de liberaçã, cm infrmações sbre as nvidades da versã/release, e s arquivs.bat, que devem ser utilizads para se abrir ambiente de desenvlviment. Existem algumas alternativas de execuçã que devem ser selecinadas cuidadsamente em funçã da memória que se pssui dispnível na máquina: Prgrama Usar quand start.bat Estiver trabalhand cm 512MB ttal de RAM. (Eclipse irá rdar cm 312MB) start512m.bat Estiver trabalhand cm 1GB RAM, mas cm diverss utrs prduts rdand simultaneamente, tais cm clientes de Email + Editres de Text Pesads + Ferramentas CASE, além de utrs. (Eclipse irá rdar cm 512MB) start768m.bat Estiver trabalhand cm 1GB RAM, cm puc cnsum de memória adicinal simultânea, tal cm smente um cliente de email, pr exempl. (Eclipse irá rdar cm até 768MB) Opções crrespndentes cm sufix Clean Para rdar Eclipse limpand áreas de caching. É uma pçã d Eclipse que smente precisa ser utilizada em situações nde frem percebids prblemas cm relaçã a atualizações de plugins.

Instaland jcmpany Em ambiente Windws, jcmpany também cria pções na barra de ferramenta, para facilitar acess, crrespndentes a cada dispar acima. Imprtante: O instaladr d jcmpany nã cnfigura nenhuma variável glbal de ambiente, que permite cnvívi cm diversas versões simultâneas e ambientes existentes d desenvlvedr. - Eclipse e Plugins O primeir recurs a ser cnferid é Eclipse. Para tant, deve-se acinar um ds disparadres acima citads, cnfrme as cnsiderações feitas, e aguardar pela inicializaçã d Eclipse. A apresentaçã de algum diálg de entrada custmizad cnfrme a Figura A6.4 é sinal de que se está utilizand Eclipse hmlgad e especializad para jcmpany. Figura A6.3. Diálgs custmizads de entrada n Eclipse (bs.: as imagens pdem variar) Uma cnferência mais detalhada, incluind númer de versões e liberações menres, pde ser realizada utilizand-se a pçã de menu Help -> Abut Eclipse Platafrm, cnfrme a Figura A6.4 (nte que a aparência pde variar ligeiramente entre as versões jcmpany 6.0 e JAGUAR, mas ambas as versões sã cmpatíveis cm cnteúd deste livr). Figura A6.4. Versã d Eclipse e acess a versões de plugins. Acinand-se um ds btões que cntém lgtip ds principais plugins, pde-se cnsultar a versã detalhada de cada plugin cmpnente, cm exibid para JAGUAR na Figura A6.5.

Capítul A2 Figura A6.5. Versões detalhadas de plugins hmlgads n jcmpany (bs.: as versões pdem variar) N diretóri de instalaçã, tds s arquivs relacinads a Eclipse encntram-se abaix d diretóri eclipse, seguind s seguintes critéris: Diretóri [jcmpany-base]\eclipse Subdiretóri cnfiguratin drpins features links p2 plugins pluginsplc readme Objetiv Diretóri padrã d Eclipse para armazenar cnfiguraçã de instalaçã. Diretóri que cntém plugin Sysde para cntrlar servidr Apache Tmcat. Diretóri padrã d Eclipse para manter facilidades de cnfiguraçã de diverss plugins e persnalizações. Diretóri padrã d Eclipse para arquivs que cntém hiperlinks para cnfigurações externas de utrs plugins. Diretóri que cntém plugin Equinx/p2 para gerenciament de atualizações. Diretóri padrã d Eclipse para cnter plugins de sua platafrma básica (JDT etc.) Diretóri d jcmpany que encapsula tds s plugins hmlgads dentr da sluçã, de md que nã se misture cm plugins padrões d Eclipse u específics da empresa. Diretóri padrã d Eclipse infrmações de nvidades e ntas de liberações.

Instaland jcmpany Figura A6.6. Exempl d diretóri de instalaçã d Eclipse, abaix d diretóri raiz d jcmpany. - Prjets jcmpany Abaix d diretóri meus_prjets, instaladr dispnibiliza diverss prjets própris já preparads para imprtaçã n Eclipse. O instaladr d jcmpany Develper Suite traz prjets adicinais a instaladr d Jaguar, basicamente s prjets n ram JSF-Seam utilizads antes d ram CDI intrduzid cm Jaguar: Diretóri [jcmpany-base]\meus_prjets Subdiretóri framewrk/jcmpany_view framewrk/jcmpany_client framewrk/jcmpany_integratin framewrk/jcmpany_metadata framewrk/jcmpany_pm framewrk/jcmpany_cntrller framewrk/jcmpany_qa_unit framewrk/jcmpany_service framewrk/jcmpany_mdel framewrk/jcmpany_cmmns ini/jcmpany_ini_mdul_negci ini/jcmpany_ini_facelets_cdi_simple ini/jcmpany_ini_facelets_cdi_ bridge ini/jcmpany_ini_facelets_cdi ini/jcmpany_ini_facelets_cdi_ bridge_simple Objetiv Cntém artefats de camada Visã da arquitetura MVC, cmmns para JSF. Prjet que cntem s Widgets e demais Framewrk's Javascript, utilizads em prjets MVP. Prjet que cntem s cntrats e classes de integraçã d jcmpany cm demais Prduts, cm jsecurity e jmnitr. Classes e Antações de Metadads d jcmpany, cm cnfiguraçã das Lógicas e demais cmprtaments d Framewrk. Cntém as dependencias cmuns a tds s prjets que dependem d Framewrk. Cntém artefats de camada Cntrller da arquitetura MVC. Cntém artefats de camada Cntrller da arquitetura MVC. Cntém artefats que garantem s testes unitáris d framewrk jcmpany. Cntém artefats de camada "Mdel e Persistence" da arquitetura MVC Cntém artefats cmuns a tdas as camadas da arquitetura MVC Cntém template custmizável para criaçã de nvs móduls de negóci (recmendads para aplicações de regras de negóci genericas) cm base em Facelets gerand um prjet simples (JAR). Cntém template custmizável para criaçã de nvs prjets cm base em JSF tend Facelets cm camada de visã/apresentaçã, sem utilizar a camada bridge e gerand smente um prjet. Cntém template custmizável para criaçã camadas Bridge cm três prjets. Cntém template custmizável para criaçã de nvs prjets cm base em JSF tend Facelets cm camada de visã/apresentaçã, sem utilizar a camada bridge e gerand três prjets Eclipse distints: um para Entidades ([prjet]_cmmns), um para Mdel e Persistência ([prjet]_mdel) e utr para Visã e Cntrle ([prjet]). Cntém template custmizável para criaçã camadas Bridge prem cm só um prjet.

Capítul A2 ini/jcmpany_ini_facelets_cdi _mdul ini/jcmpany_ini_facelets_cdi _mdul_simple ini/jcmpany_ini_extensin ini/jcmpany_ini_jaguar_archetype bridge/jcmpany_bridgefcls_parent extensins jcmpany_birtviewer e jcmpany_birtviewer_src jcmpany_fcls_parent referencia/rh_tutrial referencia/rhdem referencia/rhenterprise Cntém template custmizável para criaçã de nvs móduls cm base em Facelets gerand um prjet simples (WAR). Cntém template custmizável para criaçã de nvs móduls cm base em Facelets gerand um prjet distribuid MVC (WAR). Cntém "template custmizável" para a criaçã de um extensin para aplicações jcmpany. Cntém "template custmizável" para a criaçã de um prjet cm cenári básic d jcmpany(uma lógica tabular, uma CRUD e uma mestre Detalhe). Este "template " usa a tecnlgia Archertype para pssibilidade de liberações cm Drag and Drp(sem deply). Cntém classes vazias de cntrle e artefats de visã que prvêm arquitetura que isla jcmpany e prvê espaç para especializações crprativas. jcmpany Extensins básics. O acess à base de Extensins avançads é permitid cm cntrats de suprte. Prjets bináris e códigs fntes, respectivamente, para visualizadr de relatóris d Eclipse BIRT Prjet de us intern da equipe de desenvlviment d jcmpany, para hmlgaçã e testes funcinais de regressã autmatizads Prjets cntend a sluçã final btida após s tutriais desenvlvids neste livr Prjet para aplicaçã (WAR) de referência RH Dem, em JSF-Facelets (prjet simples) Prjets de exempl baseads n rhdem, cntend uma sluçã de arqutietura mais cmpleta e crprativa, incluind bridge, móduls e extensins. Figura A6.7. Exempl d diretóri de prjets Eclipse, abaix d diretóri meus_prjets. - Repsitóri Maven O Apache Maven é a principal ferramenta de gerenciament de cnfiguraçã e também de autmaçã ds prcesss de cmpilaçã, cnstruçã e liberaçã, utilizada pel jcmpany Cnfiguratin Management. O Maven deve ser utilizad pela empresa para um cntrle refinad de versões, gerenciand biblitecas de cmpnentes específics e reutilizáveis pr cada aplicaçã. É também utilizad em mair extensã pel prdut jcmpany QA Suite da Pwerlgic, que pssui especializações em plugins Maven para a área de cntrle de qualidade. Verems um puc mais sbre Maven quand frms cmpreender a estrutura padrã ds pactes (packages) que cmpõem as aplicações e rtinas de liberaçã vams, pr enquant, apenas entender a estrutura básica de seu repsitóri.

Instaland jcmpany O repsitóri Maven cntém tds s cmpnentes hmlgads para utilizaçã em prjets jcmpany, em diferentes mments: Cmpnentes para us em temp de cmpilaçã apenas. Neste cas, s cmpnentes nã precisam ser mntads n executável da aplicaçã (nã cmpõem executável da aplicaçã), mas apenas referenciads pel Class Path ds prjets d Eclipse. Nrmalmente, é cas das APIs Java EE (javaee-5.jar, mail.jar, servlet.jar, etc.) u clientes JMS (jbss*.jar), que já existem u devem ser mntads diretamente n Applicatin Server. Cmpnentes para us em temp de mntagem. Neste cas, s cmpnentes nã smente entram em temp de cmpilaçã, n Class Path d Eclipse, cm sã mntads dentr d executável da aplicaçã (cmpõem executável da aplicaçã). É cas da mairia das biblitecas Open Surce (jbss-seam*.jar, trinidad-impl*.jar etc.) Cmpnentes para us em temp de execuçã apenas. Neste cas, s cmpnentes nã precisam estar presentes nem em temp de mntagem nem em temp de cmpilaçã ds prjets, pis nã sã utilizads diretamente pr eles. N entant, sã hmlgads para us pel Applicatin Server. É cas ds drivers JDBC hmlgads (10jdbc14.jar, mysqlcnnectr.jar etc.). Estes cmpnentes pdem ter ainda dis frmats típics de arquiv: JAR, que agrupam classes em frma executável (.class) e serã mntads abaix de diretóris WEB-INF/lib ds arquivs executáveis das aplicações (WAR). WAR, que agrupam artefats Web que sã liberads em frma fnte, tais cm CSS, Javascript, XHTML, mídia etc., e serã expandids a partir d diretóri raiz ds arquivs executáveis das aplicações (WAR). Existem diverss diretóris abaix d diretóri raiz d repsitóri Maven, em [jcmpanybase]\repsitri, que nã devem ser de precupaçã d desenvlvedr pr serem de us intern d Maven. O principal diretóri a ser entendid para jcmpany 6 ram CDI e Jaguar 6 é diretóri [jcmpany-base]\repsitri\pwerlgic\jaguar. Diretóri [jcmpany-base]\repsitri\pwerlgic\jaguar (smente s mais relevantes subdiretóris) Subdiretóri jcmpany ss_base_cntrller ss_base_cmmns ss_base_qa ss_base_mdel ss_base_servletcntainer Objetiv Agrupa s cmpnentes d framewrk de integraçã d jcmpany, em frmats JAR (executáveis) e WAR (recurss). Agrupa s cmpnentes cuja dependência é específica apenas da camada Cntrller da arquitetura MVC ds prjets, tais cm classes Listeners, Filters, dentre utrs. Agrupa s cmpnentes cuja dependência é cmum a tdas as camadas MVC ds prjets, tais cm utilitáris cmuns, de lgging e arquivs de antações em geral, visíveis pelas Entidades de Dmíni Agrupa s cmpnentes cuja dependência é específica para framewrk de Testes de Unidade que acmpanha jcmpany. Agrupa s cmpnentes cuja dependência é específica apenas da camada Mdel e Persistência da arquitetura MVC ds prjets, tais cm JPA/Hibernate. Agrupa s cmpnentes para us exclusiv em temp de desenvlviment, cntend APIs padrões de cntêineres em versã Java EE 5. Imprtante: O jcmpany hmlga plugin M2Ecilpse para manter uma sincrnia de dependências descritas pel Maven (arquivs pm.xml) e necessárias pela IDE (class path ds prjets Eclipse). Basicamente, M2Eclipse cnfigura autmaticamente tdas as dependências que encntram definidas ns diverss arquivs pm.xml, cm dependências d prjet n Eclipse.

Capítul A2 Figura A6.8. Biblitecas d usuári autmaticamente geradas pel M2Eclipse - Matéria-Prima Open Surce: Códigs Fnte e Javadc Cnfigurads Trabalhar cm JSF 2.0 (Facelets/Apache Trinidad), JPA 2.0 (Hibernate), CDI (jbss Weld), etc., sem nunca analisar uma única linha de códig destes framewrks é uma grande perda. Pis é este hábit que traz grande amadureciment técnic, uma vez incrprad. É uma frma de se aprender cm s gurus e pensar fra da caixa, cmpreendend cm mair amplitude que está se passand na arquitetura de base. Em alguns cass, desenvlvedres iniciantes u mais desinteressads descnhecem u subutilizam até mesm a dcumentaçã em padrã javadc de seus bjets em reús, um recurs básic que deve estar sempre dispnível na IDE. Será difícil tirar máxim d desenvlviment Java EE Open Surce sem práticas eventuais de inspeçã em códigs de prduts reutilizads para depuraçã e custmizações refinadas. Se bem cnfigurads na IDE, tant Javadc quand s códigs fntes se trnam uma ajuda essencial, facilmente dispníveis e melhr utilizads. É para prmver este hábit que jcmpany sempre instala, além das versões binárias ds framewrks e utilitáris hmlgads, seus códigs fntes e javadcs em versões crrespndentes, já crretamente cnfigurads também para acess via Eclipse. - Servidres de Aplicaçã O diretóri [jcmpany-base]\servers cntém s Applicatin Servers Open Surce utilizads para hmlgaçã de aplicações prduzidas pel jcmpany: Diretóri [jcmpany-base]\servers Subdiretóri tmcat Objetiv Tmcat 6.x: Nã cstuma ser rigrsamente batizad de Applicatin Server pr nã pssuir cntainer EJB e tds s serviçs Java EE. Prém, tem qualidade de prduçã desde sua versã 5.x e excepcinal perfrmance na versã 6.x graças à utilizaçã de recurss para acess nativ a sckets. É recmendad cm pçã principal para desenvlviment e também para prduçã quand trabalhand smente cm POJOs. Estes pdem ser prtads para EJB3, se

Instaland jcmpany desejad, em estágis finais, e hmlgad neste mment em alguma das utras duas pções. jbss JBss 6.x u 7.x: É Applicatin Server Open Surce de esclha para ambientes de prduçã quand us de EJB é essencial. Obs.: Smente é instalad pr default em versões jcmpany u Jaguar cm Suprte e Garantia. Imprtante 1: Esta relaçã pde variar cnfrme release exat d jcmpany. Nvas pções pdem ser adicinadas u retiradas, e liberações (releases) menres destes prduts atualizads. Imprtante 2: O JBss EAP e pções cmerciais mais cmuns de mercad tais cm Weblgic 10.x, IBM WebSphere 7.x e SAP NetWeaver AS 7.1.x também sã hmlgada em versões cm suprte e garantia d jcmpany/jaguar. Mas, exatamente pr serem cmerciais, estes prduts nã sã incluíds em nenhuma distribuiçã. - Dcumentaçã da Metdlgia O jcmpany incrpra métds e padrões para a fase de Cnstruçã em tecnlgia Java EE, incluind rteirs pass-a-pass para a cdificaçã de Cass de Us padrnizads, em alt nível. Esta metdlgia fica integrada a IDE, em sua Ajuda On-Line, n frmat HTML e cm cnteúd dispnível para busca textual, e também abaix d diretóri [jcmpany-base]\jcmpany_dcumentaca, em frmats que permitem ediçã e custmizaçã facilitada, cas seja desejável. Qualquer licença d jcmpany é permissiva cm relaçã a mdificações, seja n códig fnte u dcumentaçã. Obviamente, a mdificar-se algum artefat prduzid e mantid pela Pwerlgic, cm exceçã d us de pnts específics de extensã (APIs), crre-se risc de ter-se que reaplicar alterações em uma eventual atualizaçã de versã. Prtant, deve-se utilizar estas prerrgativas smente em últim cas, evitand-se mdificar demasiadamente s artefats.

Capítul A2 Sumári Neste capítul, discutims sbre cm a busca pr um alt índice de prdutividade via reús requer especial atençã nas disciplinas de gerência de cnfiguraçã e cntrle de versões. Mstrams prque ist é especialmente verdade em um mund Java EE Open Surce, citand as dificuldades cmumente encntradas para se manter um ambiente de desenvlviment Open Surce estável a lng das versões e da escalada de cmplexidade ds prjets cndiçã básica para que se mantenha prdutiv, receptiv a reús. Apresentams instaladr integrad d jcmpany cm uma sluçã nesta área, destacand s váris benefícis advinds de uma gerência de cnfiguraçã que garante a instalaçã unificada de dezenas de prduts melhres em sua categria (Best-f-Breed), cnfigurads e pré-hmlgads para funcinament em cnjunt. Pr fim, tecems explicações sbre s prcediments básics de instalaçã e para entendiment inicial de td diretóri resultante, seu prpósit e critéri de rganizaçã. N próxim capítul vams entender Ambiente Integrad de Desenvlviment d jcmpany, basead n Eclipse, e criar nss primeir prjet.