Vous êtes sur la page 1sur 20

Programao Orientada a

Objeto com Java

Introduo a Linguagem Java


Prof. M.Sc. Srgio Augusto C. Bezerra

Introduo a Linguagem Java

Objetivos da Aula

Conhecer a linguagem Java, seu histrico e


suas caractersticas
Desenvolver um programa em Java
Entender o Ambiente do Java
Visualizar algumas Tecnologias de Java

Prof. M.Sc. Srgio A. C. Bezerra

1 O que o Java?

Java uma nova linguagem de programao,


introduzida em 1995 pela Sun Microsystems.
Java vem provocando uma revoluo com relao
ao desenvolvimento de software.
Motivos:

Resultado de um trabalho consistente de pesquisa;


Facilidades de programao proporcionada pela orientao a
objetos;
Pela portabilidade do cdigo produzido;
Pelas caractersticas de segurana;
Facilidade de integrao aos outros ambientes, destacando-se
a Internet.
Prof. M.Sc. Srgio A. C. Bezerra

2 Pequeno Histrico

Em 1991, com um pequeno grupo de projeto da Sun Microsystems


denominado Green que pretendia criar uma nova gerao de
computadores portteis.
Para tanto decidiu-se criar uma nova plataforma.
A primeira LP foi C++, mas este no permitia realizar com
facilidade tudo aquilo que o grupo visionava.
James Gosling, decidiu ento pela criao de uma nova LP. Surgiu
assim a linguagem Oak (carvalho).
Para dar suporte a linguagem tambm surgiu o Green OS e uma
interface grfica padronizada.
A Oak foi rebatizada como Java, continua sem uso at 94.
Jonathan Payne e Patrick Naughton desenvolveram o navegador
WebRunner, capaz de efetuar o download e a execuo de cdigo
Java via Internet.
Prof. M.Sc. Srgio A. C. Bezerra

2 Pequeno Histrico

Apresentada formalmente pela Sun como o navegador HotJava e


a linguagem Java no SunWorld95.
Poucos meses depois a Netscape Corp.lana uma nova verso do
seu navegador tambm capaz de efetuar o download e a
execuo de pequenas aplicaes Java, chamadas de applets.
A Sun decide disponibilizar o Java gratuitamente para a
comunidade, embora detenha todos os direitos relativos
linguagem e as ferramentas de sua autoria.
Surge assim o Java Developers Kit 1.0 (JDK 1.0)
Em 1997, surge o JDK 1.1 que incorpora grandes melhorias para o
desenvolvimento de aplicaes grficas e distribudas;
No incio de 1999 lanado o JDK 1.2, (Java 2).
A Sun vem liberando novas verses ou correes a cada 9 meses.
Prof. M.Sc. Srgio A. C. Bezerra

3 Caractersticas Importantes

Orientada a Objetos
Independente de Plataforma
Sem Ponteiros
Desempenho
Segurana
Permite Multithreading

Prof. M.Sc. Srgio A. C. Bezerra

4 Recursos Necessrios

Ambiente de Desenvolvimento

Navegador compatvel com o Java:

Netscape Communicator ou o Microsoft Internet Explorer


ou Mozilla.

O JDK, pode ser obtido gratuitamente no site:

Java Developers Kit em verso superior JDK 1.7

http://java.sun.com

Verses de demonstrao dos navegadores:

http://www.microsoft.com (Microsoft)
http://www.netscape.com (Netscape)
http://java.sun.com/products/hotjava
Prof. M.Sc. Srgio A. C. Bezerra

(Sun - HotJava)

5 O Sun Java Developers Kit

Um compilador (javac)
Uma mquina virtual Java (java)
Um visualizador de applets (appletviewer)
Bibliotecas de desenvolvimento (os packages
java)
Um programa para composio de documentos
(javadoc)
Um depurador bsico de programas (jdb)
Verso run-time do ambiente de execuo (jre)
Prof. M.Sc. Srgio A. C. Bezerra

6 Desenvolvendo um programa

public class Saudacao{


public static void main(String args[ ]){
System.out.println(Sejam bem vindos ao IFAM);
}
}
Edite o cdigo acima em algum editor de texto e salve-o com o
mesmo nome da classe acrescido da extenso java:

