terça-feira, 1 de dezembro de 2009

RESUMO JAVA

Java é muita coisa:
  • A Linguagem de programação Java;
  • O ambiente de execução Java;
  • O kit de desenvolvimento Java;
  • Uma biblioteca de classes (API) Java.

Desde a versão 1.2, passou a ser chamada de “Java 2”e foi dividida em:

  • Java 2 Platform Standard Edition (JavaSE);
  • Java 2 Platform Enterprise Edition (JavaEE);
  • Java 2 Platform Mobile Edition (JavaME).
  • Cada uma tem sua API;

A JavaSE é base para as outras.

A partir da versão 6, tira-se o “2”:
  • Java Platform, Standard Edition 6 ou Java SE 6;
  • Java Platform, Enterprise Edition 6 ou Java EE 6;
  • Java Platform, Mobile Edition 6 ou Java ME 6.
O “Java2” permanece na versão 1.5 e anteriores.


J2SE

Ferramentas de desenvolvimento + API núcleo da plataforma Java;

Permite o desenvolvimento de aplicações desktop, inclusive com interface gráfica, acesso à banco de dados, I/O, rede, etc.

Dividida em:
  • JDK = Java Development Kit;
  • JRE = Java Runtime Environment.
JDK

Somente para os programadores;

Contém:
  • Ferramentas de desenvolvimento;
  • Ambiente de execução (JRE);
  • API Java SE (compilada e código-fonte);
  • Programas de demonstração;
  • Bibliotecas adicionais;
  • Documentação (obtida separadamente).

JRE

Necessária para rodar programas Java, pois além de compilada, Java também é interpretada;

É a única parte da plataforma Java que os clientes necessitam instalar;

Em alguns sistemas operacionais (ex. MacOS X) já vem instalada.

Implementação da Sun: ~ 15 MB.
  • Compilador (javac);
  • Interpretador (java);
  • Gerador de documentação (javadoc); 
  • Depurador (jdb); 
  • Gerador de pacotes (jar);
  • Outros:
  • Visualisador de applets (appletviewer);
  • Criptografia (keytool, jarsigner, etc.);
  • Etc.

A Sun dá suporte às seguintes plataformas:
  • Windows i586 / AMD64;
  • Linux i586 / AMD64;
  • Solaris SPARC / x86 / x64.
A Apple desenvolveu versão para MacOS.

Outras:

HP UX, FreeBSD, OS/2, AIX, AS/400, OS/390, IRIX, Alpha, SCO, NetWare, etc.;

Nem todas são atuais ou completas

Escreva uma vez e execute em qualquer lugar


Java é compilada e interpretada:
  1. Códigos das classes são compilados para uma linguagem intermediária chamada Bytecode;
  2. O Bytecode é interpretado por uma “máquina virtual”: a JVM;
  3. A JVM envia comandos específicos da plataforma para o sistema operacional

Principais API's
  • AWT/Swing: interfaces gráficas;
  • Java2D: desenho;
  • JDBC: acesso a bancos de dados;
  • JNDI: acesso a servidores de nomes;
  • RMI: invocação remota de métodos;
  • Beans: padrão JavaBeans;
  • i18n: suporte a internacionalização;
  • I/O: entrada e saída (arquivos);
  • JNI: integração com linguagens nativas;
  • Math: cálculos matemáticos;
  • Networking: transmissão pela rede;
  • Security: segurança;
  • Serialization: persistência por serialização;
  • XML: processamento de XML e afins;
  • Lang & Util: núcleo da linguagem, utilitários (coleções, datas, compactação, etc.);
  • Concurrency: programação concorrente (threads);
  • Logging: funções de relatório (log);
  • Reflection: reflexão e instrospecção.

J2EE


Permite o desenvolvimento de aplicações corporativas:

  • Multi-camada, distribuídas, centradas em servidores, altamente robustas, estáveis e escaláveis;
  • Inclui as especificações para desenvolvimento Web: Servlets, JSP, Web Services.

Servlets e JSPs:


Componentes que respondem à requisições web, usados para construir páginas dinâmicas e Web Services.


EJBs:


Componentes gerenciados integrados a outras tecnologias Java EE para prover acesso remoto, persistência e transações transparentes, processamento assíncrono, etc.


Java EE não é só Servlets e EJB:
  • RMI/IIOP e Java IDL: conectividade;
  • JNDI: serviço de nomes;
  • JAC e JNI: acesso a sistemas legados;
  • JAAS: segurança;
  • JTA: transações em bancos de dados;
  • JMS e JavaMail: envio de mensagens;
  • E tudo mais que já temos no J2SE...

Servidores web:
  • Apache Tomcat, Caucho Resin, Jetty, etc.

Servidores de aplicação:
  • BEA WebLogic, Borland Enterprise Server, JBoss Application Server, Oracle Application Server, IBM WebSphere, GlassFish, Geronimo, etc.;

 Bom, nos próximos posts vamos nos aprofundar nos itens constantes nesse resumo.

Grande abraço à todos!




Nenhum comentário: