Escolar Documentos
Profissional Documentos
Cultura Documentos
Java
Em 1991, o foi lanado pela Sun o "Project Green", como um resultado direto de uma observao feita por um desenvolvedor, que sentia que a Sun estava trilhando o caminho errado. O novo projeto foi apoiado por desenvolvedores de topo que receberam a instruo de fazer o que eles desejassem - de preferncia algo "legal". Os membros do projeto decidiram que uma idia legal poderia focar em como integrar digitalmente dispositivos de consumidores como TVs, CD players e computadores. Para isto ser possvel muitas novas tecnologias tiveram que ser testadas ou inventadas. Entre elas C++, uma boa linguagem de programao, foi testada. Mas ela no poderia oferecer imediatamente o que era necessrio - especialmente portabilidade, confiabilidade e programas com um tamanho que coubesse em dispositivos pequenos. Assim Java - ou Oak como foi chamado naquela poca - nasceu. Criado pelo arquiteto e programador lder James Gosling, foi meramente uma ferramenta para os programadores no Projeto Green naquela poca, mas teve um potencial maior do que qualquer um poderia ter sonhado.
James Gosling chamou a linguagem inicialmente de Oak (carvalho) em homenagem a uma rvore que dava para a janela do seu escritrio na Sun. Descobriu-se mais tarde que j havia uma linguagem de computador chamada Oak. Quando uma equipe da Sun visitou uma cafeteria local, o nome Java (cidade de origem de um tipo de caf importante) foi sugerido e pegou.
Em Novembro de 1992, o Projeto Green mudou de nome para FirstPerson. Dada a falta de sucesso do Java at ento na indstria de eletrnicos de consumo, a direo da companhia estava incerta. Sob a influncia da Sun, a companhia comeou a re-avaliar sua misso. Em 1992 foi lanado um pequeno dispositivo porttil parecido com um controle remoto, com uma pequena tela. Ele foi chamado Star-7. E ele certamente era legal. Para facilitar o uso do dispositivo, um pequeno personagem chamado "Duke" aparecia na tela. Duke agora o mascote oficial do Java. No comeo de 1993, a Time Warner lanou uma licitao para a criao de um sistema operacional para conversores de tv a cabo (set-top boxes) e para uma tecnologia de vdeo-por-demanda interativa. FirstPerson identificou esta rea como uma nova oportunidade e comeou a trabalhar naquela direo. Contudo, apesar dos esforos do pessoal da FirstPerson, a SGI assinou o contrato com a Time Warner. Em meados de 1993, a Sun comeou a negociar com a 3DO o fornecimento de um SO baseado em Java para seus conversores de TV. As negociaes, entretanto, no tiveram sucesso e nunca foi feito um acordo. A FirstPerson foi deixada por sua prpria conta sem nenhuma possibilidade de negcio vivel. Uma outra tentativa da companhia de comercializar sua tecnologia de TV interativa falhou em Fevereiro de 1994 quando um lanamento pblico de seus produtos foi cancelado. O projeto tentou vender sua idia para vrias companhias interessadas - sem sucesso. Pessoas deixaram o projeto, e apenas uns poucos permaneceram tentando imaginar o que fazer com suas boas idias. Naquela poca a Internet era mais para aficionados em computadores que sabiam como manipular protocolos como FTP e Telnet. Ento um programa chamado Mosaic construdo para o protocolo HTTP foi construdo em 1993, tornando possvel a usurios normais a visualizao de documentos HTML na Internet. Este foi um marco importante. Os membros restantes da equipe se animaram: sua tentativa de desenvolver uma interface interativa, robusta, segura e independente de arquitetura para dispositivos digitais tambm poderia ser usada na Internet! Uma vez que a Internet era uma rede que ligava centenas de computadores de marcas diferentes executando sistemas operacionais diferentes. Dessa forma, durante 1994, a equipe criou seu prprio browser chamado "HotJava", que apresentava uma tcnica que permitia aos usurios interagirem com as pginas Web. Coisas fantsticas como ter objetos 3D que rotacionavam atravs do uso do mouse eram possveis. O applet nasceu e as pessoas ficaram animadas com ele. Para pr isto em perspectiva, voc tem que lembrar que o que as pessoas tinham visto at ento na Web era esttico, como pginas HTML. Uma grande forma de se compartilhar informao, mas no muito divertida. Pgina 1
Em 1995, a Sun tomou uma atitude importante. O cdigo fonte do Java foi liberado como "fonte aberto" a fim de ganhar a ateno dos desenvolvedores de todo o mundo. Foi um sucesso. Em pouco tempo os membros da equipe j passavam dias e noites respondendo emails, consertando bugs e preparando novas verses. A Netscape anunciou suporte para Java na verso 2.0 de seu browser, que se tornou disponvel em Setembro de 1995. Estava claro agora para todos que um sucesso havia nascido.
Pgina 2
Java Lento?
Benchmarks mostram que Java no executa to rpido quanto programas C++, por exemplo. Como Java interpretado enquanto que C++ compilado, isto natural. Mas "lentido" um termo relativo, e talvez a velocidade do seu programa Java no seja problema na aplicao que voc estiver construindo. Tudo depende de coisas como quantos usurios voc planeja atender ao mesmo tempo, quo poderoso o seu hardware e quanto processamento realmente feito em sua aplicao. No abandone o Java porque ele mais lento do que C++. Os computadores eram muito mais lentos a apenas 5 anos atrs, mas tnhamos muitas boas aplicaes executando naquela poca. No pense que ningum est tentando melhorar a performance do Java. Hoje muitas VMs tm compiladores JustIn-Time (JIT) embutidos nelas. Um compilador JIT traduz o bytecode - quando ele est para ser processado - para o cdigo de mquina nativo dos computadores. Este cdigo de mquina ento mantido (em um buffer ou cache) de forma que ele possa ser reusado se o bytecode correspondente for executado mais de uma vez.
Applets
Um applet geralmente um pequeno programa Java destinado a ser executado em um browser. H uma tag HTML especial para ele: >APPLET>, que define uma "rea de trabalho" semelhante a de um arquivo gif ou jpg. Dentro desta rea o applet pode interagir com o usurio. O browser faz o download do applet (que um arquivo contendo bytecode) automaticamente. Se o applet pequeno voc raramente nota ele - a menos que o browser tenha que carregar primeiro a VM? Mas um applet mais complexo pode levar tempo para carregar, e infelizmente alguns browsers no revelam que eles esto ocupados carregando o applet, ento um usurio impaciente pode clicar em "stop" ou recarregar, e acaba ficando frustrado com o que est acontecendo. O que ficou imediatamente claro para muitos desenvolvedores Web foi que eles agora tinham uma chance de fazer uma GUI muito mais sofisticada. Eles poderiam implementar menus avanados, grficos de negcio e coisas em 3D. Voc esses tipos de coisas na Internet se procurar por eles. O problema, entretanto, foi e ainda que as VMs no so 100% compatveis. Uma "GUI" pode no ser a mesma para um programador PC e para um programador Mac. Assim os desenvolvedores se viram em um problema ao testar seus applets em uma grande variedade de browsers, verses e sistemas operacionais. Ele no era portvel? Com o Internet Explorer 5.5 e Netscape 6 e com suas promessas de suporte aos padres, as pessoas comearam a usar menos applets e lanar mo de DHTML para manter as GUIs to simples quanto possvel.
Java Beans
Com o JDK 1.1 (o Java Developer Kit) em Fevereiro de 1997 muitas caractersticas importantes foram adicionadas, entre elas acesso a bancos de dados atravs do Java Database Connectivity (JDBC, muito parecido com o ODBC) e JavaBeans. Se voc conhece SQL e tem alguma experincia com Java ento JDBC ser fcil para voc. Um bom local para usar o JDBC dentro de componentes JavaBeans. Um bean uma classe Java muito simples - veja o exemplo acima - onde voc segue algumas convenes de codificao simples. Um bean funciona como um container para uma coleo de propriedades que voc ou ajusta atravs de mtodos "setters" ou l atravs de mtodos "getters". Ajustar alguns ou todas as propriedades em um bean geralmente permitir que o bean faa algumas processamentos para voc - por exemplo, ler um banco de dados e retornar os resultados Parece difcil? No . Pense em uma situao em que voc d a um bean o CPF de um empregado (atravs de um mtodo set), ento use um mtodo "ler-empregado", e finalmente use um mtodo get para obter os dados pessoais do empregado. Construindo beans que contm a lgica de negcio voc pode ter uma boa biblioteca de componentes reusveis que podem ser usados em qualquer aplicao que tem uma interface Java.
Servlets
Por um tempo, a Sun anunciou novas caractersticas com tanta freqncia que era muito difcil se familiarizar com elas antes que novidades surgissem novamente. Em Junho de 1997 a interface de servlets foi anunciada. Como o nome implica, um servlet a verso para servidor ds applets clientes - componentes para serem usados em um servidor Web. Servlets so destinados a substituir o antigo Common Gateway Interface (CGI), uma das primeiras extenses para servidores Web simples, que tornaram possvel a criao de contedo HTML dinmico. Um programa CGI primeiro obtm uma requisio de uma pgina HTML (geralmente atravs de um formulrio), processa essa requisio, e finalmente envia uma pgina HTML completa de volta ao browser. Um programa CGI pode ser escrito em diversas linguagens - Perl e C so algumas das mais populares. Pgina 3
O problema com o CGI que ele muito ineficiente, uma vez que tem que iniciar um "processo" para cada requisio ao servidor. Servlets rodam em um nico processo usando "threads", permitindo que eles interajam melhor como servidor Web. E como servlets so escritos em Java, eles so portveis. Servlets podem usar JavaBeans para acessar lgicas de negcio e bancos de dados. Assim agora temos uma boa caixa de ferramentas de tecnologias Java para construir aplicaes Web: servlets, beans e JDBC. Essas ferramentas tm provado muita utilidade, e hoje ainda so muito importantes.
O cdigo acaba no se parecendo muito com o HTML. O que era necessrio era uma melhor separao de cdigo Java e HTML. Java Server Pages (JSP) vieram para resolver isto no fim de 1998. Altamente inspirado no
sucesso do ASP da Microsoft, a Sun apresentou esta abordagem mais amigvel para desenvolvimento de aplicaes Web. Em vez de apenas colocar HTML dentro de programas Java, o JSP tambm oferece o cenrio contrrio. Podemos embutir cdigo Java dentro de nossas pginas HTML. A linha acima agora fica assim: Welcome <%=username%> Uma vez que podemos misturar servlets (utilizando JavaBeans) com JSP quando quisermos, agora possvel permitir que nossos programadores trabalhem com a lgica de negcio em Java, e deixem os projetistas da GUI trabalhando com HTML e JSP. Este realmente um framework que funciona muito bem. No surpresa que JSP til - ASP se provou til pelos ltimos 4 anos. Tendo servlets e beans como companheiros do JSP, os desenvolvedores podem criar aplicaes bastante modulares, escalveis, portveis e de fcil manuteno. Se voc est construindo aplicaes ou prottipos mais simples e voc no tem muitos experts em Java por perto, ento uma soluo JSP pura definitivamente uma possibilidade vivel. Se voc precisa acessar um banco de dados, melhor tratar isto dentro de JavaBeans acessados de suas pginas JSP.
Pgina 4