quarta-feira, 28 de dezembro de 2005

Utilizando wiki em projetos de software


Na empresa onde trabalho, nós da equipe de desenvolvimento temos uma deficiência muito grande em organizar os dados dos projetos que desenvolvemos, e documentá-los, pois o ambiente aqui é muito dinâmico, tendo em vista que temos que atender às necessidades dos diferentes setores da empresa. Com isto, é difícil utilizar uma metodologia estruturada de desenvolvimento de software, pois tudo é pra ontem. E desta forma, quando precisamos dar manutenção em alguma coisa, por não ter documentação, o processo é mais lento, o que atrasa os projetos, e isto vai se tornando um ciclo sem fim.


Para tentar colocar ordem, precisamos de uma política de documentação que seja dinâmica como nosso modo de trabalhar, e de uma ferramenta que dê suporte a isto. Com isto em mente, implantamos um sistema wiki baseado no MediaWiki , que é o servidor wiki da Wikipedia.
Este software permite que qualquer pessoa da equipe tenha acesso aos documentos postados, e possa também editá-los, oferecendo um conjunto de recursos que facilitam a organização dos dados. A ferramenta permite ainda que se consulte versões antigas dos documentos, e oferece um espaço de discussão para cada documento, onde os usuários podem trocar idéias. Tudo isso, disponível através de qualquer browser.


Para instalar, você precisar ter um servidor apache com php, e banco de dados mysql. Com isto, a instalação do software é bastante simples.

segunda-feira, 26 de dezembro de 2005

Histórico de queries no Oracle

Algumas vezes, como hoje, me deparo com um problema de banco de dados bizarro, que não consigo imaginar porque acontece. O problema de hoje é que estou realizando uma query na minha aplicação java que não está retornando nenhum valor, mas quando copio a query SQL do meu código, e a executo na unha, vejo todos os resultados como deveria ser ... muito bizarro.

Para verificar se a query está sendo executada da forma correta, é importante ver o que está sendo enviado para o SGBD. No oracle, isto é simples ... basta fazer uma consulta na tabela v$sql.

terça-feira, 6 de dezembro de 2005

Oracle 10g e CLOBs

A partir da versão 10g do oracle, o driver Oracle JDBC suporta as interfaces java.sql.Clob e java.sql.Blob. Desta forma, as aplicações que se utilizavam de extensões de versões anitgas, que utilizavam as classes oracle.sql.CLOB e oracle.sql.BLOB foram deprecadas. Desta forma, devemos portar as aplicações para o padrão JDBC 3.0.

Com isto, lidar com estes tipos de objetos ficou muito mais simples. Um exemplo simples pode ser visto em:

http://www.oracle.com/technology/sample_code/tech/java/codesnippet/jdbc/clob10g/handlingclobsinoraclejdbc10g.html

Para maiores detalhes, verifique o capítulo 14 do JDBC Developer's Guide and Reference (10g Release)

segunda-feira, 5 de dezembro de 2005

Múltiplas instâncias do JBoss na mesma máquina

Como a equipe de desenvolvimento utiliza uma mesma máquina para todos os desenvolvedores, para que cada um pudesse realizar seus próprios testes sem interferir com os dos demais, precisamos configurar múltiplas instâncias do JBoss, uma para cada desenvolvedor.

Para tanto, basta alterar o arquivo jboss-service.xml, conforme descrito no documento abaixo:

http://wiki.jboss.org/wiki/Wiki.jsp?page=ConfiguringMultipleJBossInstancesOnOneMachine

A solução que adotamos é a segunda opção descrita no documento. Note-se que, neste caso, as configurações do servidor de aplicação estão no arquivo:

$JBOSS_HOME/docs/examples/binding-manager/sample-bindings.xml

Para realizar o shutdown da instância do servidor de aplicação utilizar o comando:

$JBOSS_HOME/bin/shutdown.sh -S --server=localhost:port

Onde port é o número da porta descrita no binding do service-config Naming.

sábado, 3 de dezembro de 2005

SAX Parser para arquivos não XML

Há um tempo atrás eu havia implementado um SAX parser para arquivos .ace (saída do phrap). Agora estou implementando um SAX parser para arquivos phd (saída do phred). No entanto, não estava conseguindo me lembrar dos conceitos envolvidos na criação de um SAX parser.

sexta-feira, 2 de dezembro de 2005

Problemas com conexão com banco de dados

Ao tentar obter uma conexão com banco de dados, tanto na aplicação no JBoss, quanto testando um JUnit no eclipse, obtenho a seguinte exceção:

java.lang.UnsatisfiedLinkError: no ocijdbc9 in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1682)
at java.lang.Runtime.loadLibrary0(Runtime.java:822)
at java.lang.System.loadLibrary(System.java:992)
at oracle.jdbc.oci8.OCIDBAccess.logon(OCIDBAccess.java:262)
at oracle.jdbc.driver.OracleConnection.(OracleConnection.java:346)
at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:468)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:314)


O problema foi resolvido após consultar a seguinte página:
http://myjdbc.tripod.com/basic/jdbcoci.html

O que ocorreu foi um problema de configuração. Após a máquina ter sido reinicializada, provavelmente alguma variável de ambiente necessária para o funcionamento do oracle foi alterada (reinicializada). Coloquei a inicialização das variáveis necessárias (LD_LIBRARY_PATH e ORACLE_HOME) no arquivo .bash_profile do meu usuário, e tudo voltou a funcionar.