Buscar

Livro Digital - Programação para Web II

Prévia do material em texto

INTRODUÇÃO AO JAVA ENTERPRISE
EDITION
UNIDADE 1
IINNTTRROODDUUÇÇÃÃOO AAOO JJAAVVAA EENNTTEERRPPRRIISSEE EEDDIITTIIOONN EE
PPRRIINNCCIIPPAAIISS TTEECCNNOOLLOOGGIIAASS
TTÓÓPPIICCOO 11
11 IINNTTRROODDUUÇÇÃÃOO
O Java Enterprise Edition (JEE) inicialmente evoluiu como uma plataforma de
desenvolvimento para aplicações enterprise que focava em robustez, webservices
e facilidade. Continuamente moldado através do feedback fornecido pelo Java
Community Process (JCP), o JEE hoje representa um padrão universal para TI
empresarial, facilitando o desenvolvimento, instalação e gerenciamento de
aplicações multi-tier e server-centric. O sucesso na adoção da plataforma é
inegável. Em maio de 2013, os componentes JEE6 da Oracle e outros fornecedores
já contabilizavam 50 milhões de downloads (ORACLE, 2014).
O JCP é o mecanismo através do qual são de�nidas as especi�cações
Unidade 1 - Tópico 1 
Livro Digital - Programação para Web II https://livrodigital.uniasselvi.com.br/ADS27_programacao_para_web_ii...
1 of 17 26/06/2024, 16:23
técnicas para a tecnologia Java. Ele é aberto para a participação de qualquer
pessoa. Maiores detalhes em: <jjccpp..oorrgg//>.
Conforme Evans et al. (2011), o modelo de aplicação do JEE começa com a
linguagem de programação Java e a Java Virtual Machine. A já conhecida e
comprovada portabilidade, segurança e produtividade no desenvolvimento que ela
oferece formam a base deste modelo.
A plataforma JEE é projetada para suportar aplicações que possuem elevado grau
de complexidade, acessando dados das mais variadas fontes e atendendo a um
grande número de clientes e requisições. Sua arquitetura facilita o gerenciamento
da escalabilidade, pré-requisito para ambientes corporativos de alto desempenho.
Esta arquitetura divide o trabalho em duas partes:
1) A lógica de negócio e apresentação: implementadas pelo desenvolvedor.2) Os
serviços-padrão que tais aplicações necessitam: ofertadas pela plataforma JEE
através do servidor de aplicações.
A Figura 1 apresenta uma arquitetura JEE típica:
FIGURA 1 - ARQUITURA JEE TÍPICA
Unidade 1 - Tópico 1 
Livro Digital - Programação para Web II https://livrodigital.uniasselvi.com.br/ADS27_programacao_para_web_ii...
2 of 17 26/06/2024, 16:23
https://www.jcp.org/
https://www.jcp.org/
FONTE: Evans et al. (2011)
Para compreender a �gura, inicialmente é necessária a compreensão do conceito
de tier (camada lógica) e de layer (camada física). Tanto a tier quanto a layer
podem ser de�nidas como um conjunto de tecnologias que representa um
conceito que faz parte da aplicação. A tier é sempre composta por software, ou
seja, é lógica. A layer é sempre composta por hardware, ou seja, é física. No caso
da �gura, temos quatro tiers e três layers:
1) Client Tier: representa a camada cliente, ou seja, o que os usuários efetivamente
acessam da aplicação.  Perceba que a �gura a de�ne com duas tecnologias: a
aplicação cliente, normalmente uma aplicação desktop desenvolvida com Swing ou
JavaFX, e as páginas web, acessadas através de um navegador. Ambas as
tecnologias estão no layer representado pela máquina do usuário, ou seja, o
computador onde ele acessa a aplicação.
2) Web Tier: representa a camada responsável por fazer a ligação entre as páginas
web e a lógica de negócio, representada aqui pela tecnologia Java Server Faces
(JSF). Em alguns casos, esta camada é dispensável. Perceba que na �gura, as
Unidade 1 - Tópico 1 
Livro Digital - Programação para Web II https://livrodigital.uniasselvi.com.br/ADS27_programacao_para_web_ii...
3 of 17 26/06/2024, 16:23
aplicações clientes acessam a lógica de negócio diretamente, sem esse intermédio.
Esta camada poderia ainda ser representada por tecnologias como Servlets e Java
Server Pages, que não fazem parte do escopo deste caderno. Se considerarmos a
layer, esta parte �ca alocada no JEEServer.
3) Business Tier: representa a lógica de negócios da aplicação, aqui implementada
em Enterprise Beans individuais para a aplicação cliente e para as páginas web. Em
termos de layer, ainda estamos no JEEServer.
4) Enterprise Information Server (EIS) Tier: representa as fontes de dados que as
aplicações acessam através da business tier, normalmente um SGBDR. Esta fonte
de dados também pode ser alguma aplicação legada já existente no ambiente
corporativo. Agora estamos na layer Database Server.
É importante mencionar alguns detalhes a respeito destas de�nições. A Web Tier
pode ser implementada em Servlet Containers, que são uma espécie de “mini”
servidores de aplicação mais leves e ágeis, entretanto não disponibilizam todos os
serviços dos servidores de aplicação. O Apache Tomcat é um exemplo de Servlet
Container. Em muitas situações, é mais produtivo desenvolver aplicações somente
com Servlet Containers, colocando a lógica de negócio em Plain Old Java Objects
(POJOs) do que acrescentar o peso de um servidor de aplicação com Enterprise
Beans. É por este motivo que a layer JEEServer é dividida em Web Tier e Business
Tier. Cada caso é um caso e deve ser avaliado pesando os prós e contras de cada
tecnologia. É o eterno tradeo� da arquitetura de software.
Outro detalhe importante é que as layers, com exceção da Client Machine, podem
ser todas implementadas em uma única camada física. É possível colocar o
JEEServer (com ou sem Web Tier) e o DataBase Server em um único computador,
embora isso não seja recomendado.
A grande premissa por trás do JEE é que o desenvolvedor pode con�ar na
plataforma para facilitar a implementação destes serviços-padrão, normalmente
representados por requisitos não funcionais. Como tudo na plataforma Java, o JEE
é simplesmente uma especi�cação, ou seja, de�nições e documentos descrevendo
como a tecnologia deve se comportar, além de padrões que devem ser obedecidos
no desenvolvimento, de�nidos através do JCP.
Unidade 1 - Tópico 1 
Livro Digital - Programação para Web II https://livrodigital.uniasselvi.com.br/ADS27_programacao_para_web_ii...
4 of 17 26/06/2024, 16:23
No caso do JEE, um dos componentes principais (se não o principal) é o servidor de
aplicação. É este servidor de aplicação que encapsulará internamente os serviços
que a plataforma oferece. Cabe ao desenvolvedor utilizá-los através das
tecnologias de�nidas para tal. Como exemplos de implementações desta
especi�cação podemos citar o Jboss, o WildFly e o GlassFish.
O Swing e o JavaFX são tecnologias de�nidas pela Oracle para a criação de
interfaces em aplicações Desktop. Maiores detalhes podem ser encontrados
em: <ddooccss..oorraaccllee..ccoomm//JJaavvaa PPllaattffoorrmm,, SSttaannddaarrdd EEddiittiioonn>.
Mas que serviços são estes? Com o advento e popularização da internet e das
tecnologias móveis, o número de usuários aumentou exponencialmente. Para
atender à estas demandas, diversos requisitos não funcionais passaram a ter uma
importância ainda maior para estas aplicações. Termos como escalabilidade,
segurança, gerenciamento do ciclo de vida de objetos, remotabilidade, controle de
transações, entre outros, vieram a fazer parte do dia a dia dos desenvolvedores.
Ou seja, se transformaram em preocupações para os desenvolvedores, que agora
não escrevem código somente para lidar com a lógica de negócios e os requisitos
funcionais.
Algumas das tecnologias disponibilizadas pelo JEE permitem que o desenvolvedor
simplesmente sinalize em seu código aspectos relacionados à segurança,
remotabilidade, transações etc., e o servidor de aplicações faz todo o resto. Isto
libera o desenvolvedor para fazer mais o que realmente é importante: escrever
código relacionado às necessidades do usuário e a lógica do negócio.
De acordo com ORACLE (2013), o modelo simpli�cado de programação do JEE faz
com que os descritores de deployment em XML sejam opcionais. Ao invés disso, o
desenvolvedor pode colocar uma informação diretamente no código fonte através
das annotations e o servidor irá con�gurar o componente em tempo de execução.
Unidade 1 - Tópico 1
Livro Digital - Programação para Web II https://livrodigital.uniasselvi.com.br/ADS27_programacao_para_web_ii...
5 of 17 26/06/2024, 16:23
http://docs.oracle.com/javase/8/javase-clienttechnologies.htm
http://docs.oracle.com/javase/8/javase-clienttechnologies.htm
• Transações: A arquitetura Enterprise Java Beans (EJB) de�ne um suporte
so�sticado para utilização de transações. Esse suporte é integrado com a Java
Transaction API (JTA) e oferece inclusive a possibilidade de realizar transações
distribuídas.
• Segurança: Suporte para realizar autenticação e autorização de forma
transparente. Os desenvolvedores das aplicações não precisam implementar
a lógica de segurança, pois ela faz parte da arquitetura JEE.
• Remotabilidade: Aplicações JEE podem ser acessadas remotamente através
de diversos protocolos de comunicação. Consequentemente, é possível
desenvolver aplicações clientes de diversos tipos. Por exemplo, aplicações EJB
podem ser acessadas como Web Services.
• Multithreading e Concorrência: A arquitetura JEE permite que as aplicações
sejam acessadas por múltiplos usuários simultaneamente de maneira
controlada para evitar problemas de concorrência.
• Persistência: Facilidades para utilizar os serviços dos provedores de
persistência que seguem a especi�cação JPA.
• Gerenciamento de Objetos: Mecanismos de injeção de dependências e
controle de ciclo de vida são oferecidos aos objetos de uma aplicação JEE. O
mecanismo de controle de ciclo de vida pode garantir a escalabilidade de
uma aplicação.
• Integração: A arquitetura EJB é fortemente integrada com os componentes da
plataforma Java EE. Podemos, por exemplo, facilmente integrar os recursos
Estas annotations em geral servem para embutir no programa dados que serial de
outra forma fornecidos em um deployment descriptor. Com as annotations, você
pode colocar a especi�cação do serviço do servidor ao lado do código que será
afetado por ele.
Abaixo estão listados alguns dos serviços disponibilizados pelas tecnologias
envolvidas na plataforma K19 (2013).
Unidade 1 - Tópico 1 
Livro Digital - Programação para Web II https://livrodigital.uniasselvi.com.br/ADS27_programacao_para_web_ii...
6 of 17 26/06/2024, 16:23
do JSF em uma aplicação EJB.
• Aplicação cliente e applets que executam no cliente.
• Servlets, Java Server Faces e Java Server Pages como componentes que
executam no servidor.
Os enterprise java beans, conhecidos como EJBs fazem parte da
especi�cação JEE e fornecem boa parte dos serviços da plataforma.
Estudaremos detalhadamente esta tecnologia na Unidade 3 deste Caderno
de Estudos.
22 PPRRIINNCCIIPPAAIISS TTEECCNNOOLLOOGGIIAASS
Como descrevemos anteriormente, o servidor de aplicação JEE tem como principal
característica o oferecimento de serviços para as aplicações nele instalados.
Serviços estes geralmente relacionados com requisitos não funcionais como
escalabilidade, remotabilidade etc. Para cada um destes serviços existe uma ou
mais tecnologias que, trabalhando individualmente ou em conjunto, abstraem o
desenvolvedor de detalhes especí�cos da implementação do mesmo.
A seguir faremos uma rápida introdução às principais tecnologias que compõem o
JEE, conforme de�nido em ORACLE (2014), destacando as que serão abordadas
neste Caderno de Estudos.
CCoommppoonneenntteess JJEEEE: As aplicações JEE são feitas de componentes. Estes
componentes são unidades encapsuladas de software funcionais que fazem parte
das aplicações. Cada componente possui suas próprias classes e arquivos e se
comunica com outros componentes. A especi�cação JEE de�ne os seguintes
componentes:
Unidade 1 - Tópico 1 
Livro Digital - Programação para Web II https://livrodigital.uniasselvi.com.br/ADS27_programacao_para_web_ii...
7 of 17 26/06/2024, 16:23
• Enterprise Java Beans, como componentes de negócio que executam no
servidor.
Todos estes componentes são escritos na linguagem de programação Java e
compilados da mesma forma como qualquer outro programa. A diferença é que
estes componentes são “embutidos” dentro de aplicações que obedecem às
especi�cações JEE e são, portanto, gerenciadas pelo servidor de aplicação.
JJaavvaa SSeerrvveerr FFaacceess ((JJSSFF)): É um framework para a construção de aplicações web.
Permite a utilização de classes Java como implementações de componentes HTML.
Oferece validação de entrada, gerenciamento de eventos, conversão de dados
entre componentes e objetos de domínio, con�guração de navegação, controle do
ciclo de vida dos objetos e a expression language (EL), que permite que
componentes da interface grá�ca conversem diretamente com o controlador.
JJaavvaa PPeerrssiisstteennccee AAPPII ((JJPPAA)): Apresenta uma solução para a persistência de objetos
em ambientes relacionais, usando uma estratégia de mapeamento objeto
relacional. A JPA também pode ser utilizada em aplicações não JEE fora do
ambiente do servidor. Consiste de uma api de persistência, uma linguagem de
query e metadados para mapeamento objeto relacional.
JJaavvaa TTrraannssaaccttiioonn AAPPII ((JJTTAA)): Oferece uma inferface-padrão para a demarcação de
transações. A arquitetura JEE possui auto commit como default para gerenciar
commits e rollbacks dentro de transações. Isso signi�ca que qualquer aplicação
que está visualizando um dado que está sendo alterado verá o mesmo atualizado
depois de cada operação de leitura ou escrita. Entretanto, caso sua aplicação
realize duas operações de acesso a dados em bases diferentes que dependem
uma da outra, você pode utilizar a JTA API para demarcar onde a transação inteira
começa, termina ou mesmo execute um rollback.
Nas tecnologias de bancos de dados, um rollback signi�ca que o banco de
dados pode voltar a determinado estado anterior, evitando que um erro seja
Unidade 1 - Tópico 1 
Livro Digital - Programação para Web II https://livrodigital.uniasselvi.com.br/ADS27_programacao_para_web_ii...
8 of 17 26/06/2024, 16:23
propagado e mantido no mesmo.
CCoonntteexxtt aanndd DDeeppeennddeennccyy IInnjjeeccttiioonn ffoorr JJaavvaa EEEE ((CCDDII)): De�ne um conjunto de
serviços do JEE acessíveis via contexto. Projetado para uso com objetos que
possuam estado, o CDI tem aplicações diversas, pois representa a injeção de
recursos em uma classe através de annotations, garantindo a �exibilidade e o
baixo acoplamento no desenvolvimento.
JJaavvaa MMeessssaaggee SSeerrvviiccee AAPPII ((JJMMSS)): De�ne um padrão de mensageria que permite
que os componentes das aplicações JEE criem, enviem, recebam e leiam
mensagens. Permite a comunicação distribuída de forma desacoplada, con�ável e
assíncrona. 
JJaavvaa AAuutthheennttiiccaattiioonn aanndd AAuutthhoorriizzaattiioonn SSeerrvviiccee ((JJAAAASS)): É o serviço que permite a
autenticação e autorização de um usuário especí�co ou de um grupo de usuários.
Oferece uma maneira desacoplada para a de�nição de aspectos de segurança em
uma aplicação JEE. O modelo do JEE permite que as restrições de segurança sejam
de�nidas em tempo de deployment e torna as aplicações portáveis para uma vasta
gama de implementações de diferentes fornecedores. As regras de controle de
acesso são declarativas e de�nidas pelo desenvolvedor. Estas regras são
interpretadas quando a aplicação é instalada no servidor, protegendo os
desenvolvedores da complexidade da implementação de requisitos de segurança.
O JEE permite ainda a utilização de mecanismos de segurança externos, como
Active Directory e LDAP, por exemplo. A mesma aplicação pode fazer uso de
diversos mecanismos de segurança sem nenhuma alteração no código fonte da
mesma.
EEnntteerrpprriissee JJaavvaa BBeeaannss ((EEJJBB)): São componentes que possuem atributos e métodos
para implementar lógica de negócios. Você pode pensar neles como um bloco de
construção que pode ser utilizado individualmente ou em conjunto com outros
beans para executar lógica de negócios na aplicação JEE. Os Enterprise Beans
podem ser de dois tipos:
Unidade1 - Tópico 1 
Livro Digital - Programação para Web II https://livrodigital.uniasselvi.com.br/ADS27_programacao_para_web_ii...
9 of 17 26/06/2024, 16:23
• Session beans: representa uma conversação transiente com o cliente.
Quando o cliente encerra a execução, o bean e seus dados são perdidos.
• Message driven beans: combina características de um session bean e um
ouvinte de mensagens, permitindo que um componente de negócios receba
mensagens de forma assíncrona.
22..11 AA AARRQQUUIITTEETTUURRAA DDOOSS CCOONNTTAAIINNEERRSS
Uma das vantagens do JEE é a possibilidade de utilizá-lo em aplicações de
praticamente qualquer porte. Seu modelo desacoplado e �exível facilita a
utilização somente dos componentes que fazem sentido para a aplicação. Para
entender esta arquitetura, é importante entender de que forma o servidor de
aplicação está dividido em containers. A �gura a seguir ilustra o relacionamento
entre os containers JEE.
FIGURA 2 - RELACIONAMENTO ENTRE CONTAINERS
FONTE: Oracle (2014)
Perceba que o JEE Server possui dois containers, o Web Container e o EJB
Container. A compreensão do funcionamento destes dois containers é
fundamental para que se faça bom uso dos serviços do servidor de aplicação e da
plataforma JEE.
Dentro do Web Container podemos perceber as tecnologias Java Server Faces e
Servlet. Uma �gura mais completa conteria ainda as Java Server Pages (JSP). Estas
tecnologias representam uma forma de disponibilizar a aplicação através de um
Unidade 1 - Tópico 1 
Livro Digital - Programação para Web II https://livrodigital.uniasselvi.com.br/ADS27_programacao_para_web_ii...
10 of 17 26/06/2024, 16:23
navegador web. Sem um webcontainer não é possível publicar páginas html, xhtml
e outras, o que impede a criação de aplicações web. Caso sua aplicação seja
mandatoriamente acessada através de um navegador, você precisará de um
webcontainer.
Já o EJB Container é responsável pelo gerenciamento dos Enterprise Java Beans. A
maioria dos serviços referentes a requisitos não funcionais �cam sob encargo
deste container. Em geral, o acesso aos dados é feito através dele, visto que a JTA
não está disponível no Webcontainer. Já dissemos aqui que nada impede a
colocação de regras de negócio em POJOs dentro do Webcontainer e mesmo de
acessar dados através dele, é simplesmente uma questão de analisar os prós e os
contras. No modelo da �gura, os componentes Web interagem com os
componentes EJB para a lógica de negócios e o acesso aos dados.
Na �gura, ainda existe o que é chamado de Client System, composto pelo Browser
e pelo Application Client Container. Este componente representa a interface da
aplicação com o cliente, seja pelo navegador, seja por uma aplicação Swing, JavaFX
ou mesmo console. Perceba que o application client acessa os EJBs sem intermédio
do Webcontainer.
Chegando ao �nal deste tópico, onde �zemos a introdução da plataforma Java
Enterprise Edition e das principais tecnologias que a compõem, você deve pensar
“é muita coisa para estudar”. E realmente, você tem razão, se considerarmos todo
o conjunto das tecnologias que compõem o JEE, o volume de APIs é imenso.
Entretanto, analisando o escopo de nossa disciplina e deste caderno, nos
concentraremos nas tecnologias mais importantes e que impactarão diretamente
sua produtividade como desenvolvedor. Nosso objetivo não é esgotar o tema, e
sim colocar você produzindo aplicações JEE com as principais tecnologias que a
plataforma disponibiliza. Seu sucesso dependerá diretamente de seus estudos
futuros, entretanto, aqui forneceremos um embasamento sólido.
E então...que tal pôr nossas mãos à obra? Como disse Linus Torvalds, criador do
sistema operacional Linux: “Talk is cheap... show me the code”. No próximo tópico
aprenderemos como con�gurar e preparar o ambiente que dará suporte ao
desenvolvimento JEE.
Unidade 1 - Tópico 1 
Livro Digital - Programação para Web II https://livrodigital.uniasselvi.com.br/ADS27_programacao_para_web_ii...
11 of 17 26/06/2024, 16:23
RREESSUUMMOO DDOO TTÓÓPPIICCOO
• O Java Enterprise Edition (JEE) inicialmente evoluiu como uma plataforma de
desenvolvimento para aplicações enterprise que focava em robustez,
webservices e facilidade.
• A plataforma JEE é projetada para suportar aplicações que possuem elevado
grau de complexidade, acessando dados das mais variadas fontes e
atendendo a um grande número de clientes e requisições.
• A tier é sempre composta por software, ou seja, é lógica. A layer é sempre
composta por hardware, ou seja, é física.
• A Web Tier pode ser implementada em Servlet Containers, que são uma
espécie de “mini” servidores de aplicação mais leves e ágeis, entretanto não
disponibilizam todos os serviços dos servidores de aplicação.
• A grande premissa por trás do JEE é que o desenvolvedor pode con�ar na
plataforma para facilitar a implementação destes serviços padrão,
normalmente representados por requisitos não funcionais.
• Para cada um destes serviços existe uma ou mais tecnologias que,
trabalhando individualmente ou em conjunto, abstraem o desenvolvedor de
detalhes especí�cos da implementação do mesmo.
• Algumas das tecnologias disponibilizadas pelo JEE permitem que o
desenvolvedor simplesmente sinalize em seu código aspectos relacionados à
segurança, remotabilidade, transações etc., e o servidor de aplicações faz
todo o resto.
Bons estudos!
NNeessttee ttóóppiiccoo vvooccêê vviiuu qquuee:
Unidade 1 - Tópico 1 
Livro Digital - Programação para Web II https://livrodigital.uniasselvi.com.br/ADS27_programacao_para_web_ii...
12 of 17 26/06/2024, 16:23
• Uma das vantagens do JEE é a possibilidade de utilizá-lo em aplicações de
praticamente qualquer porte. Seu modelo desacoplado e �exível facilita a
utilização somente dos componentes que fazem sentido para a aplicação.
AAUUTTOOAATTIIVVIIDDAADDEESS
Responder
Unidade 1 - Tópico 1
1  Diferencie um servidor de aplicação de um Servlet Container.
2  Explique detalhadamente e exempli�que a diferença entre uma layer e uma tier,
no contexto de arquitetura de software.
Unidade 1 - Tópico 1 
Livro Digital - Programação para Web II https://livrodigital.uniasselvi.com.br/ADS27_programacao_para_web_ii...
13 of 17 26/06/2024, 16:23
Responder
A) 
B) 
3  Uma das vantagens da utilização de um AS que obedeça às especi�cações JEE é
a disponibilização de serviços que antes eram implementados anualmente pelos
desenvolvedores. Neste contexto, avalie a lista de serviços abaixo:
   
