Tecnologia Java Daniel Destro do Carmo Softech Network Informática daniel@danieldestro.com.br
Origem da Tecnologia Java Projeto inicial: Oak (liderado por James Gosling) Lançada em 1995 (Java) Tecnologia se popularizou mundialmente Plataforma estável e madura Atualmente na versão 6 Sun Microsystems Oak projeto inicial 1995
A Tecnologia Java Gama de produtos, baseados no poder da rede Idéia de que um software deveria ser capaz de rodar em diferentes máquinas, 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 código Java (bytecode) para instruções específicas de cada sistema e dispositivo Java runs everywhere!
Vantagens do Java Custo Arquitetura Portabilidade Padronização Reusabilidade Escalabilidade Liberdade de Escolha (evita o vendor lock in) Suporte
Java é FREE! Custo Editores e ambientes de produção gratuitos (Eclipse, NetBeans, JEdit, JCreator, ) Servidores de aplicações gratuitos (Tomcat, JBoss, Jetty, )
Arquitetura Orientado a Objetos Segue o paradígma OO Ferramenta extremamente poderosa e flexível Multi-threaded Suporta processamento paralelo múltiplo Multi-camadas Foco voltado para aplicações multi-camadas
Cross-Platform Portabilidade O mesmo código Java roda em diversas plataformas Sem necessidade de alteração do código da aplicação Aplicações podem ser migradas entre os diversos servidores de aplicação J2EE Você não fica preso a apenas um vendor Write Once, Run Anywhere!
Padronização A tecnologia Java é padronizada Não segue apenas uma definição prioritária Java é mantida pelo Java Community Process (JCP) JCP define os rumos e os padrões da tecnologia Java JCP é formado por inúmeras companhias e desenvolvedores: Sun, Oracle, IBM, BEA Systems, Novell, Xerox, Apache Group, JBoss Group, Bruno Souza (Javaman), Michael Nascimento - brasileiros A JEE é uma especificação padrão, seguida pelos fornecedores de feramentas e servidores
Reusabilidade Pelo fato de Java ser OO, é mais fácil se criar aplicações componentizadas Permite reuso do código já produzido, evitando retrabalho e principalmente, dando mais qualidade ao trabalho Possibilidade de criar componentes separados por responsabilidade, criando componentes mais simples e, portanto, reusáveis A herança é outro importante mecanismo da OOP, que permite reuso
Escalabilidade A tecnologia Java permite criar aplicações altamente escaláveis Com o apoio dos servidores de aplicações JEE, as aplicações Java podem escalar mais facilmente, tirando o peso do desenvolvimento do programador
Liberdade de Escolha 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
Suporte A comunidade Java é a mais extensa hoje Inúmeros JUGs (Java User Groups), que promovem eventos, disponibilizam material, artigos, revistas especializadas, fórum de discussões 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 A tecnologia Java é, basicamente, dividida em: Java Standard Edition (JSE) Core base do desenvolvimento Java (desktop) Java Enterprise Edition (JEE) Aplicações corporativas, distribuídas Java Micro Edition (JME) Aplicações para dispositivos móveis
Java Standard Edition Tecnologia base do Java (core technology) 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, dentre outras
Java Standard Edition Sintaxe similar ao C/C++: public class ProgramaExemplo { public static void main( String[] args ) { System.out.println( "Programa Exemplo em Java" ); } }
Java Standard Edition Passos do Desenvolvimento Arquitetura do Java Standard Edition
Java Enterprise Edition Tecnologia baseada em componentes distribuídos do Java, para aplicações empresariais JEE é 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 middlewares, que gerenciam muitas das tarefas pesadas (transação, gerenciamento de memória, persistência), facilitando a vida dos desenvolvedores
JavaServer Pages (JSP) Java Enterprise Edition Páginas HTML como código Java embutido Servlet Componente que responde a uma requisição web Java Database Connectivity (JDBC) Interface de acesso a dados Enterprise Java Bean (EJB) Componentes distribuidos que contém a lógica de negócio Java Messaging Service (JMS) Serviço de mensagens do Java
Java Enterprise Edition Arquitetura do Java Enterprise Edition
Falta de Padrões 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
Adoção de Padrões 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 Front Controler
Java Micro Edition 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.
O Que É Java, Afinal? Java é uma linguagem de programação Java é um ambiente de desenvolvimento Java é uma completa plataforma de soluções para tecnologia JSP Java API J2SE JNI J2EE CORBA J2ME JINI RMI JRE JAXP JDBC JVM XML Servlet SDK AWT Swing
Perguntas e Respostas
OBRIGADO! Daniel Destro do Carmo Softech Network Informática daniel@danieldestro.com.br