Mostrando postagens com marcador JAVA. Mostrar todas as postagens
Mostrando postagens com marcador JAVA. Mostrar todas as postagens

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!




segunda-feira, 30 de novembro de 2009

Instalando o Java

Existem uma série de acrônimos relacionados ao java. vamos mencionar uns aqui:
  • JVM (Java Virtual Machine) apenas a virtual machine;
  • JRE (Java Runtime Environment), ambiente de execução Java, formado pela JVM e bibliotecas, tudo que você precisa para executar uma aplicação Java.
  • JDK (Java Development Kit) Nós, desenvolvedores, faremos o download do JDK do Java SE (Standard Edition).
Antes de instalar, baixe o JDK 5.0 ou superior, do site do Java da Sun, em
http://java.sun.com . Pegue a versão internacional e cuidado para não baixar o que tem mais de 90 megas, que é a primeira opção na página de download: esta versão vem com o Netbeans(IDE de desenvolvimento), que é uma ferramenta da Sun, e não nos interessa no momento. Mais para baixo da página existe uma versão menor, algo em torno de 60 megas, sem essa ferramenta.

Esse software disponível na Sun é gratuito, assim como as principais bibliotecas Java e ferramentas.

É interessante você também baixar a documentação do JDK 5.0, o link se encontra na mesma página e possui outros 40 megas.

O procedimento de instalação no Windows é muito simples: basta você executar o arquivo e seguir os passos. Instaleo no diretório desejado.

Depois disso, é necessário configurar algumas variáveis de ambiente, para que você possa executar o compilador Java e a máquina virtual de qualquer diretório. Em cada Windows você configura as variáveis de ambiente de uma maneira diferente. São duas as variáveis que você deve mudar:

  • CLASSPATH=.
  • PATH=;c:\diretorioDeInstalacaoDoJava\bin
A variável PATH provavelmente já tem muita coisa e você só precisa acrescentar. Já a variável CLASSPATH deve ser criada. No Linux, são as mesmas variáveis, mas o PATH é separado por :. Nos Windows velhos, como o 98, você deve alterar isso no autoexec.bat.

Nos Windows mais novos, como NT, 2000, e XP, procure onde você pode adicionar novasvariáveis de ambiente (em Iniciar Painel
de Controle – Sistema – Avançado Variáveis de
Sistema).
No Linux, geralmente a alteração deverá ser feita no arquivo ~/.bashrc se você  não tiver privilégios de administrador.

sábado, 14 de novembro de 2009

JVM? JRE? JDK? e como escrever classes no JAVA

Bom, dando continuidade ao nosso estudo de java, falaremos sobre o processo de compilação e execução de programas desenvolvidos nessa linguagem.

O Java é mantido pela SUN e para trabalharmos com a aludida linguagem, necessitamos das ferramentas fornecidas por essa empresa. vamos a elas:

  • JVM = apenas a virtual machine, esse download não existe
  • JRE = Java Runtime Environment, ambiente de execução Java, formado pela JVM e bibliotecas, tudo que você precisa para executar uma aplicação Java.
  • JDK = Java Development Kit: Nós, desenvolvedores, faremos o download do JDK do Java SE (Standard Edition).
Quando compilamos um código escrito com a linguagem, o compilador gera um arquivo que chamamos de Bytecode.Uma espécie de código ou linguagem intermediária que é interpretado pela máquina virtual (JVM) essa máquina virtual tem diversas implementações, uma para cada plataforma (Windows, MAC OS, java entre outras).

Para compilar utilizamos o programa javac presente no JDK e para executar os programas utiliza-se o programa java.

Os arquivos escritos pelo programador deverão conter a extensão .java. Após a compilação, o compilador gerará um arquivo com a extensão .class


javac nomePrograma.java       java nomePrograma.classe

Colocado os "pingos nos is", cabe a nós mostrarmos as estrutura ou a sintaxe de como escrever classes em java:

//nome do pacote com a função de organizar classes com mais ou menos a mesma
package nomeDoPacote função

//indica os pacotes e as respectivas classes com as quais a classe em questão trocará mensagens



import nomeDoPacote.nomeDaClasse

//aqui definimos a classe

class NomeDaClasse{

//Assim definimos um atributo


modificadorDeAcesso tipoDoAtributo nomeAtributo;

//Assim definimos um método

modificadorDeAcesso tipoDeRetorno nomeDoMetodo( TipoDoParametro nomeDoParametro)
{
       //Aqui escrevemos a implementação do método
}


}

Cabe aqui ressaltarmos algumas características importantes:

  • O Java é case sensitive, ou seja, um atributo chamado valor será diferente de VaLoR. Exemplo: Contato;
  • Por convensão, utiliza-se a notação CamelCase;
  • Nome de classe se inicia com letra maiúscula e nomes de atributos e métodos inciam-se com letra minúscula. exemplos: getNome, nome
Exemplo prático:

