programação para web 2bacala/daw/lpw2/01 - introdução.pdf · partir da api swing ou awt; ou...

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

Upload: others

Post on 03-Jun-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Programação para Web 2bacala/DAW/LPW2/01 - Introdução.pdf · partir da API Swing ou AWT; ou pode ser de linha de comando. ... Java podem interagir com servidores Java EE, permitindo

MÓDULO Linguagem de

Programação para Web 2

Page 2: Programação para Web 2bacala/DAW/LPW2/01 - Introdução.pdf · partir da API Swing ou AWT; ou pode ser de linha de comando. ... Java podem interagir com servidores Java EE, permitindo

Distribuição das Disciplinas

de Programação para Web • LPW 1:

– MVC

– Servlets

– JSP

• LPW2: – Visão geral do JEE,

– JSF – MVC,

– Facelets, PrimeFaces, ...

– Padrões de projeto relacionadas

• LPW3-

– EJB + JTA,

• LPW4

– EJB-WS +Application client

Page 3: Programação para Web 2bacala/DAW/LPW2/01 - Introdução.pdf · partir da API Swing ou AWT; ou pode ser de linha de comando. ... Java podem interagir com servidores Java EE, permitindo

OBJETIVO DO

MÓDULO

• Apresentar a Tecnologia Java EE 7

– Novidades

– Arquitetura

– APIs envolvidas

• JSF 2

Page 4: Programação para Web 2bacala/DAW/LPW2/01 - Introdução.pdf · partir da API Swing ou AWT; ou pode ser de linha de comando. ... Java podem interagir com servidores Java EE, permitindo

INTRODUÇÃO A TECNOLOGIA

JAVA EE 7

Page 5: Programação para Web 2bacala/DAW/LPW2/01 - Introdução.pdf · partir da API Swing ou AWT; ou pode ser de linha de comando. ... Java podem interagir com servidores Java EE, permitindo

Destaques

• Objetivos – Simplificar o desenvolvimento, – Fornecer suporte básico para os vários tipos de

componentes da plataforma Java EE .

• Benefícios do JEE 7: – melhoria de produtividade

• mais Annotations e menos configuração XML, • mais Plain Old Java Objects (POJOs) e

– packaging mais simples.

Page 6: Programação para Web 2bacala/DAW/LPW2/01 - Introdução.pdf · partir da API Swing ou AWT; ou pode ser de linha de comando. ... Java podem interagir com servidores Java EE, permitindo

Evolução Plataforma JEE

Page 7: Programação para Web 2bacala/DAW/LPW2/01 - Introdução.pdf · partir da API Swing ou AWT; ou pode ser de linha de comando. ... Java podem interagir com servidores Java EE, permitindo

Evolução Plataforma JEE

Page 8: Programação para Web 2bacala/DAW/LPW2/01 - Introdução.pdf · partir da API Swing ou AWT; ou pode ser de linha de comando. ... Java podem interagir com servidores Java EE, permitindo

Novos Recursos JEE7

• As novas tecnologias – Aplicações Batch para a Plataforma Java – Utilitários concorrentes para Java EE – API Java para Processamento de JSON (JSON-P) – API Java para WebSocket

• Novos recursos para – componentes EJB – servlets – componentes JavaServer Faces – o Java Message Service (JMS)

Page 9: Programação para Web 2bacala/DAW/LPW2/01 - Introdução.pdf · partir da API Swing ou AWT; ou pode ser de linha de comando. ... Java podem interagir com servidores Java EE, permitindo

Modelo de Aplicação JEE7

• Linguagem Java e da JVM. • Portabilidade, segurança e produtividade do desenvolvedor. • Fornece uma forma básica do modelo de aplicação. • Projetada para suportar aplicações que implementam

serviços corporativos para clientes, funcionários, fornecedores, parceiros e outros que demandam sobre ou contribuições para a empresa.

• Tais aplicações são inerentemente complexas, com acesso a dados de diversas fontes e distribuindo aplicativos para vários clientes.

Page 10: Programação para Web 2bacala/DAW/LPW2/01 - Introdução.pdf · partir da API Swing ou AWT; ou pode ser de linha de comando. ... Java podem interagir com servidores Java EE, permitindo

Modelo de Aplicação JEE7

• Para melhor controlar e gerenciar essas aplicações, as funções de negócios para apoiar os vários usuários são realizadas na camada intermediária (middle tier).

• Middle tier representa um ambiente rigorosamente controlado pela área de TI de uma empresa.

• Middle tier é geralmente executada em hardware de servidor dedicado e com acesso a todos serviços da empresa.

Page 11: Programação para Web 2bacala/DAW/LPW2/01 - Introdução.pdf · partir da API Swing ou AWT; ou pode ser de linha de comando. ... Java podem interagir com servidores Java EE, permitindo

Modelo de Aplicação JEE7

• Define uma arquitetura para implementação de serviços como aplicações de múltiplas camadas que proporcionam a escalabilidade, acessibilidade e capacidade de gerenciamento necessária para aplicações de nível empresarial.

• Divide o trabalho necessário para implementar serviço de várias camadas em: – Lógica de negócio e apresentação a ser implementado pelo desenvolvedor – Serviços padrões fornecidos pela plataforma Java EE

• O desenvolvedor pode contar com a plataforma que fornece soluções para sistemas com nível elevado de problemas no desenvolvimento em várias camadas.

Page 12: Programação para Web 2bacala/DAW/LPW2/01 - Introdução.pdf · partir da API Swing ou AWT; ou pode ser de linha de comando. ... Java podem interagir com servidores Java EE, permitindo

Aplicações

Externas

Sistemas Legados

Cliente

Magro

Cliente

Gordo

Arquitetura JEE

Page 13: Programação para Web 2bacala/DAW/LPW2/01 - Introdução.pdf · partir da API Swing ou AWT; ou pode ser de linha de comando. ... Java podem interagir com servidores Java EE, permitindo

APLICAÇÕES MULTICAMADAS

Page 14: Programação para Web 2bacala/DAW/LPW2/01 - Introdução.pdf · partir da API Swing ou AWT; ou pode ser de linha de comando. ... Java podem interagir com servidores Java EE, permitindo

Aplicações Distribuídas

Multicamadas • A plataforma Java EE utiliza um modelo de aplicação

distribuída multicamadas para aplicações empresariais (Enterprise Applications).

• A lógica da aplicação é dividida em componentes de acordo com a função, e os componentes do aplicativo que compõe uma aplicação Java EE estão instalados em várias máquinas, dependendo da camada Java EE a que o componente pertence.

