Sistemas Distribuídos Engenharia de Software 2006 / 2007 Departamento Engenharia Informática Guia de instalação de software ic-sod@mega.ist.utl.pt ic-es@mega.ist.utl.pt 22 de Fevereiro de 2007 1
Índice Introdução... 3 Requisitos base do computador... 3 Substituições neste documento... 3 Variáveis de ambiente... 3 Permissões de acesso a ficheiros... 4 Parte I: Plataforma... 5 Java Developer Kit 1.5... 5 Parte II: Servidor aplicacional... 7 JWSDP 2.0 para SD+ES... 7 Parte III: Servidor de bases de dados... 10 MySQL database server 5.0... 10 Parte IV: Ambiente de desenvolvimento... 12 CVS (Concurrent Versions System) 1.11.22... 12 Eclipse 3.2.1 com Web Tools e pré-requisitos... 12 Eclipse plugins... 13 JUnit 4.1... 14 SimpleLog 2.0.1... 14 Tail for Windows 4.2.12... 15 2
Introdução Este documento descreve a instalação do software para o projecto conjunto das disciplinas de Engenharia de Software (ES) e Sistemas Distribuídos (SD) que resulta da composição de várias aplicações e ferramentas. A instalação deve ser feita por partes, começando-se na plataforma base, seguindo-se o servidor aplicacional, o servidor de base de dados e, finalmente, o ambiente de desenvolvimento. A instalação de cada aplicação ou ferramenta é descrita em três secções: preparação, instalação e teste. Requisitos base do computador Os requisitos mínimos gerais para instalar o ambiente são: Sistema operativo * : Windows XP Processador: Pentium II ou superior Memória: pelo menos 256 MB (Mega Bytes) Substituições neste documento Os nomes com a seguinte notação: ${nome_variavel} devem ser substituídos durante o processo de instalação, pelo valor por omissão ou por outro que seja escolhido. Directório de instalação de software Java: ${java_software_install_dir} Valor por omissão: C:\Java O texto com tipo de letra proporcional e carregado representa uma transcrição literal e deve ser introduzido exactamente como apresentado. Variáveis de ambiente As variáveis de ambiente são definidas para todo o sistema (system) ou para utilizadores individuais (user). O valor da variável pode depois ser usado através da notação %nome%. Tipicamente as variáveis de ambiente servem para especificar localizações de programas. Algumas variáveis de ambiente são definidas pelo Windows, é o caso de %ProgramFiles% que representa o directório de programas do Windows (para versões em inglês: C:\Program Files; para versões em português: C:\Programas) e de %USERNAME% que representa o nome do utilizador em sessão. A variável de ambiente mais utilizada é a PATH, que permite indicar quais os programas que podem ser executados em qualquer directório, definindo os directórios onde o sistema operativo procura programas (os directórios separam-se usando o carácter ponto-e-vírgula ;). Para consultar o valor da PATH pode-se executar echo %PATH% na linha de comando. O comando set mostra todas as variáveis e os respectivos valores. Para definir as variáveis de ambiente no sistema Windows de forma definitiva, aceder às System Properties através do botão direito do rato no ícone My Computer, depois * Todas as aplicações e ferramentas têm versões para Linux. 3
seleccionar Advanced e carregar no botão Environment Variables. A figura seguinte ilustra esta operação. As novas definições só fazem efeito para as janelas de linha de comando abertas após a alteração. Devido a problemas de compatibilidade com algumas das aplicações e ferramentas, os nomes dos directórios a utilizar não devem conter espaços. Nesta situação, ou quando for necessário referir directórios com mais de oito caracteres, devem usar-se os nomes curtos. Nesta notação, tipicamente Programas (ou Program Files) é abreviado para progra~1. Outro aspecto importante a notar é que não se deve colocar a barra \ no fim dos directórios. Permissões de acesso a ficheiros Para que utilizadores com privilégios limitados possam utilizar as aplicações e ferramentas é necessário conceder permissões para alguns directórios. Para mudar as permissões, carregar com o botão direito no directório pretendido, seleccionar Properties e depois Security. Depois, seleccionar o utilizador e carregar na opção relativa à permissão de escrita, por exemplo. 4
Parte I: Plataforma Java Developer Kit 1.5 Java Developer Kit ~ JDK; Java Runtime Environment ~ JRE Espaço necessário em disco: JDK (~125 MB) Documentação (~245 MB) JRE (~72 MB) http://java.sun.com/products/archive/j2se/5.0_10/index.html http://java.sun.com/javase/downloads/index_jdk5.jsp Ficheiro de instalação: ${jdk_install_file} Valor por omissão: jdk-1_5_0_10-windows-i586-p.exe Ficheiro de instalação da documentação: ${jdk_docs_file} Valor por omissão: jdk-1_5_0-doc.zip Directório de instalação do JDK: ${jdk_install_dir} Valor por omissão: C:\Java\jdk1.5.0_10 Directório de instalação do JRE: ${jre_install_dir} Valor por omissão: C:\Java\jre1.5.0_10 1. Executar ${jdk_install_file}. Escolher instalação completa para o directório ${jdk_install_dir}. Instalar duas versões da máquina virtual Java: para desenvolvimento (JDK) e para execução (JRE) A instalação do JRE é lançada pela instalação do JDK. Indicar o directório ${jre_install_dir}. 2. Para instalar a documentação, descomprimir o arquivo ${jdk_docs_file} para o directório ${jdk_install_dir} de modo a que os ficheiros fiquem contidos no directório ${jdk_install_dir}\doc. 3. Definir variáveis de ambiente de sistema: JAVA_HOME com o valor ${jdk_install_dir} Acrescentar ao início da PATH: %JAVA_HOME%\bin; 4. Conceder permissões de leitura do directório ${jdk_install_dir} aos utilizadores do ambiente. 1. Executar echo %JAVA_HOME% e echo %PATH% para confirmar se aparecem os valores definidos para as variáveis de ambiente. 2. Testar os utilitários de linha de comando: 5
java -version javac -version apt -version 6
Parte II: Servidor aplicacional JWSDP 2.0 para SD+ES JWSDP ~ Java Web Services Developer Pack; SD ES ~ Sistemas Distribuídos, Engenharia de Software O pacote jwsdp-2.0-sdes contém o seguinte software: Tomcat 5 for JWSDP (5.0.19) JWSDP 2.0 Ant 1.6.5 JUnit 4.1. Espaço necessário em disco: ~154 MB http://mega.ist.utl.pt/~ic-sod/2006-2007/software/jwsdp-2.0-sdes.zip Ficheiro de instalação: ${jwsdp_sdes_install_file} Valor por omissão: jwsdp-2.0-sdes.zip Directório de instalação: ${ jwsdp_sdes_install_dir} Valor por omissão: ${java_software_install_dir}\jwsdp-2.0-sdes (O nome completo do directório não poderá conter espaços) Nome do utilizador administrador do servidor: ${tomcat_admin_username} Valor por omissão: admin Senha do utilizador administrador do servidor: ${tomcat_admin_password} Valor por omissão: adminadmin 1. Descomprimir o arquivo ${jwsdp_sdes_install_file} para o directório ${java_software_install_dir}. Deverá ter sido criado o sub-directório ${jwsdp_sdes_install_dir} 2. Actualizar nos seguintes ficheiros de configuração as ocorrências do directório ${jwsdp_sdes_install_dir} e do directório da área de ficheiros do utilizador (referência user.home) para os novos valores: ${jwsdp_sd_es_install_dir}\conf\server.xml ${jwsdp_sd_es_install_dir}\conf\catalina\localhost\jspexamples.xml ${jwsdp_sd_es_install_dir}\conf\catalina\localhost\root.xml ${jwsdp_sd_es_install_dir}\conf\catalina\localhost\servletsexamples.xml ${jwsdp_sd_es_install_dir}\conf\catalina\localhost\tomcatdocs.xml ${jwsdp_sd_es_install_dir}\conf\catalina\localhost\webdav.xml ${jwsdp_sd_es_install_dir}\eclipse\jwsdp-2.0-sdes.userlibraries ${jwsdp_sd_es_install_dir}\jwsdp-shared\bin\jwsdp.properties ${jwsdp_sd_es_install_dir}\jwsdp-shared\bin\setenv.bat 7
${jwsdp_sd_es_install_dir}\jwsdp-shared\bin\setenv.sh 3. Definir variáveis de ambiente de sistema: CATALINA_HOME com o valor ${jwsdp_sdes_install_dir} JWSDP_HOME com o valor ${jwsdp_sdes_install_dir} ANT_HOME com o valor ${jwsdp_sdes_install_dir}\apache-ant JAXWS_HOME com o valor ${jwsdp_sdes_install_dir}\jaxws Acrescentar os seguintes directórios à PATH antes de %JAVA_HOME%\bin: o %ANT_HOME%\bin o %CATALINA_HOME%\bin o %JWSDP_HOME%\jaxb\bin o %JWSDP_HOME%\jaxr\bin o %JWSDP_HOME%\jaxrpc\bin o %JWSDP_HOME%\jaxws\bin o %JWSDP_HOME%\jwsdp-shared\bin 4. Definir permissões de acesso a ficheiros para possibilitar o desenvolvimento por parte de utilizadores sem privilégios de administração: Dar privilégios de escrita aos seguintes sub-directórios: o ${jwsdp_sdes_install_dir}\conf o ${jwsdp_sdes_install_dir}\logs o ${jwsdp_sdes_install_dir}\registry-server o ${jwsdp_sdes_install_dir}\registry-server\xindice o ${jwsdp_sdes_install_dir}\temp o ${jwsdp_sdes_install_dir}\webapps o ${jwsdp_sdes_install_dir}\work 5. Criar um ficheiro de propriedades chamado build.properties, a ser usado pela ferramenta Ant, com o conteúdo apresentado de seguida (fazendo as substituições de nomes necessárias). Copiar o ficheiro para o directório %USERPROFILE% de todos os utilizadores que vão utilizar o software. tomcat.username=${tomcat_admin_username} tomcat.password=${tomcat_admin_password} 1. Executar os seguintes comandos e confirmar que aparecem os valores definidos: echo %JWSDP_HOME% echo %CATALINA_HOME% echo %ANT_HOME% echo %JAXWS_HOME% echo %PATH% 2. Testar as ferramentas de linha de comando. Cada comando deve mostrar a versão. ant version wscompile version wsdeploy -version schemagen version xjc -version wsimport version wsgen version 8
3. Testar o servidor: Arrancar escrevendo catalina start na linha de comando. No fim dos testes, para parar o servidor, existe o comando catalina stop; Consultar o ficheiro de registo de actividades do servidor em ${jwsdp_sdes_install_dir}\logs\launcher.server.log para verificar se ocorreu algum erro (excepção Java). Quando o servidor termina a iniciação, escreve uma mensagem semelhante à seguinte: INFO: Server startup in 14547 ms (onde, naturalmente, o valor de tempo varia); Abrir um navegador WWW e aceder à página http://localhost:8080; Colocar endereço http://localhost:8080/manager/html. Indicar ${tomcat_admin_username} com senha ${tomcat_admin_password}. Deverá aparecer a aplicação de gestão de aplicações do Tomcat; 4. Testar o suporte HTTPS do servidor: Usar um navegador WWW para aceder ao endereço https://localhost:8443/. O navegador deverá apresentar um diálogo com informações sobre o certificado digital. Examinar e aceitar o certificado. Depois disso, a página inicial deverá aparecer como normalmente. Experimentar outra aplicação, por exemplo, a aplicação de gestão de aplicações em https://localhost:8443/manager/html. 5. Testar o UDDI Registry Server que se executa no Tomcat: Abrir uma linha de comandos e executar jaxr-browser que deverá criar uma nova janela; Escolher a primeira opção na lista de selecção rápida Registry Location que tem o valor http://localhost:8080/registryserver/; Aguardar que o contacto seja estabelecido. Quando tal acontecer, a aplicação fica de novo disponível sem que exista indicação explícita do sucesso da ligação; Submeter uma organização com o nome testeorg. Para fazer a submissão é necessário utilizar o utilizador testuser e a senha testuser; Procurar a organização pelo nome testeorg. A organização deverá surgir na lista de resultados. Carregar com o botão direito do rato e eliminar o registo da organização de teste, escolhendo delete; Procurar de novo a organização pelo nome testeorg. Desta vez não deverão surgir resultados. 6. Finalmente, instalar e executar a aplicação utilitária SD_ES_Tests (http://mega.ist.utl.pt/~ic-sod/2006-2007/software/sdestests-1.7.zip) que inclui um conjunto de testes adicionais importantes. Seguir as instruções contidas no ficheiro etc\readme.txt do pacote. 9
Parte III: Servidor de bases de dados MySQL database server 5.0 Espaço necessário em disco: MySQL database server (~65 MB) MySQL tools (~37 MB) http://dev.mysql.com/downloads/mysql/5.0.html#downloads http://dev.mysql.com/downloads/gui-tools/5.0.html Ficheiro de instalação do MySQL: ${mysql_install_file} Valor por omissão: mysql-essential-5.0.27-win32.msi Ficheiro de instalação do MySQL Tools: ${mysql_tools_install_file} Valor por omissão: mysql-gui-tools-5.0-r9a-win32.msi Directório de instalação do MySQL: ${mysql_install_dir} Valor por omissão: %ProgramFiles%\MySQL\MySQL Server 5.0 Directório de instalação do MySQL Tools: ${mysql_tools_install_dir} Valor por omissão: %ProgramFiles%\MySQL\MySQL Tools for 5.0 1. Executar ${mysql_install_file} para iniciar a instalação do servidor: Escolher a instalação típica (opção Typical); Carregar no botão Install para prosseguir com a instalação; (Opcional) Efectuar o registo do produto (a opção Skip Sign-Up permite não o fazer); Configurar o servidor (opção Configure the MySQL Server now): o Seleccionar a opção Detailed Configuration; o Seleccionar a opção Developer Machine; o Seleccionar a opção Transactional Database Only; o Escolher o directório onde colocar a base de dados (o valor de omissão Installation Path é adequado); o Usar a opção Manual Setting e escolher 15 ligações concorrentes; o Activar ligações por TCP/IP (opção Enable TCP/IP Networking, no porto de omissão 3306); o Manter activada a opção Enable Strict Mode; o Seleccionar Standard Character Set; o Seleccionar Install As Windows Service com o nome MySQL. Seleccionar a opção Launch the MySQL Server automatically caso desejem ter o servidor sempre ligado; o Activar a opção Include Bin Directory in Windows PATH para que se possa invocar o cliente a partir da linha de comandos; 10
o Introduzir uma nova senha de administração (acesso root) e deixar inactiva a opção Enable root access from remote machines para segurança acrescida; o Carregar em Execute para configurar o servidor. 2. Executar ${mysql_tools_install_file} para iniciar a instalação do módulo de administração do servidor. Escolher o directório de instalação (${mysql_tools_install_dir} (preenchido por omissão) e seleccionar opção Complete; 1. Testar a ferramenta de linha de comando. Deve mostrar a versão da ferramenta. Executar mysql --version. 2. Testar a ligação ao servidor de base de dados. Executar mysql u root p e verificar que se obtém a consola de comandos do MySQL. 3. Para testar a aplicação Administrator: correr a aplicação Administrator (Start, All Programs, MySQL, MySQL Administrator): Estabelecer uma ligação ao servidor MySQL: o Atribuir um nome à ligação (ex.: root@localhost); o Colocar como Server Host: localhost, username: root e introduzir a senha associada a root aquando da instalação; Seleccionar a entrada Catalogs. Com o botão direito do rato seleccionar o schemata mysql e escolher Create new Schema. Usar o nome sdesxx; Seleccionar a entrada User Administration. Com o botão direito do rato escolher a opção Add new User: o Introduzir como nome do utilizador sdesxx; o No separador Schema Privileges, seleccionar o schemata sdesxx e pressionar o botão ${${; o Pressionar Apply Changes; Testar a ligação ao servidor de base de dados com o novo utilizador. Executar mysql u sdesxx p e verificar que se obtém a consola de comandos do MySQL. Escolher a base de dados com use sdesxx; e fazer show tables; que deverá mostrar um conjunto vazio de tabelas. 11
Parte IV: Ambiente de desenvolvimento CVS (Concurrent Versions System) 1.11.22 O CVS é uma ferramenta baseada na linha de comando, que suporta todos os comandos necessários para a gestão de versões. Existem também interfaces gráficas, como a integrada com o Eclipse, o TortoiseCVS, o WinCVS, entre outras. Espaço necessário em disco: ~1 MB ftp://ftp.ist.utl.pt/pub/gnu/gnu/non-gnu/cvs/ Ficheiro de instalação: ${cvs_install_file} Valor por omissão: cvs_1_11_22.zip Directório de instalação: ${cvs_install_dir} Valor por omissão: %ProgramFiles%\CVS Ficheiro de documentação: ${cvs_docs_file} Valor por omissão: cederqvist-1.11.21.pdf 1. Criar directório ${cvs_install_dir}. Extrair conteúdo de ${cvs_install_file} para ${cvs_install_dir}. 2. Definir variáveis de ambiente de sistema: Acrescentar %CVS_HOME% à PATH CVS_HOME com o valor ${cvs_install_dir} CVS_RSH com o valor do comando que executa sessões remotas de terminal (assumindo que existe e está correctamente instalado). Por exemplo, usando o SSH Secure Shell basta colocar como valor desta variável: ssh2 3. Copiar ficheiro ${cvs_docs_file} para ${cvs_install_dir}. 1. Executar cvs -version. e confirmar que o comando é reconhecido e que a versão referida é a esperada. Eclipse 3.2.1 com Web Tools e pré-requisitos Espaço necessário em disco: ~240 MB http://www-128.ibm.com/developerworks/eclipse/downloads/ Ficheiro de instalação: ${eclipse_install_file} Valor por omissão: J2EE-SDK-Callisto-Fall-Maintenance-win32.zip Directório de instalação: ${eclipse_install_dir} Valor por omissão: ${java_software_install_dir}\eclipse 12
1. Descomprimir ${eclipse_install_file} para o directório ${java_software_install_dir}, criando o directório ${eclipse_install_dir}. 2. Criar um atalho para o ficheiro eclipse.exe e colocá-lo no ambiente de trabalho (Desktop) e no menu iniciar (Start Menu) do utilizador. 3. Prosseguir com a instalação dos plugins, antes de iniciar o Eclipse pela primeira vez. 4. Configurar o Ant utilizado pelo Eclipse (este passo é necessário sempre que se cria um novo workspace): Iniciar o Eclipse. Seleccionar o menu Window, opção Preferences; Abrir o nó Ant na árvore da esquerda, e seleccionar o sub-nó Runtime; Carregar no botão Ant Home; Seleccionar o directório ${jwsdp_sdes_install_dir}\apache-ant. 1. Iniciar o programa, executando eclipse.exe ou um dos seus atalhos. 2. Seleccionar o menu Window, opção Preferences; 3. Abrir o nó Ant na árvore da esquerda, e seleccionar o sub-nó Runtime; 4. Confirmar que no separador Classpath, o nó Ant Home Entries contém a entrada ${jwsdp_sdes_install_dir}/apache-ant/lib/junit.jar. Eclipse plugins Extensões do Eclipse: Hibernate Tools apoia o desenvolvimento com a biblioteca Hibernate; Log Watcher permite visualizar ficheiros de registo de actividades (log), com refrescamento automático e de forma integrada no ambiente de trabalho. ExtremePlanner euml2 Espaço necessário em disco: Hibernate Tools (~40 MB) Log Watcher (~1 MB) ExtremePlanner (~1 MB) euml2 (~10 MB) http://www.hibernate.org/30.html http://sourceforge.net/project/showfiles.php?group_id=70450 http://www.extremeplanner.com/files/ep-eclipse-plugin-1.0.zip http://www.soyatec.com/euml2/installation Ficheiro de instalação do Hibernate Tools: ${eclipse_hibernate_install_file} Valor por omissão: HibernateTools-3.2.0.beta9a.zip Ficheiro de instalação do Log Watcher: ${eclipse_logwatcher_install_file} 13
Valor por omissão: logwatcher_1-1.4.0.1.zip Ficheiro de instalação do ExtremePlanner: ${eclipse_extremeplanner_install_file} Valor por omissão: ep-eclipse-plugin-1.0.zip A instalação do euml 2 deve ser feita seguindo as instruções na página tendo o cuidado de escolher a versão Free. O procedimento geral é a cópia dos ficheiros das extensões para o directório ${eclipse_install_dir}/plugins e ${eclipse_install_dir}/features. O procedimento do euml é através da opção de actualizações (conferir procedimento na página da biblioteca). 1. Iniciar o Eclipse. 2. Aceder à funcionalidade New Project. Na lista deverá surgir uma categoria Hibernate. 3. Aceder ao menu Windows, Preferences. Na lista do lado esquerdo deverão surgir opções de configuração do Log Watcher e do euml 2. JUnit 4.1 O JUnit é uma biblioteca para construir testes de software. Espaço necessário em disco: ~3 MB http://www.junit.org/ Ficheiro de instalação: ${junit_install_file} Valor por omissão: junit4.1.zip Directório de instalação: ${junit_install_dir} Valor por omissão: ${java_software_install_dir}\junit4.1 1. Extrair conteúdo de ${junit_install_file} para ${java_software_install_dir}. 2. Dar acesso de leitura a ${junit_install_dir} aos utilizadores do ambiente. 1. Confirmar que os ficheiros.jar contidos em ${junit_install_dir} podem ser lidos pelo utilizadores do ambiente. SimpleLog 2.0.1 A biblioteca SimpleLog permite aos programas registarem mensagens relativas às suas actividades em ficheiros de texto. Espaço necessário em disco: ~2 MB 14
Disponível em: https://simple-log.dev.java.net/ Ficheiro de instalação: ${simplelog_install_file} Valor por omissão: simple-log-2.0.1.zip Directório de instalação: ${simplelog_install_dir} Valor por omissão: ${java_software_install_dir}\simple-log-2.0.1 1. Extrair conteúdo de ${simplelog_install_file} para ${java_software_install_dir}. 2. Dar acesso de leitura a ${ simplelog_install_dir} aos utilizadores do ambiente. 1. Confirmar que os ficheiros.jar contidos em ${simplelog_install_dir} podem ser lidos pelo utilizadores do ambiente. Tail for Windows 4.2.12 A ferramenta Tail for Windows é equivalente ao comando Unix tail -f que permite monitorar dados acrescentados no fim de um ficheiro, sendo deste modo especialmente adequado a monitorar ficheiros de log de servidores e outros programas. Espaço necessário em disco: ~1 MB Disponível em: http://tailforwin32.sourceforge.net/ Ficheiro de instalação: ${tailwin32_install_file} Valor por omissão: Tail-4.2.12.zip Directório de instalação: ${tailwin32_install_dir} Valor por omissão: %ProgramFiles%\ Tail-4.2.12 1. Criar a directoria ${tailwin32_install_dir}. 2. Extrair o conteúdo de ${tailwin32_install_file} para ${tailwin32_install_dir}. 3. Dar acesso de leitura a ${tailwin32_install_dir} aos utilizadores do ambiente. 1. Executar o programa e seleccionar um ficheiro que esteja em actualização, por exemplo, o ficheiro ${jwsdp_sdes_install_dir}\logs\launcher.server.log. 15