• Nenhum resultado encontrado

Aula 20

N/A
N/A
Protected

Academic year: 2021

Share "Aula 20"

Copied!
7
0
0

Texto

(1)

Servidores de Aplicação

Aula 20

(2)

Este material é parte integrante da disciplina oferecida pela UNINOVE.

O acesso às atividades, conteúdos multimídia e interativo, encontros virtuais, fóruns de discussão e a comunicação com o professor devem ser feitos diretamente no ambiente virtual de aprendizagem UNINOVE.

Uso consciente do papel.

(3)

Aula 20: Outras APIs de Java EE que foram usadas nos exemplos

Objetivo: Apresentar algumas APIs de Java EE que foram usadas para o

desenvolvimento dos exemplos das aulas anteriores, mas sem que tenham sido explicitamente declaradas.

Introdução

As versões mais atuais da plataforma Java EE, 5 ou posteriores, possuem algumas tecnologias que já atingiram o máximo de seu desenvolvimento, como é o caso do JDBC, que possui poucos trabalhos evolutivos ou até mesmo nenhum. A alternativa foi criar uma API que pudesse usar os recursos de JDBC e prover vários mecanismos que executassem as funções mais comuns de persistência de dados, que é o caso da JPA.

Um fator que pode dificultar o entendimento dos usuários sobre essas APIs é que elas funcionam como caixas-preta. É sabido o que elas fazem, mas não se conhece como é feito. De modo análogo ao motor de um carro, a maioria dos proprietários sabe o tipo de combustível que ele usa, seu desempenho, mas não sabe como ele processa o combustível para funcionar.

RMI (ou RMI-IIOP)

A tecnologia RMI define uma especificação para conectar e gerenciar componentes remotos, a fim de que eles trabalhem em conjunto. Normalmente, ela opera juntamente com a API JNDI, que realiza as funções de endereçamento e propriedades de conexão, como porta de entrada dessa conexão, se a comunicação é serial ou não etc.

Nos exemplos feitos, a RMI foi usada em todos os aplicativos desktop que eram clientes de um EJB instalado em um servidor de aplicações.

Observando novamente os exemplos, pode-se notar que não houve nenhuma declaração explícita a ela, uma vez que todas as suas funcionalidades já estavam codificadas dentro do arquivo “gf-client.jar”, responsável por receber os parâmetros

(4)

do arquivo “jndi.properties” e as informações de endereçamento. Ele encapsula o processamento e alguns atributos sobre como acessar de modo seguro o servidor de aplicações.

Para acessar os servidores remotos, a JPA também usa essa API, mas faz isso de modo encapsulado, ou seja, usa os métodos disponíveis de RMI internamente e obtém as informações relativas à JNDI por meio dos arquivos de configuração. O mesmo vale para outras APIs, como JMS, EJBs etc.

Anotações

As anotações são um recurso de Java EE que vem sendo ampliado em cada nova versão dessa plataforma. Elas foram desenvolvidas para substituir os arquivos descritores de aplicativos.

A função delas é adicionar às classes em que são usadas recursos de programação. Normalmente, esses recursos referem-se as mais variadas funções, como conexão a serviços providos pelos servidores, funções de endereçamento, mapeamento de funções, definições especiais de classes etc.

Por exemplo, por definição, as classes de entidade de JPA devem ser classes abstratas que representam as tabelas nos bancos de dados. Entretanto, classes abstratas não podem ter métodos implementados, apenas sua declaração. Assim, para que o programador pudesse atualizar os dados dos objetos definidos pelas classes de entidades, ele deveria criar outra classe em Java que herdasse os atributos das classes abstratas e implementasse os métodos declarados nelas. Operacionalmente, isso implicaria em ter que sobrescrever todos esses métodos durante a herança. Se fosse o caso de ter que fazer esse trabalho apenas para poucas classes, isso não seria um grande problema, entretanto, é comum que os sistemas tenham centenas de classes. Dessa forma, ter que repetir esse procedimento para todas elas implica em consumir um tempo considerável. Para evitar isso, foi desenvolvida a anotação @Entity, que faz todo esse trabalho para o programador.

Como muitas das tecnologias de Java EE seguem esse modelo, várias delas podem utilizar anotações e, por isso, estão em contínuo desenvolvimento, e a tendência é que seu uso se torne cada vez mais comum.

(5)

Ferramentas que geram aplicações automaticamente