Page 15: Programação para Web 2bacala/DAW/LPW2/01 - Introdução.pdf · partir da API Swing ou AWT; ou pode ser de linha de comando. ... Java podem interagir com servidores Java EE, permitindo

Aplicações Multicamadas

Componentes da camada cliente

Componentes Web-tier

Componentes da camada de negócios

Enterprise Information System

Page 16: Programação para Web 2bacala/DAW/LPW2/01 - Introdução.pdf · partir da API Swing ou AWT; ou pode ser de linha de comando. ... Java podem interagir com servidores Java EE, permitindo

Aplicações Multicamadas

• Apesar de poder consistir em todos os níveis mostrados, geralmente aplicações multicamadas Java EE são consideradas de três camadas pois estão distribuídas em três locais: – cliente, – servidor Java EE, e – bancos de dados ou sistemas legados no back-end.

• Aplicações de três camadas que funcionam desta forma estendem o modelo cliente-servidor de dois níveis padrão, colocando um servidor de aplicativos multithread entre o aplicativo cliente e back-end de armazenamento.

Page 17: Programação para Web 2bacala/DAW/LPW2/01 - Introdução.pdf · partir da API Swing ou AWT; ou pode ser de linha de comando. ... Java podem interagir com servidores Java EE, permitindo

Segurança no JEE

• Outros modelos de aplicações empresariais exigem medidas de segurança específicas da plataforma para cada aplicação,

• Java EE – permite definições de restrições de segurança no momento da implantação. – produz aplicações portáveis para uma ampla variedade de implementações de

segurança dispensando os desenvolvedores da complexidade da implementação dos recursos de segurança.

– fornece regras de controle de acesso padrão declarativa definidas pelo desenvolvedor e interpretadas quando o aplicativo é implantado no servidor.

– oferece mecanismos de login padrão para que os desenvolvedores não tenham que implementar esses mecanismos em suas aplicações.

• A mesma aplicação funciona numa ampla variedade de ambientes de segurança, sem precisar alterar o código fonte.

Page 18: Programação para Web 2bacala/DAW/LPW2/01 - Introdução.pdf · partir da API Swing ou AWT; ou pode ser de linha de comando. ... Java podem interagir com servidores Java EE, permitindo

Componentes Java EE

• Aplicações Java EE são constituídas por componentes. • Unidade de software funcional, independente, montada

em um aplicativo Java EE, com suas classes e arquivos relacionados e que se comunica com outros componentes.

• A especificação Java EE define os seguintes componentes do Java EE: – aplicativos clientes e applets: executados no cliente – componentes de tecnologia Java Servlet, JavaServer Faces e

JavaServer Pages (JSP): componentes Web executados no servidor – componentes EJB (beans corporativos) : componentes de negócios

executados no servidor.

Page 19: Programação para Web 2bacala/DAW/LPW2/01 - Introdução.pdf · partir da API Swing ou AWT; ou pode ser de linha de comando. ... Java podem interagir com servidores Java EE, permitindo

Componentes Java EE

• Escritos em Java e compiladas da mesma forma como qualquer programa na linguagem Java.

• Diferenças entre os componentes do Java EE e classes Java “normais” – os componentes Java EE são incluídos em aplicações Java EE, – verificados quanto a formação e – em conformidade com a especificação Java EE.

• São implantados para produção, sendo executados e gerenciados pelo servidor Java EE.

Page 20: Programação para Web 2bacala/DAW/LPW2/01 - Introdução.pdf · partir da API Swing ou AWT; ou pode ser de linha de comando. ... Java podem interagir com servidores Java EE, permitindo

Clientes Java EE

• Cliente web

• Aplicativo cliente

Page 21: Programação para Web 2bacala/DAW/LPW2/01 - Introdução.pdf · partir da API Swing ou AWT; ou pode ser de linha de comando. ... Java podem interagir com servidores Java EE, permitindo

Cliente Web

• Consiste de duas partes: – Páginas web dinâmicas : linguagem de marcação (HTML, XML, etc...),

gerados por componentes da Web que funcionam na camada web – Um navegador da Web: renderiza e exibe as páginas recebidas do

servidor

• Chamado às vezes um cliente magro (thin client) – não consultam bases de dados, – não executam regras de negócio complexas, ou – não se conectam a aplicativos legados. – quando usado, tais operações pesadas são descarregados para beans

corporativos para aproveitar os recursos de segurança, velocidade, serviços e confiabilidade de tecnologias do lado do servidor Java EE.

Page 22: Programação para Web 2bacala/DAW/LPW2/01 - Introdução.pdf · partir da API Swing ou AWT; ou pode ser de linha de comando. ... Java podem interagir com servidores Java EE, permitindo

Aplicativos Cliente

• Executado em um computador cliente e fornece uma forma de os usuários lidarem com tarefas que exigem uma interface mais rica do que a fornecida por uma linguagem de marcação (HTML).

• Normalmente tem interface gráfica (GUI) criada a partir da API Swing ou AWT; ou pode ser de linha de comando.

Page 23: Programação para Web 2bacala/DAW/LPW2/01 - Introdução.pdf · partir da API Swing ou AWT; ou pode ser de linha de comando. ... Java podem interagir com servidores Java EE, permitindo

Aplicativos Cliente

• Acessam diretamente beans corporativos que funcionam na camada de negócios.

• Se os requisitos da aplicação justificarem, um aplicativo cliente pode abrir uma Conexão HTTP para estabelecer comunicação com um servlet rodando na camada web.

• Aplicativos clientes escritos em outras linguagens não Java podem interagir com servidores Java EE, permitindo que a plataforma Java EE faça interoperação com sistemas legados, clientes e linguagens não-Java.

Page 24: Programação para Web 2bacala/DAW/LPW2/01 - Introdução.pdf · partir da API Swing ou AWT; ou pode ser de linha de comando. ... Java podem interagir com servidores Java EE, permitindo

Applets

• Podem ser inc;uídos em páginas web recebidas da camada web

• Pequeno aplicativo cliente escrito em Java que executa na máquina virtual Java instalada no navegador da web.

• Sistemas cliente vão precisar do plug-in do Java e, possivelmente, de política de segurança para o applet para executar com êxito no navegador da web.

Page 25: Programação para Web 2bacala/DAW/LPW2/01 - Introdução.pdf · partir da API Swing ou AWT; ou pode ser de linha de comando. ... Java podem interagir com servidores Java EE, permitindo

Componentes Web

• Preferidos para a criação de programas cliente web pois nenhum plug-ins ou políticas de segurança são necessários nos sistemas cliente.

• Permitem design da aplicação mais modular e claro, pois fornecem um meio de separar a programação do design da página web.