I - Segurança através do JAAS.
II - Mensageria através do JMS.
III - Remotabilidade.
IV - Componentização através do JTA.
   
Agora assinale a alternativa que apresenta as sentenças CORRETAS:
I, II e III.
II e III.
Unidade 1 - Tópico 1 
Livro Digital - Programação para Web II https://livrodigital.uniasselvi.com.br/ADS27_programacao_para_web_ii...
14 of 17 26/06/2024, 16:23
C) 
D) 
Responder
Responder
I e III.
II e IV.
4  A plataforma Java possui vários frameworks, os quais possuem suas próprias
vantagens para equipes de desenvolvimento. Além disso, aplicações JEE são
construídas por componentes, os quais são unidades encapsuladas de software.
Através da plataforma Java, é possível desenvolver aplicações robustas, e realizar
persistência em bancos relacionais através do JPA. Neste sentido, disserte sobre o
JPA.
5  A linguagem de programação Java permite o desenvolvimento de aplicações
simples e robustas, para os mais variados tipos de dispositivos, como notebooks,
Unidade 1 - Tópico 1 
Livro Digital - Programação para Web II https://livrodigital.uniasselvi.com.br/ADS27_programacao_para_web_ii...
15 of 17 26/06/2024, 16:23
A) 
B) 
C) 
D) 
Responder
desktops ou aplicativos de celulares. O JEE oferece vários serviços que facilitam o
desenvolvimento de aplicações. Analise as a�rmativas a seguir sobre o JEE:
   