A existência dos arquivos descritores, anotações e de vários modelos de programação que possuem tarefas repetitivas permitiu que vários desenvolvedores aplicassem ferramentas que geram automaticamente a parte estrutural de aplicações. Uma das mais populares é o Hibernate, que usa mapeamento de tabelas em classes, que são integradas a componentes similares aos beans de sessão de EJB. O Hibernate possui um mecanismo com base em templates, que gera páginas JSP e XML, conectadas aos componentes que ligam os componentes da camada View à camada Model.

Mais recentemente, foi desenvolvida a tecnologia JSF, que se baseia em templates e arquivos de formato xml para permitir que os desenvolvedores de software possam criar interfaces de usuário para aplicativos web com a mesma interatividade que existe nas aplicações para PCs. De modo análogo, em vez de usar tags puramente xml para criar os elementos de tela, o JSF permite que os desenvolvedores utilizem componentes, que são tabelas, caixas de edição de texto, botões etc., como se fosse uma ferramenta que desenha interfaces gráficas de usuários para o PC, para a qual ele arrasta um componente de tela na posição que quer e a ferramenta de desenho implementa o código relacionado a essa operação.

Assim, as ferramentas de desenvolvimento de software, como o Netbeans, possuem utilitários que permitem que o desenvolvedor crie a estrutura de um aplicativo por meio de comandos de engenharia reversa.

Por esses comandos o desenvolvedor fornece o modelo de dados para a ferramenta, que gera as classes de entidade, usando JPA. A partir delas, um outro comando de engenharia reversa cria os beans de sessão, segundo a especificação de EJB e, por último, um outro comando crias as interfaces de usuário, utilizando o JSF, que gera a interface gráfica de usuário em formato JSP ou XHTML.

Conclusão

Por tudo o que foi demonstrado nessas 20 aulas, a plataforma Java EE dispõe de recursos bastante interessantes para os desenvolvedores de software, que lhes permite criar aplicações organizadas em camadas e organizadas sob a forma de componentes distribuídos.

(6)

O grande desafio da plataforma Java EE não é aprender a usá-la, o que consome um tempo considerável, mas sim saber como utilizá-la para desenvolver aplicativos, uma vez que dispõe de um conjunto de APIs bastante versáteis, que permitem produzir desde aplicativos de baixa complexidade até aplicativos bastante complexos.

Por isso, a insistência sobre o uso de modelos de arquitetura durante a realização de projetos que fazem uso do Java EE, uma vez que o projetista deve considerar os requisitos funcionais e não funcionais dos aplicativos, fazer a modelagem de software e decidir quais são as tecnologias de Java EE que podem ser usadas. Depois, ele deve projetar seus componentes que controlam a integração dessas diferentes APIs e gerenciam o funcionamento delas em conjunto.

Todos esses fatores, somado ao fato de que é possível utilizar a plataforma Java EE em praticamente todos os sistemas operacionais mais comuns no mercado, faz com que ela seja uma ferramenta bastante popular entre os desenvolvedores de software.

* O QR Code é um código de barras que armazena links às páginas da web. Utilize o leitor de QR Code de sua preferência para acessar esses links de um celular, tablet ou outro dispositivo com o plugin Flash instalado.

(7)

REFERÊNCIA

KEITH, Mike; SCHINCARIOL, Merrick. EJB 3 Professional: Java Persistence API. United States of America: A Press, 2008.

Referências

Documentos relacionados

Os nimbostratos formam-se quando uma camada de ar quente é forçada a elevar-se por cima do ar frio ou então a subir uma montanha, e quando a nuvem resultante tem a capacidade de se

Após 96 horas, houve um aumento no consumo, com o aumento de 100 para 160 ninfas, que não diferiu significativamente da densidade 220; com 280 ninfas disponíveis houve um

17 CORTE IDH. Caso Castañeda Gutman vs.. restrição ao lançamento de uma candidatura a cargo político pode demandar o enfrentamento de temas de ordem histórica, social e política

lhante; linhas vasculares bem v1S1veis, cheias de conteúdo amarelo-pardo, em geral retas; pa- rênquima axial moderadamente abundante, pa- ratraqueal em faixas; raios

a !idr"lise #cida o amido é con$ertido, completamente, em glicose, isso ocorre a !idr"lise #cida o amido é con$ertido, completamente, em glicose, isso ocorre porque o

A vacina não deve ser administrada a imunodeprimidos, grávidas, menores de 1 ano de idade e hipersensibilidade a algum dos componentes da vacina e terapêutica concomitante

Os artigos 8º e 9º da presente lei, relativos à localização das transações refletem a prática internacional do uso de procurationem jurídicas, as quais includem leis

O Climate Policy Initiative/ Núcleo de Avaliação de Políticas Climáticas da PUC-Rio trabalha para aprimorar políticas públicas de energia e uso da terra gerando evidências para