Java Até onde podemos ir tomando café? Pensamentos elevados devem ter uma linguagem elevada Aristófanes
O que é Java? Linguagem ou Tecnologia?
O que é Java? Ao contrário do que muitos pensam, Java não é apenas uma linguagem de programação, mas sim uma 'Plataforma de Desenvolvimento e Execução de Software'. Plataforma composta principalmente por: Máquina Virtual Java(JVM). Linguagem de programação. Conjunto padrão de bibliotecas (Core API). Ambiente de Deployment.
Java 2: As 3 grandes áreas
Arquitetura J2SE
Java Community Process www.jcp.org
Java Community Process Organização aberta e participativa de desenvolvedores e licenciados da tecnologia Java. Objetivo: Desenvolver e revisar as especificações Java, implementações de referência e os kits de compatibilidade. Conta hoje (20/09/2008) com mais de 1500 membros.
Java Specification Request (JSR) Solicitação para uma nova especificação. Pode ser: Modificação de uma especificação existente. Nova biblioteca. Nova plataforma. Possui um líder (Spec Lead) e um grupo (Expert Group). Fases: JSR Review. Community Draft. Public Draft. Final Release. Exige uma Implementação de Referência (RI) e um kit de teste de compatibilidade (TCK).
JSR#176: J2SE 1.5 (Tiger) Apache Software Foundation Borland Software Corporation Hewlett-Packard Nokia Corporation SAP AG SavaJe Tecnologies Apple Computer, Inc Cisco Systems Fujitsu Limited IBM Macromedia, Inc Oracle Sun Microsystems (Lead)
JSR#26: UML EJB Fujitsu Limited IONA Tecnologies PLC Oracle Sun Microsystems, Inc IBM Open Cloud Rational Software (Lead) Unisys
JSR#37: MIDP America Online Espial Group Hitachi, Ltda KDDI Corporation Ericsson Inc Fujitsu Limited J-Phone Tokio Matsushita Eletric Mitsubishi Eletric Corp Motorola (Lead) NEC Nokia Corporation Oracle Research In Motion SONY International Samsung Eletronics Sharp Corporation Siemens AG Sun Microsystems Symbian Telcordia Tecnologies
SunSource.net A Sun Microsystems suporta alguns projetos de software livre: OpenSolaris: sistema operacional. Brazil: desenvolvimento de aplicações Web. GlassFish: servidor de aplicações. Grid Engine: administração de recursos distribuídos. Interoperability Prototype for Liberty. JRMS: multicast applications. JXTA: computação distribuída com peer-to-peer. Netbeans: ide java. OpenOffice.org: office livre. Jini: descoberta de serviços em rede.
LINGUAGEM MAIS UTILIZADA DO MUNDO Java tem 20.72% de popularidade entre os programadores.
Java.net O site foi criado para centralizar a comunidade Java mundial em um local de discussão, de troca de informação, código e experiências. Foi observado que foram criadas diversas tecnologias que tornaram-se padrões mesmo sem terem passado pelo JCP. Alguns projetos: Java Desktop Java Games Java Patterns Javapedia
Máquinas Virtuais Livres Projetos de JVM
GNU e Java GCJ: The GNU Compiler for Java Fonte Java diretamente para código de máquina. Fonte Java para bytecodes Java. Bytecodes Java para código de máquina. The GNU Package Coleção de pacotes Java licenciadas pela GPL. Máquinas virtuais Kaffe e Japhar
Java e Linux Primeiro porte foi efetuado pela Blackdown. Existem também máquinas fornecidas pela IBM e pela Sun. A Sun libera simultâneamente suas versões da máquina virtual Java para Solaris, Windows e Linux.
Java e FreeBSD Em Dezembro de 2001, a Fundação FreeBSD recebeu a licença para portar oficialmente a máquina virtual Java para o sistema operacional FreeBSD de maneira nativa. Antes disto, os usuários usavam a máquina virtual para Linux. http://www.freebsd.org/java
Kaffe e Guaraná Kaffe é uma implementação livre da máquina virtual Java em conjunto com a bibliotecas básicas de classes (core api). Boa escolha para pesquisas e estudos de máquina virtual. Foi usada como base para uma máquina virtual reflexiva no Brasil: Guaraná.
Projeto Javali Projeto criado pelo jug Soujava para auxiliar o uso de tecnologias abertas pelo Governo Brasileiro. http://www.javali.org.br Objetivos: Promover geração de tecnologia. Geração de conhecimento em universidades e centros de pesquisa. Auxiliar o Governo no desenvolvimento de aplicações. Ampliar a atividade dos JUG's. Posicionar o Brasil no mercado mundial. Integrar desenvolvedores nacionais com os internacionais.
Projetos Javali Máquina Virtual Livre Conjunto de Bibliotecas Livres IDE Soluções de Integração de Aplicações Cliente Componentes Visuais para egov Tecnologia para TV Digital Geração de Documentação em Português
SuperWaba Máquina virtual similar ao Java para PDA's Palm e Pocket PC e Symbian. Utilizado pela COPEL (Compania Paranaense de Eletricidade) em seus sistemas. Mantido por um brasileiro.
LeJOS: Java em Lego Máquina virtual livre que possibilitou uso de Java em controladores RCX.
Outras Máquinas Livres Jikes RVM (IBM) Máquiva virtual para pesquisas. Testes de design. Japhar Máquina virtual escrita do zero. LaTTe Específica para máquinas RISC. JamVM Pequena VM para PowerPC kissme Criada inicialmente para decoders de satélite. SableVM Projeto de pesquisas de Etienne M. Gagnon, Ph.D. joeq Escrita totalmente em Java.
Software Livre com Java Alguns exemplos:
IDE's Java Livres NetBeans IDE patrocinada pela Sun. Eclipse IDE patrocinada pela IBM. jedit Editor de fontes baseado em plugin's. Jext IDE para diversas linguagens escrita em Java. BlueJ IDE para aprendizado introdutório de OO.
Servidores J2EE JBossAS Foi escolhido como melhor servidor de aplicação pela revista JavaWorld no ano de 2002. JOnAS Já foi chamado de JBoss Killer :-). Apache Geronimo Servidor que vem sendo desenvolvido pela Apache. JFox Servidor J2EE chinês. GlassFish Projeto java.net promovido pela Sun.
Servidores J2EE - Servlets/JSP Jetty Servidor Servlet/JSP da Mort Bay. (Consultora Jetty e JBoss). Jigsaw Servidor HTTP 1.1 de referência da W3C. Tomcat Servidor de referência da tecnologia Servlet/JSP.
Banco de Dados e Prevalência HSQL Banco de Dados SQL leve escrito em Java. Usado no programa de acompanhamento da apuração eleitoral. McKoi Banco de Dados SQL escrito em Java para execução emambiente Client/Server. Derby Projeto da Apache derivado do Cloudscape. Prevailer Camada de prevalência escrita em Java. Escrito por um brasileiro e utilizado mundialmente.
Projeto Jakarta Jakarta é um projeto da Fundação Apache, encarregado da criação e manutenção de soluções server-side de fonte aberto e de qualidade comercial para a plataforma Java, baseadas na licença da própria fundação para serem distribuídos sem custo para o público.
Enhydra Projeto similar ao Apache, mas com maior foco no E-Business. Milhares de desenvolvedores em 50 países. Aplicações: Open Source Enhydra: Application Server baseado em XML. Enhydra ME: Apis para Java 2 Micro Edition. Applications: Design Gráfico para Workflow. Tools & Tecnologies: Ferramentas XML, plugins para IDE's, relacionamento objeto-relacional.
ObjectWeb Consortium Comunidade de software Open Source criada no final de 1999 pela France Telecom, Bull e INRIA e é mantido pelo Ministério Francês da Economia, Finanças e Industria. Objetiva o desenvolvimento de middleware Open Source.
Compiere ERP & CRM Implementação de um ERP com CRM integrado desenvolvido em Java 2 Enterprise Edition. Contra: Fortemente integrado com Oracle 9i. Atualmente sendo desenvolvido o porte para PostgreSQL. CompiereBR: Versão suportada no Brasil. Abrange os processos de Vendas, Compras, Financeiro, Contabilidade, Custos, Manufatura, Estoque, Projetos, Serviços e WebStore.
OpenSymphony Projeto Open Source dedicado a prover aplicações e componentes J2EE (maioria Servlet). Objetivo similar ao Jakarta Commons. Possue: Classes utilitárias. Layout para páginas web. Engine de Workflow. Cache para J2EE. etc...
sourceforge.net É o maior site de desenvolvimento Open Source e abriga muitos projetos em Java. Java é a terceira tecnologia mais utilizada no site. No dia 10/09/2005 estava com 17.352 projetos em Java. Segunda colocada. 18000 Projetos por Linguagem 16000 14000 16192 15970 15479 12000 11647 10000 8000 6000 4000 2000 1872 2682 2137 0 4 25 C++ Java C PHP Delphi C# Cobol Progress VisualBasic
jake2 Porte do engine Quake2 da idsoftware para java.
Joone Java Object Oriented Neural Engine Joone é framework livre para criação, treinamento, e testes de redes neurais. Inclui um editor visual.
MegaTrack Faz o tracking de tempestades tropicais.
jlgui Java Music Player Aplicação em Java que suporta os formatos MP3, OGG Vorbis, WAV, AIFF, AU e SPEEX. Clone do winamp ;-), inclusive suporte as skins. Você pode iniciá-lo da sua pagina via JWS.
Columba Cliente de e-mail
Azureus Cliente BitTorrent em Java.
Software Livre com Java Por que usar?
Padrão Aberto e Multi- Plataforma
Java e Software Livre Obrigado pela paciência!... If you can imagine it, Someone is doing it in Java