Você está na página 1de 26

Oak

projeto inicial

Sun Microsystems
Lançamento: 1995

A tecnologia Java foi lançada em 1995, e desde então tem crescido


em popularidade, se tornado uma plataforma muito estável e madura.
Atualmente a tecnologia Java está na versão 1.5 beta. A plataforma é
chamada de “Java 2 Platform”.
Java é uma tecnologia composta por uma gama de produtos,
baseados no poder da rede e na idéia de que um software deveria ser
capaz de rodar em diferentes máquinas, sistemas e dispositivos. Por
diferentes dispositivos entendemos: computadores, servidores,
notebooks, handhelds, PDAs (Palm), celulares, TV, geladeiras e tudo
mais o que for possível.
Os programas feitos em Java rodam em diferentes ambientes graças
a um componente da plataforma chamado JVM (Java Virtual
Machine) – que é um tipo de tradutor de código Java para instruções
específicas de cada sistema e dispositivo.
Custo

Arquitetura

Portabilidade

Padronização

Reusabilidade

Escalabilidade

Liberdade de Escolha

Suporte
Java é FREE!

Editores e ambientes de produção gratuitos


(Eclipse, NetBeans, JEdit, JCreator, … )

Servidores de aplicações gratuitos


(Tomcat, JBoss, Jetty, … )
!

Orientado a Objetos

A linguagem segue o paradígma OO, o que a torna uma


ferramenta extremamente poderosa.

Multi-threaded

Suporta processamento paralelo múltiplo.

Multi-camadas

Java tem um foco voltado para se criar aplicações multi-camadas,


facilitando a vida dos desenvolvedores e agregando mais
valor e poder às aplicações.
" #

Cross-Platform

O mesmo código Java roda em diversas plataformas,


sem a necessidade de alteração do código da aplicação.

Aplicações também podem ser facilmente migradas entre os


diversos servidores de aplicação J2EE. Você não fica preso a
apenas um vendor.

Write Once, Run Anywhere!


" $ %&

A tecnologia Java é padronizada. Não segue apenas uma definição


prioritária.

Java é mantida pelo JCP (Java Community Process).

O JCP é quem define os rumos e os padrões da tecnologia Java.

O JCP é formado por inúmeras companhias e desenvolvedores:


Sun, Oracle, IBM, BEA Systems, Novell, Xerox, …
Apache Group, JBoss Group, …
Bruno Souza (Javaman)

A J2EE é uma especificação padrão, seguida pelos fornecedores de


feramentas e servidores.
' #

Pelo fato de Java ser OO, é mais fácil se criar aplicações


componentizadas.

Isso permite que se faça um grande reuso do código já produzido,


evitando retrabalho e principalmente, dando mais qualidade ao
trabalho, pois podemos criar componentes separados por
responsabilidade, criando componentes mais simples e, portanto,
reusáveis.

A herança é outro importante mecanismo da OOP, que permite reuso.


( #

A tecnologia Java permite se criar aplicações altamente escaláveis.

Com o apoio dos servidores de aplicações J2EE, as aplicações Java


pode escalar mais facilmente, tirando o peso do desenvolvimento do
programador.
)# (

A tecnologia Java não te deixa preso a apenas um vendor.

Vários fabricantes fornecem ferramentas, servidores de aplicação,


bibliotecas e tudo mais.

Existem diversos tipos de frameworks para resolver um mesmo


problema, o que te dá a liberdade de escolher qual mais se adpata ao
seu projeto.
*

A comunidade Java é a mais extensa hoje.

Existem inúmeros JUGs (Java User Groups), que promovem eventos,


disponibilizam material, artigos, revistas especializadas, fórum de
discussões e etc.

A comunidade virtual de Java brasileira é a maior do mundo.

Cresce a cada dia o número de profissionais Java no mercado.


A tecnologia Java é, basicamente, sub-dividida em:

J2SE (Java 2 Standard Edition)


J2EE (Java 2 Enterprise Edition)
J2ME (Java 2 Micro Edition)
XML API
Java Web Services
Java Card
outras…
+ (

É a tecnologia padrão do Java (core technology).

Seu kit de desenvolvimento (JDK) contém:

• Compilador
• Documentador
• Outras ferramentas (jar, assinatura digital, …)
• Ambiente de runtime (JRE)
• Máquina virtual (JVM)
• Core Classes do Java (Java API)

Necessário para desenvolver e executar as aplicações Java, com


suporte a interface visual, conexão em rede e inúmeras
funcionalidades já implementadas, como estruturas de dados e
outras.
+ (

Sintaxe similar ao C/C++:

public class ProgramaExemplo {


public static void main( String[] args ) {
System.out.println( "Programa Exemplo em Java" );
}
}
+ (

Passos do Desenvolvimento

Arquitetura do Java 2 Standard Edition


+( * (

É a tecnologia baseada em componentes distribuídos do Java, para


aplicações empresariais.

A J2EE é uma especificação, de domínio público, que pode ser


implementada por qualquer um.

Visa o desenvolvimento de aplicações de grande porte, críticas,


escaláveis, portáveis e componentizadas.

Simplifica o desenvolvimento, disponbilização (deploy) e manutenção.

Combina a geração de código com os middleware, que gerenciam


muitas das tarefas pesadas (transação, gerenciamento de memória,
persistência), facilitando a vida dos desenvolvedores.
+( * (

JSP – JavaServer Pages


Páginas HTML como código Java embutido

Servlet
Componente que responde a uma requisição web

JDBC – Java Database Connectivity


Interface de acesso a dados

EJB – Enterprise Java Bean


Componentes distribuidos que contém a lógica de negócio

JMS – Java Messaging Service


Serviço de mensagens do Java
+( * (

Arquitetura do Java 2 Enterprise Edition


+( * (

Sem a utilização de Padrões

Torna a manutenção de websites complexos, mais complexa ainda.


Difícil de gerenciar e de dar manutenção.
Segurança é feita em cada um dos recursos acessados.
+( * (

Com a utilização de Padrões

Front Controler

Torna a manutenção de websites complexos, mais simples.


Mais fácil de gerenciar e de dar manutenção. Apenas um ponto de acesso.
Segurança é feita em um único ponto.
+, (

É a tecnologia voltada ao desenvolvimento de aplicações para


dispositivos leves e móveis.

Possui uma API bastante completa para o desenvolvimento de


aplicações para pequenos dispositivos.
! - . ///

Java é uma linguagem de programação


Java é um ambiente de desenvolvimento
Java é uma completa plataforma de soluções para tecnologia

Java J2SE JRE SDK


JNI
JAXP AWT
J2EE
JSP JDBC
J2ME
CORBA Swing
JVM
XML
API JINI RMI
Servlet
" ' *
OBRIGADO!

Daniel Destro do Carmo


Softech Network Informática
daniel@danieldestro.com.br