class TestaIdade {



public static void main(String[] args) {


// declara a idade


int idade;


idade = 15;


// imprime a idade


System.out.println(idade);


// gera uma idade no ano seguinte


int idadeNoAnoQueVem;


idadeNoAnoQueVem = idade + 1;


// imprime a idade


System.out.println(idadeNoAnoQueVem);


}


}
 
  • Salve o código como TestaIdade.java
  • Compile o código digitando no console javac TestaIdade.java
  • Execute o programa digitando no console java TestaIdade.class
Nos próximos Posts falaremos mais sobre o JAVA

segunda-feira, 9 de novembro de 2009

A IDE Eclipse

O Eclipse (http://www.eclipse.org) é uma IDE (integrated development environment). Uma IDE tem o objetivo de auxiliar o programador no desenvolvimento de sistemas.
O Eclipse é a IDE líder de mercado. Formada por um consórcio liderado pela IBM, possui seu código livre.

A última versão é a 3.5. Precisamos do Eclipse 3.1 ou posterior, pois a partir dessa versão é que a plataforma dá suporte ao java 5.0. Você precisa ter apenas a Java RE instalada.

Veremos aqui os principais recursos do Eclipse. Você perceberá que ele evita ao máximo te atrapalhar
e apenas gera trechos de códigos óbvios, sempre ao seu comando. Existem também centenas de plugins
gratuitos para gerar diagramas UML, suporte a servidores de aplicação, visualizadores de banco de dados e
muitos outros.

Baixe o Eclipse do site oficial http://www.eclipse.org/. Apesar de ser escrito em Java, a biblioteca gráfica
usada no Eclipse, chamada SWT, usa componentes nativos do sistema operacional. Por isso você deve baixar a versão correspondente ao seu sistema operacional.

Descompacte o arquivo e pronto: agora basta rodar o executável.

Outras IDEs

Uma outra IDE open source famosa é o Netbeans, da Sun. (http://www.netbeans.org/).

Além dessas, Oracle, Borland e a própria IBM possuem IDEs comerciais e algumas versões mais
restritas de uso livre.

Pronto! Agora já estamos com o ambiente montado e já podemos brincar de programar em JAVA.

Até a próxima!

quarta-feira, 21 de outubro de 2009

O JAVA

Em alguns posts, falamos sobre a Orientação a Objetos e sobre UML, ou seja, a parte de modelagem de sistemas foi bem comentada, entretanto acho importante matar a cobra e mostrar o pau. Desta forma a partir deste post iremos brincar com o java. Farei resumos sobre as coisas que venho estudando sobre o assunto.

Mas por que o JAVA? Tenho participado de algumas palestras sobre SOA. Vi soluções propostas pela Microsoft, pela SAP e pela ORACLE e com exeção da Microsoft, em todas as soluções vistas, o java estava por trás. Isso mostra o grande poder da linguagem e nos remete a visão de que a linguagem em questão possui um futuro promissor.

Primeiramente vamos aquela babaquice da definição do que é a linguagem java.

O java é uma linguagem de programação considerada  orientada a objetos, pois com ela conseguimos implementar quase todos os itens do paradigma da O.O (encapsulamento, polimorfismo, herança...).É de certa forma interpretada, pois o código gerado na compilação dos programas feitos com ela (bytecode) roda sobre o que chamamos de máquina virtual. Essa máquina possui implementação para vários sistemas operacionais o que torna o java multiplataforma. Isso quer dizer que você escreve um programa que pode rodar no windows, no linux ou no mac OS.

Pelo fato de ser orientado a objetos, o java promove o reúso de código aumentando exponencialmente a produtividade de uma equipe no desenvolvimento de um sistema. O desenvolvimento segue padrões (design patterns) que facilitam a vida do desenvolvedor na realização de manutenções corretivas e evolutivas. O ponta pé inicial é trabalhoso, mas depois é só correr para o abraço!

Acho que isso aí é o suficiente, mas o que é preciso para desenvolver sistemas utilizando java?

A SUN (comprada pela Oracle recentemente) disponiliza uma série de ferramentas para o desenvolvimento e execução de sistemas desenvolvidos em java. Para execução necessita-se do JRE (Java Runtime Enviroment) e para o desenvolvimento temos que ter em mãos o JDK (Java development KIT) que além do compilador possui uma série de classes (bilioteca de classes) prontas para reúso de código.

Existem uma porção de IDE que facilita o desenvolvimento de sistemas. O Eclipse, sem dúvida é a mais utilizada hoje em dia. E o melhor: é gratuíta!

Outra coisa que não podemos esquecer é que existem várias sabores de desenvolvimento. Uma aplicação desktop fará uso do Java2SE, uma aplicação distribuida usará o Java2EE e uma aplicação que roda em dispositivos móveis utilizará o java2ME. Respectivamente Standart Edition, Entreprise Edition e Mobile Edition.

Para facilitar o desenvolvimento existem uma série de frameworks com a função de facilitar o desenvolvimento de aplicações. Podemos citar aqui o hibernate, o struts, o maven, o wicket entre outros.

No próximo post, vamos ensinar a montar o ambiente de desenvolvimento (como instalar o jdk e o jre e como configurar a IDE eclipse).

Grande abraço!