• Pessoal do design da página web não precisam entender de programação Java para realizar suas tarefas.

Page 26: Programação para Web 2bacala/DAW/LPW2/01 - Introdução.pdf · partir da API Swing ou AWT; ou pode ser de linha de comando. ... Java podem interagir com servidores Java EE, permitindo

Arquitetura de

Componentes Javabean • As camadas server e client podem incluir componentes baseados na

arquitetura de componentes JavaBeans (componentes JavaBeans) para gerenciar o fluxo de dados entre: – aplicativo cliente ou applet e componentes executando no servidor Java EE – componentes do servidor e banco de dados

• Componentes JavaBeans – não são considerados componentes Java EE – têm propriedades e métodos get e set para acessar essas propriedades. – simples na sua concepção e implementação, mas devem estar em

conformidade com as convenções de nomenclatura e de projeto descritas na arquitetura de componentes JavaBeans

Page 27: Programação para Web 2bacala/DAW/LPW2/01 - Introdução.pdf · partir da API Swing ou AWT; ou pode ser de linha de comando. ... Java podem interagir com servidores Java EE, permitindo

Comunicação em

Servidores JEE

Page 28: Programação para Web 2bacala/DAW/LPW2/01 - Introdução.pdf · partir da API Swing ou AWT; ou pode ser de linha de comando. ... Java podem interagir com servidores Java EE, permitindo

Componentes Web

• Servlets ou páginas da web criados usando tecnologia JavaServer Faces (JSF) e/ou JSP (páginas JSP).

• Servlets: – classes Java que dinamicamente processam pedidos e constroem respostas.

• Páginas JSP: – documentos baseados em texto que executam como servlets; – permitem abordagem mais natural para a criação de conteúdo estático.

• JavaServer Faces: – baseia-se na tecnologia de servlets e JSP; – fornece um framework de componentes de interface de usuário para

aplicações web.

Page 29: Programação para Web 2bacala/DAW/LPW2/01 - Introdução.pdf · partir da API Swing ou AWT; ou pode ser de linha de comando. ... Java podem interagir com servidores Java EE, permitindo

Componentes não Web

JEE • Páginas HTML estáticas e applets :

– Fornecidos com os componentes da web durante a montagem aplicativo.

• Classes de utilitários do lado do servidor

– Podem ser empacotadas com componentes da Web

Page 30: Programação para Web 2bacala/DAW/LPW2/01 - Introdução.pdf · partir da API Swing ou AWT; ou pode ser de linha de comando. ... Java podem interagir com servidores Java EE, permitindo

Componentes Web

• Camada web, assim como a camada client, podem incluir componentes JavaBeans para gerenciar entrada de dados do usuário e enviar-los para beans corporativos que operam na camada de negócios.

Page 31: Programação para Web 2bacala/DAW/LPW2/01 - Introdução.pdf · partir da API Swing ou AWT; ou pode ser de linha de comando. ... Java podem interagir com servidores Java EE, permitindo

Componentes de

Negócios • Código de Negócios

(business code), – lógica que resolve ou

atende às necessidades de um domínio de negócio em particular

– tratado por beans corporativos que operam tanto na camada de negócios ou a camada web.

Page 32: Programação para Web 2bacala/DAW/LPW2/01 - Introdução.pdf · partir da API Swing ou AWT; ou pode ser de linha de comando. ... Java podem interagir com servidores Java EE, permitindo

Enterprise Information

System Tier • Opera com:

– software EIS e – sistemas de infraestrutura organizacionais

• Sistemas de Planejamento de Recursos Empresariais (ERP), • processamento de transações, • sistemas de banco de dados e • outros sistemas de informação legados.

– Exemplo: • os componentes de aplicativos Java EE podem ter acesso às EIS

para conectividade ao banco de dados.

Page 33: Programação para Web 2bacala/DAW/LPW2/01 - Introdução.pdf · partir da API Swing ou AWT; ou pode ser de linha de comando. ... Java podem interagir com servidores Java EE, permitindo

Arquitetura JEE

Page 34: Programação para Web 2bacala/DAW/LPW2/01 - Introdução.pdf · partir da API Swing ou AWT; ou pode ser de linha de comando. ... Java podem interagir com servidores Java EE, permitindo

Arquitetura JEE

Page 35: Programação para Web 2bacala/DAW/LPW2/01 - Introdução.pdf · partir da API Swing ou AWT; ou pode ser de linha de comando. ... Java podem interagir com servidores Java EE, permitindo

JEE CONTAINERS

Page 36: Programação para Web 2bacala/DAW/LPW2/01 - Introdução.pdf · partir da API Swing ou AWT; ou pode ser de linha de comando. ... Java podem interagir com servidores Java EE, permitindo

Java EE Containers

• Aplicações thin client multicamadas:

– difíceis de escrever pois envolvem muitas linhas de código para lidar com • transações e gerenciamento de estado,

• multithreading,

• pool de recursos e

• detalhes de baixo nível.

Page 37: Programação para Web 2bacala/DAW/LPW2/01 - Introdução.pdf · partir da API Swing ou AWT; ou pode ser de linha de comando. ... Java podem interagir com servidores Java EE, permitindo

Java EE Containers

• A arquitetura Java EE – baseada em componentes e

– independente de plataforma

• torna aplicações fáceis de escrever, porque – a lógica do negócio é organizada em componentes reutilizáveis,

– o servidor Java EE fornece serviços de suporte sob a forma de um container para cada tipo de componente e

– por não ter que desenvolver estes serviços, pode-se concentrar na resolução dos problemas do negócio.

Page 38: Programação para Web 2bacala/DAW/LPW2/01 - Introdução.pdf · partir da API Swing ou AWT; ou pode ser de linha de comando. ... Java podem interagir com servidores Java EE, permitindo

Java EE Containers

• Containers são a interface entre um componente e o nível inferior, funcionalidade específica da plataforma que suporta o componente.

• Antes que possa ser executado, um componente web, enterprise bean ou aplicativo cliente deve ser montado em um módulo Java EE e implantado em seu container.

Page 39: Programação para Web 2bacala/DAW/LPW2/01 - Introdução.pdf · partir da API Swing ou AWT; ou pode ser de linha de comando. ... Java podem interagir com servidores Java EE, permitindo

Java EE Containers x API

Page 40: Programação para Web 2bacala/DAW/LPW2/01 - Introdução.pdf · partir da API Swing ou AWT; ou pode ser de linha de comando. ... Java podem interagir com servidores Java EE, permitindo

Container Services

• O processo de montagem envolve a especificação das definições de contêineres para cada componente na aplicação Java EE e para a aplicação Java EE em si.

