JVM’s Livres
Paloma Costa
[email protected] http://javawoman.objectis.net
Sobre a Palestrante ■ ■
Java Developer e Tester Automation Técnica em Processamento de Dados
■
Estudante de Matemática e Ciências da Computação
■
Integrante da Coordenação de Software Livre RS Fórum Internacional de Software Livre (Responsável pelos Grupos de Usuários)
■
Usuária GNU/Linux desde 2001- Debian
■
■
Trabalha nos projetos de pesquisa e desenvolvimento da HP(TecnoPUCRS) Portal://javawoman.objectis.net (Material das palestras disponibilizado)
Objetivo • Apresentar as novas tendências da comunidade Software Livre mostrando o quanto a contribuição de desenvolvedores é significativa para formar mais “conhecimento compartilhado” de ferramentas e tecnologias. • Boa Palestra a todos!
O quê é Kaffe? • Kaffe é uma máquina virtual de Java. • As bibliotecas associadas necessárias fornecem um ambiente runtime Java. • Kaffe é uma escolha com uma base para a instrução e/ou pesquisa de máquina virtual. • Máquina Virtual de distribuição livre, código fonte disponível. • Desenvolvida e mantida pela comunidade de software livre. • Kaffe é embutido em distribuições Linux e BSD, como Red Hat, Mandrake, SuSE, Debian, Gentoo, Conectiva, PLD, Ark Linux, FreeBSD, NetBSD, OpenBSD, e muitos outros. Paloma Costa
[email protected]
JVM´s Livres 16 de Novembro de 2006
O quê não é Kaffe • Kaffe não contém código fonte da SUN Microsystems. • A SUN controla a marca registrada e nunca endossou Kaffe, portanto Kaffe não é Java.
Paloma Costa
[email protected]
JVM´s Livres 16 de Novembro de 2006
Licença • A máquina virtual Kaffe é software livre. • Tipo de licença GPL, licenciado sob os termos da licença GNU. • Plataformas portadas: Linux/Unix kaffe-1.1.7.tar.gz Windows kaffe-1.1.7.zip Todos SO's kaffe-1.1.7.tar .bz2
Paloma Costa
[email protected]
JVM´s Livres 16 de Novembro de 2006
Características • Kaffe está constantemente sob o desenvolvimento e faltam liberações atuais de Java. • Faltam muitas características chaves de uma execução JVM, características relacionadas a segurança. • Kaffe não é a melhor VM para desenvolver aplicações Java(eliminar erros). • Se você estiver aprendendo Java, é melhor usar um ambiente de desenvolvimento Java (tal como o JDK) licenciado pela SUN. • Kaffe não é o único projeto software livre de Java. Há outras execuções dignas da biblioteca VM e da classe a considerar.. Paloma Costa
[email protected]
JVM´s Livres 16 de Novembro de 2006
Relatórios de ERROS • Bugzilla: o sistema de erro do Mozilla. • Se você encontrasse um erro em Kaffe, nós gostaríamos de saber sobre ele, e apreciaríamos um relatório de erro. • Submeta um relatório de erro se Kaffe não compilar em sua plataforma, ou se sua configuração não funcionar. • Relate-o para GNU Classpath.
Paloma Costa
[email protected]
JVM´s Livres 16 de Novembro de 2006
Bugzilla • Bugzilla é uma base de dados para erros. • Possível relatar erros e atribuir estes erros aos colaboradores apropriados. • Os colaboradores podem usar Bugzilla manter uma lista para dar prioridade, programar e seguir as dependências. • Url: http://www.bugzilla.org/
Paloma Costa
[email protected]
JVM´s Livres 16 de Novembro de 2006
Projetos • GNU Classpath • O GNU Classpath são bibliotecas livres, projeto GNU para a linguagem de programação java. • Beneficia todas as outras VM´s em desenvolvimento. • Seu report possibilita o reparo através do Bug Tracker • Para criar um usuário http://www.kaffe.org/bugzilla/ • Classpath é ainda um trabalho em andamento. A primeira liberação pública será a versão 1.0. • O código fonte: ftp://ftp.gnu.org/gnu/classpath/ usuário anonymous do CVS GNU Paloma Costa
[email protected]
JVM´s Livres 16 de Novembro de 2006
Contribuição • Os voluntários são bem-vindos a contribuir. • Contato
[email protected] • Para maiores informações http://www.kaffe.org/projects.shtml
Paloma Costa
[email protected]
JVM´s Livres 16 de Novembro de 2006
Documentação • Para gerar a documentação é necessário instalar DocBook . • Kaffe é uma VM razoavelmente simples de trabalhar. • Ideal para os que tentam fazer a pesquisa ou que tentam apenas aprender como uma VM trabalha. • Infelizmente, Kaffe não vem com muita documentação. • Ideal é verificar a documentação no CVS ao lado do código fonte :)
Paloma Costa
[email protected]
JVM´s Livres 16 de Novembro de 2006
Doc xml man • kaffe-1.1.7\kaffe\man •
• KAFFE • <manvolnum>1 • March 2005 • Kaffe version 1.1.4-cvs • Kaffe project •
Paloma Costa
[email protected]
JVM´s Livres 16 de Novembro de 2006
Ciclo de vida da VM •
Visão geral do ciclo de vida de um programa de java. HelloWorld.java O compilador de java converte o programa ao código de bytecode, isto é o código de máquina para a máquina virtual. O método principal é alocar um espaço no heap, montar a informação sobre a classe em uma área do método, e dizer ao intérprete de java para ler dentro cada código do bytecode e executá-lo em um laço. O intérprete executa cada uma das instruções usando uma pilha alocada para cada linha. Os objetos novos são armazenados no heap. Algumas das instruções são chamadas nativas, que são enviadas a uma biblioteca nativa. O intérprete pára quando todas as linhas terminarem de processar.
Paloma Costa
[email protected]
JVM´s Livres 16 de Novembro de 2006
Paloma Costa
[email protected]
JVM´s Livres 16 de Novembro de 2006
Compatibilidade •
Versão da especificação Java com a qual é compatível com Kaffe
* Java 1.0 API contra Kaffe * Java 1.1 API contra Kaffe * Java 1.2 API contra Kaffe * Java 1.3 API contra Kaffe * Java 1.4 API contra Kaffe * Kaffe contra Java 1.4 API •
Maiores informações:http://www.kaffe.org/compatibility_japitools.shtml
Paloma Costa
[email protected]
JVM´s Livres 16 de Novembro de 2006
– Java 1.1 API contra Kaffe
Testes de Compatibilidade • Mauve O projeto mauve é uma suite livre de testes para as bibliotecas de classe Java. Há uma página com o histórico dos resultados de todos os testes . http://sources.redhat.com/mauve/ • Japitools Japitools é uma ferramenta para testar a compatibilidade de uma API, escrito por Stuart Ballard. Há uma página de status que mostra como kaffe é compatível às versões diferentes da API Java. http://sab39.netreach.com/japi/
Paloma Costa
[email protected]
JVM´s Livres 16 de Novembro de 2006
Suporte • A equipe de Kaffe
[email protected]
Paloma Costa
[email protected]
JVM´s Livres 16 de Novembro de 2006
Comunidades • O mercado de desenvolvimento Java brasileiro é um dos maiores do mundo. Devido ao trabalho de empresas e desenvolvedores, e em particular, ao esforço constante dos Grupos de Usuários Java (JUGs), que estão entre os mais ativos do mundo, a tecnologia Java vem crescendo e se espalhando no país.
FISL 8 8º Fórum Internacional Software Livre Dias 12, 13 e 14 de Abril de 2007 Porto Alegre, RS
Url: http://fisl.softwarelivre.org/8.0/www/
Criador • Dalibor Topic É estudante de informática que desenvolve software livre. No caso é o kaffe, uma máquina virtual para a linguagem java. Começou envolvido com kaffe em 1999 e mais seriamente durante 2002, que contribuia regularmente. Atualmente melhora a execução das bibliotecas de kaffe. Contribui no projeto malva. Colaborador no projeto GNU Classpath. Colaborador da ligação no projeto Kaffe OpenVM.
Paloma Costa
[email protected]
JVM´s Livres 16 de Novembro de 2006
Perguntas ???? Muito Obrigada!
Referências • GNU ClassPath http://www.gnu.org/software/classpath/ • Javali http://www.javali.org.br/ • Kaffe http://www.kaffe.org/ • Testes Kaffe http://tinderbox.anholt.net/tinderbox3/showbuilds.pl?tree=kaffe • Projeto Software Livre Brasil http://www.softwarelivre.org/ • Mauve http://sources.redhat.com/mauve/ • Japitools http://sab39.netreach.com/japi/