Escolar Documentos
Profissional Documentos
Cultura Documentos
Projeto inicial: Oak (liderado por James Gosling) Lanada em 1995 (Java) Tecnologia se popularizou mundialmente Plataforma estvel e madura Atualmente na verso 6
Oak projeto
inicial
Sun Microsystems
1995
A Tecnologia Java
Gama de produtos, baseados no poder da rede Idia de que um software deveria ser capaz de rodar em diferentes mquinas, sistemas e dispositivos Computadores, servidores, notebooks, handhelds, PDAs (Palm), celulares, TV, geladeiras etc
Java is everywhere!
A Tecnologia Java
Java roda em diferentes ambientes Java Virtual Machine (JVM) tradutor de cdigo Java (bytecode) para instrues especficas de cada sistema e dispositivo
Vantagens do Java
Custo Arquitetura Portabilidade Padronizao Reusabilidade Escalabilidade Liberdade de Escolha (evita o vendor lock in) Suporte
Custo
Arquitetura
Orientado a Objetos
Multi-threaded
Multi-camadas
Portabilidade
Cross-Platform
O mesmo cdigo Java roda em diversas plataformas Sem necessidade de alterao do cdigo da aplicao Aplicaes podem ser migradas entre os diversos servidores de aplicao J2EE Voc no fica preso a apenas um vendor
Padronizao
A tecnologia Java padronizada No segue apenas uma definio prioritria Java mantida pelo Java Community Process (JCP) JCP define os rumos e os padres da tecnologia Java JCP formado por inmeras companhias e desenvolvedores:
Sun, Oracle, IBM, BEA Systems, Novell, Xerox, Apache Group, JBoss Group, Bruno Souza (Javaman), Michael Nascimento - brasileiros
Reusabilidade
Pelo fato de Java ser OO, mais fcil se criar aplicaes componentizadas Permite reuso do cdigo j produzido, evitando retrabalho e principalmente, dando mais qualidade ao trabalho Possibilidade de criar componentes separados por responsabilidade, criando componentes mais simples e, portanto, reusveis A herana outro importante mecanismo da OOP, que permite reuso
Escalabilidade
A tecnologia Java permite criar aplicaes altamente escalveis Com o apoio dos servidores de aplicaes JEE, as aplicaes Java podem escalar mais facilmente, tirando o peso do desenvolvimento do programador
Liberdade de Escolha
A tecnologia Java no te deixa preso a apenas um vendor Vrios fabricantes fornecem ferramentas, servidores de aplicao, 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
Suporte
A comunidade Java a mais extensa hoje Inmeros JUGs (Java User Groups), que promovem eventos, disponibilizam material, artigos, revistas especializadas, frum de discusses etc A comunidade virtual de Java brasileira a maior do mundo Cresce a cada dia o nmero de profissionais Java no mercado
A Tecnologia Java
Compilador Documentador Outras ferramentas (jar, assinatura digital, ) Ambiente de runtime (JRE) Mquina virtual (JVM) Core Classes do Java (Java API)
Necessrio para desenvolver e executar as aplicaes Java, com suporte a interface visual, conexo em rede e inmeras funcionalidades j implementadas, como estruturas de dados, dentre outras
public class ProgramaExemplo { public static void main( String[] args ) { System.out.println( "Programa Exemplo em Java" ); } }
Tecnologia baseada em componentes distribudos do Java, para aplicaes empresariais JEE uma especificao, de domnio pblico, que pode ser implementada por qualquer um Visa o desenvolvimento de aplicaes de grande porte, crticas, escalveis, portveis e componentizadas Simplifica o desenvolvimento, disponbilizao (deploy) e manuteno Combina a gerao de cdigo com os middlewares, que gerenciam muitas das tarefas pesadas (transao, gerenciamento de memria, persistncia), facilitando a vida dos desenvolvedores
Servlet
Falta de Padres
Manuteno de websites complexos mais complexa ainda Difcil de gerenciar e de dar manuteno Segurana feita em cada um dos recursos acessados
Adoo de Padres
Manuteno de websites complexos mais simples Mais fcil de gerenciar e de dar manuteno Apenas um ponto de acesso Segurana feita em um nico ponto
Front Controler
Tecnologia voltada ao desenvolvimento de aplicaes para dispositivos leves e mveis Possui uma API bastante completa para o desenvolvimento de aplicaes para pequenos dispositivos.
Java uma linguagem de programao Java um ambiente de desenvolvimento Java uma completa plataforma de solues para tecnologia
J2SE
SDK AWT
Swing
JINI
Servlet
Perguntas e Respostas
OBRIGADO!