• Configurações do contêiner personalizam o suporte fornecido pelo servidor Java EE, incluindo serviços como segurança, gerenciamento de transações, a API de busca Java Naming and Directory Interface (JNDI) e conectividade remota

Page 41: Programação para Web 2bacala/DAW/LPW2/01 - Introdução.pdf · partir da API Swing ou AWT; ou pode ser de linha de comando. ... Java podem interagir com servidores Java EE, permitindo

Container Services

• O modelo de segurança Java EE permite configurar um componente web ou bean corporativo de modo que os recursos do sistema sejam acessados apenas por usuários autorizados.

• O modelo de transação Java EE permite especificar as relações entre os métodos que compõem uma única transação, de modo que todos os métodos em uma transação sejam tratados como uma única unidade.

• Serviços de pesquisa JNDI fornecem uma interface unificada para múltiplos serviços de naming e directory services na empresa, de modo que os componentes da aplicação possam acessar esses serviços.

• O modelo de conectividade remota Java EE gerencia as comunicações de baixo nível entre clientes e beans corporativos. Depois que um bean corporativo é criado, um cliente invoca métodos sobre ele como se fosse na mesma máquina virtual.

Page 42: Programação para Web 2bacala/DAW/LPW2/01 - Introdução.pdf · partir da API Swing ou AWT; ou pode ser de linha de comando. ... Java podem interagir com servidores Java EE, permitindo

Container Services

• Como a arquitetura Java EE fornece serviços configuráveis, componentes dentro do mesmo aplicativo podem se comportar de forma diferente dependendo de onde forem implantados. Exemplo: – um enterprise bean pode ter configurações de segurança que

permitem um nível de acesso ao banco de dados em um ambiente de produção e outro nível de acesso em outro ambiente de produção.

• O container também gerencia serviços não configuráveis, como o beans corporativos, ciclos de vida do servlet, pool de recursos de conexão de banco de dados, persistência de dados e acesso a as APIs da plataforma Java EE (Java EE 7 ver APIs).

Page 43: Programação para Web 2bacala/DAW/LPW2/01 - Introdução.pdf · partir da API Swing ou AWT; ou pode ser de linha de comando. ... Java podem interagir com servidores Java EE, permitindo

Tipos de Containers • Servidor Java EE: – Runtime do Java EE. Fornece contêineres EJB e web.

• Container EJB: – Gerencia a execução de beans corporativos para

aplicações Java EE. Beans corporativos e seu container rodam no servidor Java EE.

• Container Web: – Gerencia a execução de páginas web, servlets, e alguns EJB

componentes para aplicações Java EE. Componentes da Web e seu contêiner rodam no servidor Java EE.

• Container Aplicação Cliente : – Gerencia a execução de componentes do aplicativo

cliente. Aplicativos Clientes e seu container rodam no cliente.

• Container Applet: – Gerencia a execução de applets. Consiste em um

navegador da web e um Java Plug-in rodando juntos no cliente.

Page 44: Programação para Web 2bacala/DAW/LPW2/01 - Introdução.pdf · partir da API Swing ou AWT; ou pode ser de linha de comando. ... Java podem interagir com servidores Java EE, permitindo

SERVIÇOS DE SUPORTE

Page 45: Programação para Web 2bacala/DAW/LPW2/01 - Introdução.pdf · partir da API Swing ou AWT; ou pode ser de linha de comando. ... Java podem interagir com servidores Java EE, permitindo

Serviços de Suporte a

Web • Os serviços Web são aplicações corporativas baseadas na

web que usam protocolo de transporte aberto, baseado em XML e para a troca de dados com solicitações clientes.

• O Java EE fornece as APIs XML e ferramentas necessárias para rapidamente projetar, desenvolver, testar e implantar os serviços clientes e web que interagem totalmente com outros serviços da web e clientes que executam em plataformas baseadas em Java ou não Java.

Page 46: Programação para Web 2bacala/DAW/LPW2/01 - Introdução.pdf · partir da API Swing ou AWT; ou pode ser de linha de comando. ... Java podem interagir com servidores Java EE, permitindo

Extensible Markup Language

(XML) • Padrão para representar dados multiplataforma,

extensível, baseado em texto.

• As partes que trocam dados XML podem criar suas próprias tags para descrever seus dados, criar esquemas para especificar quais tags podem ser usadas em tipo particular de documento XML, e usar estilos para gerenciar manipulação e a exibição dos dados.

Page 47: Programação para Web 2bacala/DAW/LPW2/01 - Introdução.pdf · partir da API Swing ou AWT; ou pode ser de linha de comando. ... Java podem interagir com servidores Java EE, permitindo

Protocolo de Transporte

SOAP • As solicitações do cliente e respostas de serviços web são

transmitidos como mensagens SOAP (Simple Object Access Protocol ) sobre HTTP para permitir uma completa interoperabilidade entre clientes e serviços web, executados em plataformas diferentes e em vários locais na Internet.

• HTTP é um familiar padrão de solicitação e resposta para o envio de mensagens pela Internet, e SOAP é um protocolo baseado em XML que se segue o modelo HTTP de solicitação e resposta.

Page 48: Programação para Web 2bacala/DAW/LPW2/01 - Introdução.pdf · partir da API Swing ou AWT; ou pode ser de linha de comando. ... Java podem interagir com servidores Java EE, permitindo

Protocolo de Transporte

SOAP • A parte SOAP de uma mensagem transportada faz o

seguinte: – Define um encapsulamento baseado em XML para

descrever o que está na mensagem e explicar como processar a mensagem

– Inclui regras baseadas em XML para expressar ocorrências dentro da mensagem de tipos de dados definidos pela aplicação

– Define uma convenção baseada em XML para representar o pedido do serviço remoto e a resposta resultante

Page 49: Programação para Web 2bacala/DAW/LPW2/01 - Introdução.pdf · partir da API Swing ou AWT; ou pode ser de linha de comando. ... Java podem interagir com servidores Java EE, permitindo

Web Services Description

Language (WSDL) • Descrição de serviços de rede que seguem o padrão XML. • Inclui:

– o nome de serviço, – a localização dos serviços e – formas de se comunicar com o serviço.

• Descrições de serviço WSDL podem ser publicadas na web. • Servidor GlassFish oferece uma ferramenta para gerar a

especificação WSDL de um serviço web que usa chamadas de procedimento remoto para se comunicar com os clientes.

Page 50: Programação para Web 2bacala/DAW/LPW2/01 - Introdução.pdf · partir da API Swing ou AWT; ou pode ser de linha de comando. ... Java podem interagir com servidores Java EE, permitindo

Montagem e Implantação

