DIA 7. Java não é só uma linguagem. Java é uma tecnologia. Se você aprender bem a linguagem C++, por exemplo, não há mais nada que precise saber (incluindo a orientação a objeto). Mas se você aprender bem a linguagem Java, só isso não será suficiente para ser um profissional na tecnologia. Hoje vou tentar ajudar você a entender como Java dominou o mundo da programação. A ideia original em 1995 foi Escreva uma vez. Rode em qualquer lugar. Esta filosofia a fez poderosa e mundialmente difundida. Em agosto de 2016 a linguagem estava em primeiro lugar na ordem de preferência das organizações com 19,010 %1. Veja quem em maio de 2014, a campeã era a superveloz C++, com 34,70%. Existe uma briga aí fora, que não percebemos de dentro de nossos escritórios: A briga pela pela primazia dentre as linguagens! Primeiramente assista ao vídeo sobre uso da tecnologia Java. Está em inglês, mas mesmo aqueles que não dominam a linguagem vão entender a ideia. Já que a tecnologia tem de rodar em qualquer lugar, temos de pensar como os criadores resolveram isso: 1 Se ela vai rodar num celular então precisamos de um simulador de celular, o Wireless Tolkit, compilador, JVM (Máquina Virtual Java). A tecnologia Java ME (Micro Edition) faz isso. Se ela vai rodar no seu desktop então precisamos de um editor de programas, ferramentas de desenvolvimento, compilador, JVM. Java SE (Standard Edition) faz isso. Se ela vai rodar em servidores.- de novo, compilador, JVM. Java EE (Enterprise Edition) faz isso. Se ela vai rodar num módulo de exploração marciana o Mars Rover, por exemplo, precisamos de uma placa-mãe especial com interpretador e compilador Java a bordo. Há programas Java rodando lá dentro daqueles carrinhos marcianos, usando JVM. http://www.tiobe.com/tiobe-index/
JAVA É SINÔNIMO DE NEGÓCIOS MILIONÁRIOS Se você se der ao trabalho de ler as licenças dos produtos Java, verá que eles não são gratuitos se você fizer uso comercial deles. Assim, se você desenvolver um produto em Java e vendê-lo, Java não sairá de graça para você. Geralmente a Sun e agora a Oracle cobrará um valor se licenciamento por cada produto vendido. Se você compra um equipamento blu-ray, embutido em seu preço está a parte devida à Oracle pelo uso da JVM. Quem desenvolveu o sistema de controle e reprodução também paga à Oracle. AS FORMAS DE EXECUTAR JAVA Você pode compilar e executar um programa Java a partir do prompt de comando de seu sistema operacional. É claro que você pode fazer isso também a partir de uma IDE no ambiente gráfico do sistema. Mas você também pode rodar Java a partir de um navegador, através de um plugin Java. Este último método vai deixar de ser possível em breve (veja a reportagem em [ HARDWARE, 2016 ] ). Se o seu programa está num servidor, ele poderá rodar assim que um cliente requisitar um serviço, como é o caso dos Webservices, ou sites movidos a Java, por exemplo.
ENUMERANDO AS ARQUITETURAS. Uma leitura de [ ORACLE, 2012 ] - capítulo 2 - irá delinear a complexidade da arquitetura Java. As plataformas de programação Java (SE, EE, ME, FX) Aplicações em camadas Cliente Web Tecnologias usadas na camada web Servlets JavaServer Faces JavaServer Faces Facelets Expression Language JavaServer Pages (JSP) JavaServer Faces Standard Tag Library JavaBeans Components Negócios Tecnologias usadas na camada de negócios Enterprise JavaBeans JAX RS RESTful webservices JAX-WS web services endpoints Java persistence API entities Java EE managed beans Sistemas de informação de negócios (Enterprise informations systems tier) Tecnologias JDBC Java Persistence API Java EE Conector Architecture Java transaction API (JTA) Java EE Servers EE Containers Web Container Application Client Container EJB Container Tabela 1: Arquiteturas Java Você, prezado aluno, a esta altura deve estar um tanto apreensivo. Como aprender e entender tantos aspectos de Java? Não se preocupe. O truque é (1) só se preocupar com o problema quando ele aparecer e (2) ser objetivo na solução dele. Leia [ PISTOIA, 1999 ] para entender a arquitetura de segurança proposta no início do projeto Java. O texto foi escrito quando Java tinha quatro anos. Paciência: são 702 maravilhosas páginas, mas o texto é para aqueles que lêm textos técnicos em ingês.
Referências. [ GARUD, 2002 ] Garud, l. et alli: Institutional entrepreneurship in the sponsorship of common technological standards: the case of Sun microsystems and Java. 2002. West Chester University. Disponível em < http://digitalcommons.wcupa.edu/cgi/viewcontent.cgi? article=1001&context=man_facpub >. Último acesso em 20/08/2016. [ HARDWARE, 2016 ] Descontinuado: Oracle anuncia o fim do plugin Java para os navegadores. Disponível em < http://www.hardware.com.br/noticias/201601/descontinuado-oracle-anuncia-fim-do-plugin-java-para-os-navegadores.html >. Último acesso em 22/08/2016. [ MENGUE, 2002 ] Mengue, Fabio. Curso de Java Básico. Unicamp: Campinas. 2002. Disponível em < http://ftp.unicamp.br/pub/apoio/treinamentos/linguagens/java_basico.pdf >. Útimo acesso em 22/08/2017. [ ORACLE, 2012 ] Your first cup: An introduction to the Java EE Platform. Oracle: Redwood 2012. Disponível em < http://docs.oracle.com/javaee/6/firstcup/doc/firstcup.pdf >. Último acesso em 08/08/2014. [ ORACLE, 2013 ] GlassFish Server Open Source Edition - Quick Start Guide - Release 4.0. Oracle: Redwood, 2013. Disponível em <https://glassfish.java.net/docs/4.0/quick-startguide.pdf>. Último acesso em 08/07/2014. [ PISTOIA, 1999 ] Pistoia, M. et alli: Java 2 Network Security, 1999. IBM. < http://researcher.watson.ibm.com/researcher/files/usmsteiner/java.java2network_security.pdf >. Último acesso em 24/08/2016.