Java 2 Enterprise Edition



Documentos relacionados
J2EE TM Java 2 Plataform, Enterprise Edition

Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas) Sumário. Java 2 Enterprise Edition. J2EE (Java 2 Enterprise Edition)

UFG - Instituto de Informática

J2EE. J2EE - Surgimento

Enterprise Java Bean. Enterprise JavaBeans

ENTERPRISE JAVABEANS 3. Msc. Daniele Carvalho Oliveira

Sistemas Distribuídos

Fundamentos da Plataforma Java EE. Prof. Fellipe Aleixo

Web Technologies. Tópicos da apresentação

Java II. Sérgio Luiz Ruivace Cerqueira

Adriano Reine Bueno Rafael Barros Silva

SISTEMA DE AGENDAMENTO E GERENCIAMENTO DE CONSULTAS CLÍNICAS

Linguagem de Programação JAVA. Professora Michelle Nery Nomeclaturas

PadrãoIX. Módulo II JAVA. Marcio de Carvalho Victorino. Servlets A,L,F,M

Framework. Marcos Paulo de Souza Brito João Paulo Raittes

TDC2012. EJB simples e descomplicado, na prática. Slide 1

Arquitetura de uma Webapp

Web Services. Integração de aplicações na Web. Sistemas Distribuídos

Resumo: Perguntas a fazer ao elaborar um projeto arquitetural

Enterprise JavaBeans. Java Deployment Course. por Jorge H. C. Fernandes DI-UFPE Julho de 1999

Tecnologia Java. Daniel Destro do Carmo Softech Network Informática

Introdução à Linguagem Java

4 Um Exemplo de Implementação

Sistemas Distribuídos e Paralelos

IplanRio DOP - Diretoria de Operações GIT - Gerência de Infraestrutura Tecnológica Gerente da GIT

Web Services. (Introdução)

UFG - Instituto de Informática

Banco de Dados de Músicas. Andre Lima Rocha Campos Osório Pereira Carvalho

Orientada a serviços: JAX-WS SOAP API

Princípios de Sistemas Distribuídos. Tecnologias utilizadas em sistemas distribuídos Aula 5

DESENVOLVIMENTO COM JAVA EE E SUAS ESPECIFICAÇÕES

Marco Aurélio Uma Visão Geral Sobre Plataforma Java

SCE-557. Técnicas de Programação para WEB. Rodrigo Fernandes de Mello

Desenvolvimento Web TCC Turma A-1

Projeto Demoiselle. Para perguntas e respostas, utilizem a lista de discussões de usuários da comunidade: demoiselle-users@lists.sourceforge.

PROGRAMAÇÃO ORIENTADA A OBJETOS EM JAVA*

Objetivo - AUMENTAR A PRODUTIVIDADE NO DESENVOLVIMENTO. Aumenta a produtividade de tal forma que o tempo de desenvolvimento é reduzido em até 80%.

SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE. Aluno: Roberto Reinert Orientador: Everaldo A. Grahl

DESENVOLVIMENTO WEB UTILIZANDO FRAMEWORK PRIMEFACES E OUTRAS TECNOLOGIAS ATUAIS

MÓDULO. Linguagem de Programação para Web 2

Arquiteturas de Aplicações Web. Leonardo Gresta Paulino Murta

Programação de Computadores II TCC Turma A-1

UFG - Instituto de Informática

3 Serviços na Web (Web services)

Programação Web Aula 12 - Java Web Software

Oracle WebLogic Server 11g: Conceitos Básicos de Administração

Arquitetura de Banco de Dados

GERADOR DE CÓDIGO JSP BASEADO EM PROJETO DE SGBD. Acadêmico: Maicon Klug Orientadora: Joyce Martins

Como criar um EJB. Criando um projeto EJB com um cliente WEB no Eclipse

UNIVERSIDADE FEDERAL DA BAHIA INSTITUTO DE MATEMÁTICA CIÊNCIA DA COMPUTAÇÃO LINGUAGENS PARA APLICAÇÃO COMERCIAL. Java Peristence API 1.

Introdução à Plataforma Eclipse. Leandro Daflon

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 2. Cursos de Computação

ABORDAGEM DE FRAMEWORKS PARA JSF QUE AUXILIAM O DESENVOLVIMENTO DE SOFTWARE

Padrões de Interação com o Usuário

UNIVERSIDADE. Sistemas Distribuídos