de aplicações JEE • Uma aplicação Java EE é empacotada em uma ou mais unidades para

implantação em qualquer sistema compatível com plataforma Java EE. • Cada unidade contém :

– Um componente funcional ou componentes, como um bean corporativo, página web, servlet, ou applets;

– Um descritor de implantação (Deployment Descriptor) opcional que descreve o seu conteúdo.

• A implantação envolve o uso de ferramentas de implantação da plataforma para especificar a localização detalhada das informações, tais como a lista dos usuários locais que podem acessá-lo e o nome da base de dados local.

• Uma vez implantado em uma plataforma, o aplicativo está pronto para ser executado.

Page 51: Programação para Web 2bacala/DAW/LPW2/01 - Introdução.pdf · partir da API Swing ou AWT; ou pode ser de linha de comando. ... Java podem interagir com servidores Java EE, permitindo

API NOS JEE7 CONTAINERS

Page 52: Programação para Web 2bacala/DAW/LPW2/01 - Introdução.pdf · partir da API Swing ou AWT; ou pode ser de linha de comando. ... Java podem interagir com servidores Java EE, permitindo

API no Web Container

Page 53: Programação para Web 2bacala/DAW/LPW2/01 - Introdução.pdf · partir da API Swing ou AWT; ou pode ser de linha de comando. ... Java podem interagir com servidores Java EE, permitindo

API no Web Container

Page 54: Programação para Web 2bacala/DAW/LPW2/01 - Introdução.pdf · partir da API Swing ou AWT; ou pode ser de linha de comando. ... Java podem interagir com servidores Java EE, permitindo

API no EJB Container

Page 55: Programação para Web 2bacala/DAW/LPW2/01 - Introdução.pdf · partir da API Swing ou AWT; ou pode ser de linha de comando. ... Java podem interagir com servidores Java EE, permitindo

API no Client Container

Page 56: Programação para Web 2bacala/DAW/LPW2/01 - Introdução.pdf · partir da API Swing ou AWT; ou pode ser de linha de comando. ... Java podem interagir com servidores Java EE, permitindo

NOMENCLATURA JEE

Page 57: Programação para Web 2bacala/DAW/LPW2/01 - Introdução.pdf · partir da API Swing ou AWT; ou pode ser de linha de comando. ... Java podem interagir com servidores Java EE, permitindo

Enterprise JavaBeans

(EJB) • corpo de código que tem campos e métodos para

implementar os módulos da lógica de negócios.

• espécie de bloco de construção que pode ser usado sozinho ou com outra EJB para executar a lógica de negócios no servidor Java EE.

Page 58: Programação para Web 2bacala/DAW/LPW2/01 - Introdução.pdf · partir da API Swing ou AWT; ou pode ser de linha de comando. ... Java podem interagir com servidores Java EE, permitindo

Enterprise JavaBeans

(EJB) • Session bean :

– representa uma conversação transiente com um cliente. Quando o cliente termina a execução, o bean de sessão e seus dados desapareceram.

• Message-driven bean: – combina características de um Session Bean com a de um

receptor da mensagem, permitindo a um componente de negócios receber mensagens de forma assíncrona. Comumente, são mensagens Java Message Service (JMS)

No Java EE 7, novos recursos de Enterprise Javabeans incluem: - Asynchronous local session beans in EJB Lite - Temporizadores não persistente em EJB Lite

Java EE 7 requer Enterprise JavaBeans 3.2 e 1.2 interceptores.

Page 59: Programação para Web 2bacala/DAW/LPW2/01 - Introdução.pdf · partir da API Swing ou AWT; ou pode ser de linha de comando. ... Java podem interagir com servidores Java EE, permitindo

Java Servlet

• Permite definir classes de HTTP servlet. • A classe servlet estende as capacidades dos

servidores que hospedam aplicativos acessados por meio de um modelo de programação de solicitação-resposta.

• Apesar de servlets responderem a qualquer tipo de pedido, eles são comumente usados para estender os aplicativos hospedados por servidores web.

HTTP

No Java EE 7, novos recursos da Tecnologia Java Servlet incluem: - Nonblocking I/O

- HTTP protocol upgrade Java EE 7 requer Servlet 3.1

Page 60: Programação para Web 2bacala/DAW/LPW2/01 - Introdução.pdf · partir da API Swing ou AWT; ou pode ser de linha de comando. ... Java podem interagir com servidores Java EE, permitindo

JavaServer Faces

• É framework de interface de usuário para a construção de web aplicações.

• Principais componentes: – Um framework de componentes GUI. – Um modelo flexível para renderizar componentes em diferentes

tipos de HTML ou diferente linguagens e tecnologias de marcação. Um objeto Renderer gera a marcação para processar o componente e converter os dados armazenados em um objeto modelo para tipos que podem ser representados numa view.

– ■ A RenderKit padrão para a geração de marcação HTML 4.01.

Page 61: Programação para Web 2bacala/DAW/LPW2/01 - Introdução.pdf · partir da API Swing ou AWT; ou pode ser de linha de comando. ... Java podem interagir com servidores Java EE, permitindo

Java Server Faces • As seguintes recurso apoiam os componentes GUI:

– Validação de entrada

– Manipulação de eventos

– Conversão de dados entre objetos modelo e componentes

– Criação do objeto modelo gerenciado

– Configuração de navegação de página

– Expression Language (EL)

• Toda funcionalidade está disponível usando APIs Java padrão e baseada em arquivos de configuração XML

No Java EE 7, novos recursos da Tecnologia JavaServer Faces incluem: - Marcação amigável HTML5

■ Faces Flows ■ Resource library contracts

Java EE 7 requer JavaServer Faces 2.2 and Expression Language 3.0

Page 62: Programação para Web 2bacala/DAW/LPW2/01 - Introdução.pdf · partir da API Swing ou AWT; ou pode ser de linha de comando. ... Java podem interagir com servidores Java EE, permitindo

JavaServer Pages

• Permite colocar trechos de código servlet diretamente em um documento baseado em texto.

• Uma página JSP é um documento baseado em texto que contém dois tipos de texto: – Os dados estáticos, que podem ser expressos em qualquer formato

baseado em texto, como HTML ou XML

– Elementos JSP, que determinam como é construído o conteúdo dinâmico da página

Java EE 7 requer JavaServer Pages 2.3 para compatibilidade com versões anteriores, mas é recomendado o uso de Facelets como a

tecnologia de exibição em novo aplicativos.

Page 63: Programação para Web 2bacala/DAW/LPW2/01 - Introdução.pdf · partir da API Swing ou AWT; ou pode ser de linha de comando. ... Java podem interagir com servidores Java EE, permitindo

JavaServer Pages Standard