Compilando o arquivo:

javac Saudacao.java

O diretrio deve ter recebido um novo arquivo aps a compilao:

Saudacao.java

Saudacao.class

Executando o cdigo Java:

java Saudacao
Prof. M.Sc. Srgio A. C. Bezerra

7 O Ambiente Java
Editor

bytecodes

Verificador

bytecodes

.java
Carregador
Compilador

.class

Interpretador
Prof. M.Sc. Srgio A. C. Bezerra

8 Mapa de Tecnologias

JSDK Java Software Development Kit

So includos, pelo menos, um compilador e um interpretador.


Outras ferramentas: depuradores e geradores de documentao.
Um sinnimo comum JDK (Java Development Kit)

JVM Java Virtual Machine

A mquina virtual Java um software nativo (ele no feito em


Java) que interpreta os bytecodes (cdigo intermedirio Java).
A primeira verso da JVM apenas interpretava.
Just-in-Time(JIT): que compilavam parte do cdigo na hora em
que era executado, fazendo otimizaes e aumentando muito o
desempenho.

Prof. M.Sc. Srgio A. C. Bezerra

8 Mapa de Tecnologias

JRE Java Runtime Environment

HotSpot: foi uma evoluo introduzida a mquina virtual, um JIT


especial que usa tecnologias de compilao adaptativa, para otimizar,
dinamicamente, cdigos usados com mais frequncias e melhorar a
alocao de recursos.
O JRE (Ambiente de Execuo Java) um subconjunto do JSDK,
direcionado para usurios finais.
Inclui a JVM e as classes principais de Java.

J2SE Java 2 Standard Edition

O J2SE era a nica edio de Java, chamada apenas de Java


Platform, depois vieram o J2EE e o J2ME.
O J2SE contm as classes principais da plataforma Java, e chamado
s vezes de Core Java Platform.
Prof. M.Sc. Srgio A. C. Bezerra

8 Mapa de Tecnologias

J2ME Java 2 Micro Edition

Uma das mais jovem plataformas Java, o J2ME o Java para


pequenos dispositivos, desde de handhelds at celulares e pagers.
Apoio muito grande da comunidade e da indstria.
A vantagem decisiva a possibilidade de usar a mesma linguagem e
praticamente as mesmas APIs no desenvolvimento para centenas de
dispositivos diferentes.

J2EE Java 2 Enterprise Edition

Uma das siglas mais conhecidas do universo de tecnologias Java, o


J2EE tem alterado significativamente o desenvolvimento de
aplicaes distribudas.

Prof. M.Sc. Srgio A. C. Bezerra

8 Mapa de Tecnologias

Sinnimos: plataforma, arquitetura, tecnologia, conjunto de padres,

especificaes ... h nomes para todos os gostos.


O J2EE pode ser considerado uma tecnologia guarda-chuva
englobando um conjunto de tecnologias que, juntas, fornecem APIs e
um ambiente para desenvolvimento e execues corporativas,
extremamente complexas e distribudas fisicamente.

As tecnologias englobadas pelo J2EE:

JDBC para acesso a dados;


JNDI para integrao com servios de nomes e diretrios;
JMS para chamadas assncronas;
Servlets e JSP para desenvolvimento web;
EJB componentes de negcio distribudos;
JavaMail para envio e recepo de e-mail;
JTS/JTA para gerenciamento de transaes distribudas;
JCA para integrao com sistemas legados; e
RMI-IIOP para comunicao entre componentes.
Prof. M.Sc. Srgio A. C. Bezerra

8 Mapa de Tecnologias

JDBC Java Database Connectivity

O JDBC uma soluo elegante para o acesso multiplataforma a


bancos de dados.
Praticamente toda a arquitetura JDBC baseada em interfaces e
especificaes, e isso que torna a API to geral e padronizada
para Sistemas de Gerenciamento de Banco de Dados (SGBD) to
distintos como Oracle, MySQL e Microsoft SQL Server.
O acesso a dados com JDBC baseado em drivers JDBC, que so
implementados por conjuntos de classes que conhecem intimamente
a arquitetura e os comando do SGBD.
Um fato interessante que os drivers JDBC so implementados pelos
fabricantes dos SGBDs.