Aspectos técnicos do desenvolvimento baseado em componentes

Aula 4. Objetivos. Conteúdo dinâmico na internet.

Desenvolvimento WEB II. Professora: Kelly de Paula Cunha

SCC Técnicas de Programação para WEB. Rodrigo Fernandes de Mello

ORDEM DE SERVIÇO OS 003/DINFO/ /09/2013

Spring: Um suite de novas opções para Java EE

Ferramenta de apoio a gerência de configuração de software. Aluno: Rodrigo Furlaneto Orientador: Everaldo Artur Grahl

Desenvolvimento Web TCC Turma A-1

Experiência em missão crítica de missão crítica

Prática da Disciplina de Sistemas Distribuídos Serviços Web IFMA DAI Professor Mauro Lopes C. Silva

Argo Navis J931 - Padrões de Design J2EE. Introdução. Objetivos de aprender padrões J2EE. Conhecer padrões para uso na plataforma J2EE

Prova Específica Cargo Desenvolvimento

Sistemas Operacionais

Defesa de mestrado. Um serviço de autorização Java EE baseado em certificados de atributos X.509. Stefan Neusatz Guilhen

Microsoft.NET. Desenvolvimento Baseado em Componentes

Java 2 Enterprise Edition Uma aplicação J2EE completa

Argo Navis J931 - Padrões de Design J2EE. Versão 2.0 (setembro de 2003) Objetivos

Programação para Internet II

Capítulo VI CORBA. Common Object Request Broker Architecture. [Cardoso2008] Programação de Sistemas Distribuídos em Java, Jorge Cardoso, FCA, 2008.

JAVA ENTERPRISE EDITION: PERSISTÊNCIA DE BANCO DE DADOS

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

Alexandre Malveira, Wolflan Camilo

3 SCS: Sistema de Componentes de Software

Ambiente Web PHP Problemas Frameworks CakePHP Symfony Zend Framework Prado CodeIgniter Demonstração O livro

LINGUAGENS E PARADIGMAS DE PROGRAMAÇÃO. Ciência da Computação IFSC Lages. Prof. Wilson Castello Branco Neto

Introdução. à Linguagem JAVA. Prof. Dr. Jesus, Edison O. Instituto de Matemática e Computação. Laboratório de Visão Computacional

Tecnologias Web. Java Enterprise Edition

Fundamentos de Java. Prof. Marcelo Cohen. 1. Histórico

UM ESTUDO SOBRE ARQUITETURA PARA DESENVOLVIMENTO DE SOFTWARE WEB UTILIZANDO NOVAS TECNOLOGIAS

PRODUTO 1 (CONSTRUÇÃO DE PORTAL WEB)

World Wide Web e Aplicações

Linguagem de Programação Introdução a Linguagem Java

CURSO DESENVOLVEDOR JAVA WEB E FLEX Setembro de 2010 à Janeiro de 2011

Como sobreviver com Java 2? Saulo Arruda

MÓDULO Programação para Web 2

Ambiente Web PHP Problemas Frameworks CakePHP Symfony Zend Framework Prado CodeIgniter Demonstração

Transcrição:

Java 2 Enterprise Edition Pablo Vieira Florentino 8/11/2006 Contexto Linguagem Java A linguagem Java é Orientada a Objetos Influenciada diretamente por C++ e Eiffel, a linguagem segue a grande tendência das linguagens de programação nas décadas de 80 e 90. Neste período, linguagens como Pascal, Ada, Lisp e Cobol ganharam versões Orientadas a Objetos.

Contexto Linguagem Java A linguagem é totalmente portável Contexto Linguagem Java A linguagem implementa desalocação automática de memória ( garbage collector ), e não permite a desalocação manual. Produtividade do programador Testes Bugs Qualidade

Contexto Linguagem Java Java é uma das linguagens mais bem projetadas desde Ada. Java não apresenta performance comparável a Fortran ou C. As decisões de projeto da linguagem são ótimas para rodar em um servidor Web. Portabilidade entre diferentes sistemas operacionais. Facilidades de multithreading incluídas na linguagem. Baixo custo de desenvolvimento (alta produtividade). Aplicações Web Aplicações tipicamente cliente-servidor