Tag Library (JSTL) • Encapsula núcleo da funcionalidade comum a muitas aplicações JSP.

• Em vez de misturar vários fornecedores nos aplicativos JSP, usa-se um único conjunto de tags padrão.

• Essa padronização permite implantar os aplicativos em qualquer container que suporte JSP JSTL e tornar a implementação das tags mais otimizada.

• JSTL tem iterator e tags condicionais para lidar com o fluxo de controle, tags para manipular documentos XML, internacionalização, acesso a bancos de dados usando SQL e para outras funções úteis.

Java EE 7 requer JSTL 1.2

Page 64: Programação para Web 2bacala/DAW/LPW2/01 - Introdução.pdf · partir da API Swing ou AWT; ou pode ser de linha de comando. ... Java podem interagir com servidores Java EE, permitindo

Java Persistence API

• Solução baseada em padrões Java para persistência.

• Usa uma abordagem de mapeamento objeto / relacional para preencher a lacuna entre um modelo orientado a objeto e um banco de dados relacional.

• Pode ser também usado em aplicações Java SE fora do ambiente Java EE.

• É composta por:

– Java Persistence API

– Linguagem de consulta

– Mapeamento Objeto/Relacional

Java EE 7 requer Java Persistence API 2.1

Page 65: Programação para Web 2bacala/DAW/LPW2/01 - Introdução.pdf · partir da API Swing ou AWT; ou pode ser de linha de comando. ... Java podem interagir com servidores Java EE, permitindo

Java Transaction API (JTA)

• Fornece uma interface padrão para demarcar transações. \ • A arquitetura Java EE fornece um auto commit padrão a lidar

com confirmação de transação e reversões (roolbacks). • Um auto commit significa que qualquer outra aplicação que

está vendo os dados, terá os dados atualizados após cada operação de leitura ou escrita no banco de dados.

• No entanto, se o aplicativo executa duas operações de acesso a banco de dados separados, que dependem uns dos outros, a API JTA é usada para demarcar a transação toda , incluindo as ambas operações: begins, rolls back, and commits.

Java EE 7 requer Java Transaction API 1.2

Page 66: Programação para Web 2bacala/DAW/LPW2/01 - Introdução.pdf · partir da API Swing ou AWT; ou pode ser de linha de comando. ... Java podem interagir com servidores Java EE, permitindo

Java API for RESTful Web

Services (JAX-RS) • define APIs para o desenvolvimento de serviços

web construídos de acordo com a arquitetura REST (Representational State Transfer)

• A aplicação JAX-RS é uma aplicação web que consiste de classes empacotadas como um servlet em um arquivo WAR junto com as bibliotecas necessárias.

Java EE 7 requer JAX-RS 2.0

Page 67: Programação para Web 2bacala/DAW/LPW2/01 - Introdução.pdf · partir da API Swing ou AWT; ou pode ser de linha de comando. ... Java podem interagir com servidores Java EE, permitindo

Managed Beans

• objetos leves gerenciados por contêiner (POJOs) com o requisitos mínimos, suporte de um pequeno conjunto de serviços básicos, como a injeção de recursos, o ciclo de vida de callbacks e interceptores.

• Beans gerenciados representam uma generalização do bean gerenciado especificado pela tecnologia JavaServer Faces e pode ser usado em qualquer lugar em uma aplicação Java EE, não apenas em módulos web.

A especificação Managed Beans é parte da especificação da plataforma Java EE 7 (JSR 342).

Java EE 7 requer Managed Beans 1.0.

Page 68: Programação para Web 2bacala/DAW/LPW2/01 - Introdução.pdf · partir da API Swing ou AWT; ou pode ser de linha de comando. ... Java podem interagir com servidores Java EE, permitindo

Contexts and Dependency

Injection for Java EE (CDI) • Define um conjunto de serviços contextuais, prestados

pelos containers Java EE, que tornam mais fácil para os desenvolvedores usar enterprises beans com a tecnologia JavaServer Faces em aplicações web.

• Projetado para uso com objetos stateful (sem estado), CDI também tem uso mais abrangente, possibilitando uma grande flexibilidade para integrar diferentes tipos de componentes de uma forma fracamente acoplada mas segura.

Java EE 7 requer CDI 1.1.

Page 69: Programação para Web 2bacala/DAW/LPW2/01 - Introdução.pdf · partir da API Swing ou AWT; ou pode ser de linha de comando. ... Java podem interagir com servidores Java EE, permitindo

Dependency Injection for

Java • Define um conjunto padrão de anotações (e uma

interface) para uso em classes injetáveis.

• Na plataforma Java EE, CDI fornece suporte para injeção de dependência. Especificamente, podem ser usados pontos de injeção somente em uma aplicação CDI-habilitada.

Java EE 7 requer Dependency Injection for Java 1.0.

Page 70: Programação para Web 2bacala/DAW/LPW2/01 - Introdução.pdf · partir da API Swing ou AWT; ou pode ser de linha de comando. ... Java podem interagir com servidores Java EE, permitindo

Bean Validation

• Define um modelo de metadados e API para validar dados em componentes JavaBeans. Em vez de distribuir a validação de dados ao longo de várias camadas, como no navegador e no lado servidor, permite definir a validação de restrições em um único local e compartilhá-los através das diferentes camadas

Java EE 7 requer Bean Validation 1.1

Page 71: Programação para Web 2bacala/DAW/LPW2/01 - Introdução.pdf · partir da API Swing ou AWT; ou pode ser de linha de comando. ... Java podem interagir com servidores Java EE, permitindo

Java Message Service API

(JMS) • Padrão de mensagens que permite que os componentes de

aplicativos Java EE criar, enviar, receber e ler mensagens. Possibilita a comunicação distribuída que é fracamente acoplada, confiável e assíncrona.

• As novas características de JMS incluem o seguinte. – Oferece uma alternativa mais simples que a anterior. Inclui um

objeto JMSContext que combina as funções de Connection e Session.

– Todos os objetos com um método close implementam a interface java.lang.Autocloseable de para que possam ser utilizados em uma instrução Java SE 7 try-with-resources.

Java EE 7 requer JMS 2.0

Page 72: Programação para Web 2bacala/DAW/LPW2/01 - Introdução.pdf · partir da API Swing ou AWT; ou pode ser de linha de comando. ... Java podem interagir com servidores Java EE, permitindo

Java EE Connector

Architecture • Usado por fornecedores de ferramentas e integradores de

sistemas para criar adaptadores de recursos que suportam o acesso aos EIS que pode ser ligados a qualquer produto Java EE.