Prof. M.Sc. Srgio A. C. Bezerra

8 Mapa de Tecnologias

Servlets

Servlets so extenses puro Java do padro CGI (Common Gateway


Interface). So usados para a gerao de contedo dinmico para a
web.
Um Servlet uma classe Java que conhece o protocolo HTTP (usado
pelos browsers). Assim, capaz de processar solicitaes HTTP, ler
e processar parmetros de formulrios HTML e enviar respostas
HTTP.
Em softwares bem arquitetados para web, hoje recomendado o
uso da tecnologia JavaServer Pages (JSP) para a apresentao
(parte visual) das aplicaes e de Servlets exclusivamente para a
lgica de validao e controle.

Prof. M.Sc. Srgio A. C. Bezerra

8 Mapa de Tecnologias

JSP JavaServer Pages

Uma das APIs de maior sucesso de Java, JavaServer Pages usada


para a criao de pginas web dinmicas.
Com JSP possvel criar pginas que mesclem cdigo Java com
HTML, permitindo a criao de templates com regies dinmicas e
estticas.
Os cdigos JSP so includos dentro do HTML usando tags especiais
(<% e %>).
Em uma evoluo da primeira verso do JSP, os tag libraries,
permitem reduzir o cdigo Java embutido no HTML simplificando o
trabalho de designers e desenvolvedores.

Prof. M.Sc. Srgio A. C. Bezerra

8 Mapa de Tecnologias

EJB Enterprise JavaBeans

A especificao EJB define um padro para componentes de


negcio distribudos.
EJB tambm usado para se referir aos componentes criados
seguindo a especificao.
EJB so executados em um runtime (ambiente de execuo), que
fornece servios bsicos de gerenciamento de transaes,
persistncia distribuio e nomes.
O runtime geralmente implementado por softwares sofisticados; os
Application Servers (servidores de aplicaes).
Uma das principais vantagens de usar EJBs o ganho em
produtividade.

Prof. M.Sc. Srgio A. C. Bezerra

8 Mapa de Tecnologias

RMI Remote Method Invocation

O RMI (Java RMI) uma soluo simples para a distribuio de


aplicaes Java, permitindo a comunicao entre objetos em
mquinas virtuais diferentes.
Usando RMI, o cdigo usado para chamar um mtodo de um objeto
remoto (em outra mquina virtual) praticamente o mesmo que o
usado para chamar um mtodo equivalente em um objeto local.

AWT Abstract Window Toolkit

A AWT acompanha o Java desde sua primeira verso. Nesta API so


definidos eventos, janelas, caixas de dilogo, cores e outros
elementos visuais.
A primeira verso do AWT era pesada e pouco prtica. Na segunda,
que veio com o Java 1.1, vrias questes foram resolvidas, mas um
problema crtico da tecnologia permanecia: os recursos grficos
usados pelo AWT vinham do sistema operacional.
Prof. M.Sc. Srgio A. C. Bezerra

8 Mapa de Tecnologias

O AWT funcionava apenas como uma casca sobre os elementos


visuais da plataforma. Isso criava muitos problemas de
compatibilidade e de desempenho, e pior: restringia muito os
recursos que podiam ser disponibilizados .
Apesar de todas as desvantagens, o AWT ainda sobrevive, mas hoje
usado mais como uma camada de servios bsicos para a mais
moderna API Swing.

Swing

O Swing, a principal parte do JFC (Java Foundation Classes), estende


e, em muitas reas, substitui o AWT.
Todos os componentes visuais so desenhados diretamente na tela o
que retira a dependncia dos recursos de interfaces grficas do
sistema operacional.
Nas verses iniciais do Swing, aplicaes construdas com a
tecnologia eram pesadas e lentas, mas com o J2SE 1.4, j se
chegou a uma velocidade e leveza aceitvel, viabilizando finalmente a
criao de aplicaes grficas usando Java.
Prof. M.Sc. Srgio A. C. Bezerra