O que é Java EE? (Teoria)

No artigo Java: O que é essa tecnologia?, estudamos o que é a Tecnologia Java, onde entendemos as suas 4 plataformas (Java SE, Java EE, Java ME e JavaFX). Neste artigo, iremos conceituar um pouco a mais a plataforma ou edição Java EE. No próximo artigo, iremos responder várias questões para treinarmos o que aprenderemos agora.

Avatar


24 de abril3 min. de leitura

Fala, meus consagrados! Tudo beleza com vocês?

No artigo Java: O que é essa tecnologia?, estudamos o que é a Tecnologia Java, onde entendemos as suas 4 plataformas (Java SE, Java EE, Java ME e JavaFX). Neste artigo, iremos conceituar um pouco a mais a plataforma ou edição Java EE. No próximo artigo, iremos responder várias questões para treinarmos o que aprenderemos agora.

Então, simbora comigo!


Conceituação

Java EE significa Java Enterprise Edition. Ela é construída em cima da plataforma Java SE e fornece uma API e ambiente de tempo de execução para desenvolvimento e execução de aplicações distribuídas baseadas em internet e intranet:

  • De grande escala;
  • Multicamadas;
  • Escaláveis;
  • Confiáveis;
  • Seguras.

Java EE fornece aos desenvolvedores um conjunto avançado de API’s (por exemplo, EJB, JSF, JPA):

  • Reduzindo tanto o tempo de desenvolvimento quanto a  complexidade das aplicações;
  • Melhorando o desempenho das aplicações; e
  • Simplificando o desenvolvimento das aplicações.

A edição se baseia em componentes modulares e padronizados.

Além disso, Java EE fornece:

  • Um conjunto completo de serviços para esses componentes;
  • Melhorias de produtividade com:
    • Mais anotações;
      • Menos configurações em XML como acontecia em versões anteriores da Java EE;
    • Mais POJO’s;
      • Plain Old Java Objects;
      • São classes que não são atreladas a nenhum framework; e
  • Empacotamento simplificado.

A plataforma trata automaticamente de muitos detalhes do comportamento das aplicações, sem necessidade de programação complexa.

Java EE foi projetada para suportar aplicações que:

  • Implementam serviços corporativos para:
    • Clientes;
    • Funcionários;
    • Fornecedores;
    • Parceiros; ou
    • Outros que demandam ou contribuem para a empresa; e
  • São inerentemente complexas;
    • Acessando dados de várias fontes; e
    • Sendo distribuídas para uma variedade de clientes.

Por fim, a edição corporativa do Java consiste de uma série de especificações bem detalhadas (especificações das API’s), dando uma receita de como deve ser implementado um software que faz cada um desses serviços de infraestrutura (servidores de aplicação Java EE).

A arquitetura Java EE define o padrão para desenvolvimento de aplicações corporativas multi-camadas. Além disso, a arquitetura define um conjunto de especificações que são implementadas por várias empresas (Oracle, Sun, IBM, Bea) através dos chamados Servidores da Aplicações Java EE. Com isso as aplicações Java EE podem ser instaladas em vários servidores de aplicação que seguem a especificação Java EE e oferece a vantagem de independência de fornecedor.


Algumas especificações Java EE

São várias as especificações Java EE, que possuem funcionalidades específicas dentro uma aplicação. Irei citar apenas algumas, a título de exemplo.

Para trabalhar com objetos distribuídos, clusters e acesso remoto a objetos, temos:

  • EJB (Enterprise Javabeans);
  • JPA (Java Persistence API).

Para arquivos XML e web services:

  • JAX-WS (Java API for XML Web Services);
  • JAX-RS (Java API for RESTful Web Services);
  • JAX-B (Java API for XML Binding).

Para segurança:

  • JAAS (Java Autenthication and Authorization Service).

Para controle de transação:

  • JTA (Java Transaction API).

Para troca de mensagens assíncronas:

  • JMS (Java Message Service).

Para espaço de nomes e objetos:

  • JNDI (Java Naming and Directory Interface).

Para administração de aplicações e estatísticas sobre elas:

  • JMX (Java Management Extensions).

Aplicações corporativas Java EE

As aplicações corporativas são projetadas para resolver os problemas encontrados pelas grandes empresas.

Não são úteis apenas para grandes corporações, agências e governos. Os benefícios dessas aplicações são úteis, e mesmo essenciais, para:

  • Desenvolvedores individuais; e
  • Pequenas organizações em um mundo cada vez mais em rede.

As aplicações corporativas Java EE geralmente refletem uma arquitetura definida pela plataforma Java EE e são formadas por componentes Java EE.


Servidores de aplicações Java EE

Eles fornece serviços na forma de um container para cada tipo de componente que compõe uma aplicação Java EE.

Eles são o núcleo da plataforma Java EE e são servidores que:

  • Implementam as especificações de API’s da plataforma Java EE; e
  • Fornecem serviços padrão Java EE.

O servidores de aplicações Java EE:

  • Hospedam vários tipos de componentes que compõem as diversas aplicações Java EE;
    • Esses componentes correspondem às camadas em uma aplicação com várias camadas
  • Fornecem:
    • Serviços:
      • Para esses componentes na forma de um contaner;
      • Que permitem a persistência e interação com outras aplicações;
    • Infraestrutura básica para o desenvolvimento e execução de uma aplicação.

Em um artigo específico, irei falar sobre os servidores de aplicações Java EE, além de comentar várias questões de concursos.


Referências


Então é isso!
[]’s e até a próxima!
_________________________
Professor Rogerão Araújo

Avatar


24 de abril3 min. de leitura