• Um adaptador de recursos é um componente de software que permite que os componentes de aplicativos Java EE acessar e interagir com o gerenciador básico de recursos do EIS.

• Como um adaptador de recursos é específico para o seu gerenciador de recurso, existe um adaptador de recursos diferente para cada tipo de banco de dados ou EIS.

Page 73: Programação para Web 2bacala/DAW/LPW2/01 - Introdução.pdf · partir da API Swing ou AWT; ou pode ser de linha de comando. ... Java podem interagir com servidores Java EE, permitindo

Java EE Connector

Architecture • Também fornece uma integração de serviços Web baseados em

plataforma Java EE, orientados para desempenho, seguro, escalável e baseado em mensagens transacionais, com EIS existentes , síncrona ou assíncrona.

• Aplicações existentes e EIS integrados através da EE Java Connector Architecture para o Plataforma Java EE podem ser expostos como serviços Web baseados em XML usando JAX-WS e Java EE Connector Architecture.

• Assim, JAX-WS e o são tecnologias complementares para a integração de aplicações empresariais (EAI) e de integração de negócios end-to-end.

Java EE 7 requer Java EE Connector Architecture 1.7

Page 74: Programação para Web 2bacala/DAW/LPW2/01 - Introdução.pdf · partir da API Swing ou AWT; ou pode ser de linha de comando. ... Java podem interagir com servidores Java EE, permitindo

JavaMail API

• Aplicações Java EE podem usar a API JavaMail para enviar notificações por e-mail.

• A API JavaMail tem duas partes: – Uma interface em nível de aplicativo usado pelos

componentes do aplicativo para enviar e-mail – A interface do provedor de serviço

• A plataforma Java EE inclui a API JavaMail com um provedor de serviço que permite componentes do aplicações enviar mensagens para Internet.

Java EE 7 requer JavaMail 1.5

Page 75: Programação para Web 2bacala/DAW/LPW2/01 - Introdução.pdf · partir da API Swing ou AWT; ou pode ser de linha de comando. ... Java podem interagir com servidores Java EE, permitindo

Java Authorization Contract

for Containers (JACC) • Define um contrato entre um servidor de aplicativos Java EE e um

provedor de política de autorização. Todos os Containers Java EE suportam este contrato.

• A especificação JACC define classes java.security.Permission que satisfazem o Modelo de autorização Java EE.

• A especificação define a ligação de decisões de acesso ao container a operações em instâncias dessas classes de permissão.

• Define a semântica de provedores de políticas que usam as novas classes de permissão para atender aos requisitos de autorização da plataforma Java EE, incluindo a definição e utilização de papéis.

Java EE 7 requer JACC 1.5.

Page 76: Programação para Web 2bacala/DAW/LPW2/01 - Introdução.pdf · partir da API Swing ou AWT; ou pode ser de linha de comando. ... Java podem interagir com servidores Java EE, permitindo

Java Authentication Service Provider

Interface for Containers (JASPIC)

• Define uma interface de provedor de serviço (SPI) pela qual provedores de autenticação que implementam mecanismos de autenticação de mensagens podem ser integradas no Container de processamento de mensagens de cliente ou servidor ou runtimes.

• Provedores de autenticação integradas através desta interface operam em mensagens de rede que são providas por seus containers de chamada.

• Os provedores de autenticação transformam mensagens de saída para que a origem de cada mensagem possa ser autenticada pelo contêiner de recepção, e o destinatário da mensagem possa ser autenticado pelo remetente da mensagem.

• Provedores de autenticação autenticam cada mensagem recebida e regressam ao seu Container da chamada a identidade estabelecida como resultado da autenticação da mensagem.

Java EE 7 requer JASPIC 1.1

Page 77: Programação para Web 2bacala/DAW/LPW2/01 - Introdução.pdf · partir da API Swing ou AWT; ou pode ser de linha de comando. ... Java podem interagir com servidores Java EE, permitindo

Java API for WebSocket

• WebSocket é um protocolo de aplicação que fornece comunicações full-duplex entre dois pares sobre TCP. A API Java para WebSocket permite que os aplicativos Java EE para criar endpoints usando anotações que especificam os parâmetros de configuração do endpoint e designar os seus métodos de ciclo de vida de callback.

A WebSocket API é nova na plataforma Java EE 7. Java EE 7 requer Java API for WebSocket 1.0

Page 78: Programação para Web 2bacala/DAW/LPW2/01 - Introdução.pdf · partir da API Swing ou AWT; ou pode ser de linha de comando. ... Java podem interagir com servidores Java EE, permitindo

Java API para processamento

JSON • JSON é um formato de troca de dados baseado

em texto derivado de JavaScript que é usado em serviços web e outros aplicativos conectados.

• A API Java para Processamento de JSON (JSON-P) permite que aplicativos Java EE analisem, transformem e consultem dados JSON usando o modelo de objeto ou o modelo de streaming.

JSON-P é nova na plataforma Java EE 7. Java EE 7 requer JSON-P 1.0

Page 79: Programação para Web 2bacala/DAW/LPW2/01 - Introdução.pdf · partir da API Swing ou AWT; ou pode ser de linha de comando. ... Java podem interagir com servidores Java EE, permitindo

Concurrency Utilities for

Java EE • API padrão para fornecer recursos assíncronos

para os componentes do aplicativo Java EE através dos seguintes tipos de objetos: – Serviço executor gerenciado,

– Serviço gerenciado executor programado,

– Fábrica de thread gerenciado e

– Serviço de contexto.

Concurrency Utilities for Java EE é nova na plataforma Java EE 7. Java EE 7 requer Concurrency Utilities for Java EE 1.0

Page 80: Programação para Web 2bacala/DAW/LPW2/01 - Introdução.pdf · partir da API Swing ou AWT; ou pode ser de linha de comando. ... Java podem interagir com servidores Java EE, permitindo

Batch Applications for the

Java Platform • API padrão para fornecer recursos assíncronos

para os componentes do aplicativo Java EE através dos seguintes tipos de objetos: – Serviço executor gerenciado,

– Serviço gerenciado executor programado,

– Fábrica de thread gerenciado e

– Serviço de contexto.

Batch Applications for the Java Platform é nova na plataforma Java EE 7. Java EE 7 requer Batch Applications for the Java Platform 1.0

Page 81: Programação para Web 2bacala/DAW/LPW2/01 - Introdução.pdf · partir da API Swing ou AWT; ou pode ser de linha de comando. ... Java podem interagir com servidores Java EE, permitindo

Java Database

Connectivity API (JDBC) • Permite chamar comandos SQL a partir de métodos em Java . • A API JDBC é usada em enterprise bean quando se tem um