Aplicações Web com Java Applets Servlets JSP Java Server Pages Mas o que fazer com sistemas de informação corporativos que: possuem grande complexidade exigem escalabilidade e robustez necessitam de comunicação com objetos externos? J2EE A Especificação Java 2 Enterprise Edition (J2EE ) fornece uma abordagem baseada em componentes para o projeto, desenvolvimento e a implantação de aplicações corporativas. Partes Componentes J2EE Application Programming Model Modelo de Programação J2EE Platform Define um conjunto de APIs e políticas de utilização J2EE Compatibility Test Suite Verifica se um produto é compatível com a plataforma J2EE J2EE Reference Implementation Demonstração das funcionalidades da especificação J2EE Provê definição operacional da Plataforma Soluções J2EE são independentes de plataformas HW / SO e não são amarradas a produtos/apis específicas de quaisquer fabricantes.

Resumindo: Estende a linguagem Java através de padrões simples e unificados para aplicações distribuídas através de um modelo baseado em componentes. J2EE especifica tanto a infra-estrutura para gerenciar suas aplicações quanto APIs para construí-las. Padronização Java Community Process. www.jcp.org Participantes: Accenture, Adobe, BEA, Borland, British Telecom, Bull, Cisco, Compaq, DOD, EDS, Ericsson, Fujitsu, HP, Hitachi, IBM,Macromedia, Mitsubishi, Motorola, NEC, Nokia,Novell, NTT, Oracle, Panasonic, Philips, Rational,SAP, Sharp, Siemens, Sony, Sun, Sybase,Telefonica, Texas Instruments, Unisys, Verisign,Vignette, Vodafone, Xerox, Yamaha,...

Arquitetura MVC Padrão Arquitetural da plataforma J2EE Model Dados de negócio View Apresentação para o cliente Controller Lógica de controle APM J2EE e Modelos em N Camadas Divide a implementação em duas partes Lógica de apresentação e do negócio: Implementação sob responsabilidade do desenv. Serviços de infra-estrutura Fornecidos pela plataforma J2EE Os problemas associados a serviços de infraestrutura básica são fornecidos pela plataforma: Reduz complexidade de desenvolvimento

APM J2EE - Componentes Componentes J2EE são escritos em Java e compilados da mesma forma que qualquer programa Java Diferença entre componentes J2EE e uma classe Java padrão : componentes são montados em uma aplicação J2EE, verifica-se se os mesmos são bem-formados e estão de acordo com a especificação J2EE são entregues para a produção, onde são executados e gerenciados pelo servidor J2EE APM J2EE - Componentes Aplicações J2EE são formadas por componentes Um componente J2EE é uma unidade de software funcional, autocontida que é montada em uma aplicação J2EE juntamente com suas classes e arquivos relacionados e que se comunica com outros componentes A especificação J2EE define os seguintes componentes J2EE: Aplicações e applets clientes são componentes que rodam no cliente Servlets Java e páginas JSP são componentes Web que rodam no servidor Enterprise JavaBeans (EJB ) são componentes de negócio que rodam no servidor

APM J2EE - Componentes Camadas de Aplicação J2EE

Plataforma J2EE É um ambiente padrão para rodar aplicações J2EE um modelo de aplicação distribuído, multicamadas a capacidade de reutilizar componentes a troca de dados integrada baseada em XML um modelo de segurança unificado controle de transações flexível Componentes: J2EE deployment specification Padrão de empacotamento de aplicações para implantação. Java technology standards for the J2EE platform Plataforma J2EE Conjunto de padrões que devem ser suportados pelas plataformas: Serviços de Infra: JMS, JNDI, JTS, etc) IETF standards for the J2EE platform Conjunto de Padrões Internet que todas as plataformas devem suportar (Internet Engineering Task Force) ex. XML, HTTP, HTML CORBA standards for the J2EE platform Interoperabilidade com modelo CORBA

Empacotamento da Aplicações J2EE Componentes J2EE são empacotados separadamente e colocados em uma aplicação J2EE para implantação Cada componente, seus arquivos relacionados, como GIFs e HTMLs ou classes utilitárias que rodem no servidor, bem como um descritor de implantação, são montados em um módulo e adicionados à aplicação J2EE Uma aplicação J2EE é composta de um ou mais enterprise bean e módulos clientes (componente Web ou aplicação) Empacotamento de Aplicações J2EE Um aplicação J2EE e cada um de seus módulos tem seu próprio descritor de implantação Um descritor de implantação é um documento XML que descreve as configurações de implantação de seu componente Usar XML permite ao implantador alterar facilmente atributos de seu EJB. Atributos configuráveis incluem: nomes das interfaces Home e Remota necessárias para o EJB nome a ser publicado na JNDI para a interface Home do EJB Atributos transacionais para cada método do EJB Listas de controle de acesso para autenticação As informações do descritor de implantação são declarativas e podem ser alteradas sem modificar o código fonte do bean