I - Enterprise Java Beans são componentes de negócio que executam no servidor.
II - Java Server Pages são componentes que executamno servidor.
III - JTA oferece uma interface-padrão para transações.
IV - CDI representa resolução para o problema do mapeamento objeto relacional.
   
Agora assinale a alternativa referente ao JEE:
I, II e III.
II e III.
I e III.
II e IV.
Unidade 1 - Tópico 1 
Livro Digital - Programação para Web II https://livrodigital.uniasselvi.com.br/ADS27_programacao_para_web_ii...
16 of 17 26/06/2024, 16:23
Apresentação  Tópico 2
Conteúdo escrito por:
Todos os direitos reservados © Prof. Cristiano Roberto Franco
Unidade 1 - Tópico 1 
Livro Digital - Programação para Web II https://livrodigital.uniasselvi.com.br/ADS27_programacao_para_web_ii...
17 of 17 26/06/2024, 16:23
https://livrodigital.uniasselvi.com.br/ADS27_programacao_para_web_ii/index.html
https://livrodigital.uniasselvi.com.br/ADS27_programacao_para_web_ii/index.html
https://livrodigital.uniasselvi.com.br/ADS27_programacao_para_web_ii/index.html
https://livrodigital.uniasselvi.com.br/ADS27_programacao_para_web_ii/index.html
https://livrodigital.uniasselvi.com.br/ADS27_programacao_para_web_ii/index.html

Mais conteúdos dessa disciplina