session bean para acessar um banco de dados. • Também pode-se usar a API do JDBC a partir de um servlet ou

uma página JSP para acessar o banco de dados diretamente, sem passar por um enterprise bean.

• A API JDBC tem duas partes: – Uma interface em nível de aplicativo usado pelos componentes do

aplicativo para acessar um banco de dados – Uma interface de provedor de serviço para anexar um driver JDBC

para a plataforma Java EE

Java EE 7 requer JDBC 4.1

Page 82: Programação para Web 2bacala/DAW/LPW2/01 - Introdução.pdf · partir da API Swing ou AWT; ou pode ser de linha de comando. ... Java podem interagir com servidores Java EE, permitindo

Java Naming and Directory

Interface API (JNDI) • Fornece funcionalidade de naming e directory, permitindo que

os aplicativos para acessar vários serviços de nomenclatura e diretório, como o LDAP, DNS e NIS.

• A API JNDI fornece aplicativos com métodos para realização de operações de diretório padrão, como associar atributos com objetos e a busca de objetos usando seus atributos.

• Usando JNDI, um aplicativo Java EE pode armazenar e recuperar qualquer tipo de objeto Java chamado, permitindo aos aplicativos Java EE coexistir com muitas aplicações e sistemas legados.

Page 83: Programação para Web 2bacala/DAW/LPW2/01 - Introdução.pdf · partir da API Swing ou AWT; ou pode ser de linha de comando. ... Java podem interagir com servidores Java EE, permitindo

JavaBeans Activation Framework

(JAF)

• Utilizado pela API JavaMail.

• JAF fornece serviços padrão para determinar o tipo de uma parte arbitrária de dados, encapsular acesso a ela, descobrir as operações disponíveis sobre ele e criar o Componente JavaBeans apropriado para realizar essas operações.

Page 84: Programação para Web 2bacala/DAW/LPW2/01 - Introdução.pdf · partir da API Swing ou AWT; ou pode ser de linha de comando. ... Java podem interagir com servidores Java EE, permitindo

Java API for XML

Processing (JAXP) • Suporta o processamento de documentos XML usando

Document Object Model (DOM), Simple API for XML (SAX) e Extensible Stylesheet Language Transformations (XSLT).

• JAXP permite aplicativos analisarem e transformarem documentos XML independentes de uma implementação de processamento de XML específica .

• JAXP também fornece suporte namespace, que permite trabalhar com esquemas que poderia ter conflitos de nomes.

• Projetado para ser flexível, JAXP permite que o uso de qualquer parser XML compatível ou processador XSL dentro de sua aplicação e suporta o esquema Worldwide Web Consortium (W3C).

Page 85: Programação para Web 2bacala/DAW/LPW2/01 - Introdução.pdf · partir da API Swing ou AWT; ou pode ser de linha de comando. ... Java podem interagir com servidores Java EE, permitindo

Java Architecture for XML

Binding (JAXB) • Fornece uma maneira conveniente para ligar um

Esquema XML para uma representação em programas em linguagem Java.

• JAXB pode ser usado de forma independente ou em combinação com JAX-WS, caso em que se proporciona um padrão ligação de dados para mensagens de serviço da web.

• Todos os contêineres Java EE do aplicativo cliente, contêineres web e EJB suportam a API JAXB.

Java EE 7 requer JAXB 2.2

Page 86: Programação para Web 2bacala/DAW/LPW2/01 - Introdução.pdf · partir da API Swing ou AWT; ou pode ser de linha de comando. ... Java podem interagir com servidores Java EE, permitindo

Java API for XML Web

Services (JAX-WS) • Fornece suporte para serviços web que utilizam a API JAXB para a

ligação de dados XML para objetos Java. • A especificação JAX-WS define API do cliente para acessar serviços

web, bem como técnicas para implementação de terminais de serviço web.

• A especificação Implementing Enterprise Web Services descreve a implantação de serviços baseados em JAX-WS e clientes.

• As especificações EJB e Java Servlet também descrevem aspectos de tal implantação. Aplicações baseadas em JAX-WS pode ser implantado usando qualquer um destes modelos de implementação.

Page 87: Programação para Web 2bacala/DAW/LPW2/01 - Introdução.pdf · partir da API Swing ou AWT; ou pode ser de linha de comando. ... Java podem interagir com servidores Java EE, permitindo

Java API for XML Web

Services (JAX-WS) • A especificação JAX-WS descreve o suporte para manipuladores de

mensagens que podem processar pedidos e respostas de mensagens. Em geral, estes manipuladores de mensagens executam no mesmo contêiner e com os mesmos privilégios e contexto de execução como cliente componente JAX-WS ou endpoint com a qual estão associadas.

• Estes manipuladores de mensagem ter acesso ao mesmo namespace JNDI como seu componente associado. Serializadores e deserializadores personalizados, se suportados, são tratados da mesma forma que manipuladores de mensagens.

Java EE 7 requer JAX-WS 2.2

Page 88: Programação para Web 2bacala/DAW/LPW2/01 - Introdução.pdf · partir da API Swing ou AWT; ou pode ser de linha de comando. ... Java podem interagir com servidores Java EE, permitindo

SOAP with Attachments

API for Java (SAAJ) • API de baixo nível em que dependente de JAX-WS

• Permite a produção e consumo de mensagens que estejam em conformidade com as especificações SOAP 1.1 e 1.2 e notas anexadas com SOAP.

• Grande parte dos desenvolvedores não usam a API SAAJ, usando JAX-WS API em nível mais elevado.

Page 89: Programação para Web 2bacala/DAW/LPW2/01 - Introdução.pdf · partir da API Swing ou AWT; ou pode ser de linha de comando. ... Java podem interagir com servidores Java EE, permitindo

Java Authentication and

Authorization Service (JAAS) • Fornece um meio para uma aplicação Java EE

autenticar e autorizar um usuário ou grupo específico de usuários para executá-lo.

• JAAS é uma versão Java do framework padrão Pluggable Authentication Module (PAM), que estende a arquitetura de segurança da plataforma Java para apoiar autorização baseada em usuário.

Page 90: Programação para Web 2bacala/DAW/LPW2/01 - Introdução.pdf · partir da API Swing ou AWT; ou pode ser de linha de comando. ... Java podem interagir com servidores Java EE, permitindo

Common Annotations for the

Java Platform • Permite o estilo declarativo de programação na

plataforma Java.

Java EE 7 requer Common Annotations for the Java Platform 1.2

Page 91: Programação para Web 2bacala/DAW/LPW2/01 - Introdução.pdf · partir da API Swing ou AWT; ou pode ser de linha de comando. ... Java podem interagir com servidores Java EE, permitindo