Empacotamento de Aplicações J2EE Em tempo de execução, o servidor J2EE lê o descritor de implantação e atua sobre o componente de acordo com as informações lidas. EJB-Jar file arquivo jar que contém o EJB, as interfaces e o descritor de implantação Uma aplicação J2EE com todos os seus módulos é entregue em um arquivo Enterprise ARchive (EAR) Um arquivo EAR nada mais é que um arquivo Java Archive (JAR) padrão com extensão.ear Empacotamento de Aplicações J2EE Na prática Módulos Web Arquivo.war contendo web.xml no diretório WEB-INF Módulos EJB Arquivo.jar contendo ejb-jar.xml no diretório META- INF Módulos Java Arquivo.jar contendo application-client.xml Um.ear que contém application.xml no diretório META-INF

Empacotamento de Aplicações J2EE Na prática Plataforma J2EE - APIs EJB JDBC Servlets JSP Java Messaging Service (JMS) Java Naming and Directory Interface (JNDI) Java Transaction Service (JTS/JTA) Java Mail (JavaBeans Activation Framework) Java API for XML Processing: JAXP (Processig); JAXR (Registries); JAX-RPC; SAAJ J2EE Connector Architecture Java Authentication and Authorization Service (JAAS)

Plataforma J2EE - APIs JDBC API padrão para acesso a base de dados heterogêneas. JDBC 2.0: Tipos de dados SQL 3 JNDI Acesso a serviços de nome e diretório independentemente de sua aplicação. RMI - IIOP Protocolo que permite invocar métodos remotos de objetos escritos em Java. Permite passar dados por valor, mediante serialização. Plataforma J2EE - Serviços Java Transaction API/Java Transaction Service (JTA/JTS) Usado na arquitetura J2EE como a API transacional Um Enterprise Bean Provider pode usar o JTS para criar código de transações, embora o container EJB normalmente implemente transações para os componentes EJB É possível definir os atributos transacionais de um componente EJB em tempo de implantação O Container EJB é responsável pela manipulação da transação, tanto local quanto distribuída A especificação do JTS é o mapeamento Java para o OTS CORBA (Object TransactionService)

Plataforma J2EE - Serviços Java Authentication and Authorization Service (JAAS) Fornece uma forma de uma aplicação J2EE autenticar e autorizar um usuário específico ou um grupo de usuários para executá-la É uma versão Java da infra-estrutura padrão PAM (Pluggable Authentication Module), que estende a arquitetura de segurança da plataforma Java para suportar autorização baseada em usuário Containers

Implementação de Referência J2EE Definição operacional da plataforma J2EE Plataforma padrão para testes de compatibilidade com a especificação J2EE Disponível na Web de forma gratuita Popularização da plataforma J2EE http://java.sun.com/j2ee/download.html#sdk Visão Geral Arquitetura J2EE

Papéis e Responsabilidades Papéis e Responsabilidades

IDE - J2EE Ambiente de Desenvolvimento Eclipse Ant Servidores de Aplicação J2EE Mais de 20 servidores de aplicação certificados em J2EE1.2 Mais de 15 servidores de aplicação certificados em J2EE1.3 BEA Weblogic IBM Websphere Oracle9iAs Sun iplanet JBoss

Desempenho Apesar dos custos de abstração da linguagem Java, a performance de servlets é equivalente a de CGI C++. Os principais servidores de aplicação utilizam compiladores just in time - JIT. e-bay: 320M page views/dia. 2100 transações/segundo. Segurança Permite segurança como parte do deployment, sem depender de configuração de ambiente durante a execução da aplicação. Facilita o desenvolvimento ao delegar a responsabilidade para os papéis de segurança. Evita misturar código de segurança à lógica do negócio. Permite configurar as políticas de segurança da forma mais adequada ao ambiente de instalação.

JEE 5 Nova Versão J2EE http://java.sun.com/javaee/technologies/javaee5.jsp J2EE x EJB J2EE é : uma especificação uma padronização Dentro disto, há um modelo de desenvolvimento baseado em componentes (DBC) que são os EJB Enterprise Java Beans