A plataforma J2EE
05 de dezembro de 2000, 0:00Plataforma Java facilita tremendamente o desenvolvimento de software para o ambiente corporativo com interfaces com a internet.
Por
Desenvolver um bom sistema internet para o ambiente corporativo é uma das tarefas mais árduas da área de informática.
As aplicações de hoje são mais complexas por vários motivos, principalmente pela abrangência das tecnologias envolvidas e o número de requisitos necessários para o seu funcionamento ideal neste ambiente.
Os sistemas corporativos de hoje devem ter a capacidade de interagir com serviços de mensagem, devem ser capaz gerar páginas HTML dinamicamente, acessar as mais diversas bases de dados, algumas vezes fazer transações com mainframes ou outros serviços legados.
A performance de um sistema com interface web, como qualquer outro sistema informatizado, é crucial e por isto se deve atentar ao compartilhamento de recursos, já que o número de usuários de um sistema internet pode ser centenas de vezes maior que uma aplicação standalone ou em uma rede corporativa.
O controle de transações, a utilização de um servidor seguro para proteger o tráfego das informações e a utilização de criptografia para guardar dados confidenciais são outros fatores que não são simples de serem tratados.
Além destes problemas, a disponibilidade da aplicação é outro fator de relevância. Se o número de usuários de uma aplicação web é bem maior que de um sistema intranet, pode crescer de forma absurda em poucos dias. Não são raros os casos de serviços que ficaram indisponíveis após a divulgação na mídia, como um comercial no intervalo da novela ou o envio de uma mala direta para possíveis clientes. Todos estes fatores tornam a tarefa de desenvolver sistemas algo extremamente complexo.
A plataforma Java 2 Enterprise Edition (J2EE) tem o objetivo de facilitar o desenvolvimento de software exatamente para o ambiente corporativo que tenha interfaces com a internet. Formado por um conjunto de componentes de software padronizados que fornecem os principais serviços necessários para desenvolver um sistema multicamada de qualidade, o J2EE contém praticamente todas as APIs Java que trabalham no lado do servidor.
Estas APIs facilitam o desenvolvimento da camada de negócio da aplicação, fornecendo objetos, componentes e serviços que livram o desenvolvedor da necessidade de construir partes de baixo nível cruciais para o sistema e focar na lógica da aplicação. Pode–se usar, por exemplo, Servlets e JSP para gerar páginas HTML com conteúdo dinâmico, o JDBC para acesso a base de dados, o Java Message Service (JMS) para trabalhar com servidores de mensagem e utilizar o JAXP para tratamento de XML.
Praticamente todos os tópicos citados no início deste artigo, como segurança, transação, disponibilidade e conectividade com sistemas legados, são suportados pela plataforma J2EE. Com a utilização desta plataforma não é mais necessário descobrir como interagir com um servidor de mensagens ou como implementar transações a nível de aplicação; todos estes serviços são fornecidos pelo J2EE.
Na verdade, boa parte do crescimento da utilização dos Servidores de Aplicação que temos hoje se deve ao padrão J2EE, que conseguiu padronizar, sem sacrificar, os mais importantes componentes de uma estrutura multicamada. Os maiores servidores de aplicação da atualidade são totalmente compatíveis com o J2EE, e isto está apenas começando. É claro que também os altos requisitos dos sistemas foram responsável pela adoção de muitos servidores de aplicação, já que os servidores web não forneciam subsídios para as aplicações.
Dentre todos os componentes do J2EE que citamos acima o mais importante é o Enterprise JavaBeans. EJB é uma arquitetura para desenvolvimento de software distribuído para a PlataformaJava 2 Enterprise Edition (J2EE). O EJB permite o desenvolvimento rápido de aplicações de missão crítica, principalmente para a lógica de negócio da aplicação. A plataforma EJB é totalmente baseada em componentes Java que são reutilizáveis e portáveis. Como toda esta arquitetura é baseada em Java não há mais dependência de um fornecedor de software ou hardware.
É possível desenvolver uma aplicação J2EE utilizando um Servidor de Aplicação free, como o Jboss, rodando no Windows NT e ao final instalar a aplicação no iPlanet Application Server em uma máquina Solaris, desde que tenha seguido os padrões e não utilizando features específicas do Servidor de Aplicação.
Nos próximos artigos estaremos discutindo com mais detalhes cada um dos componentes do J2EE fazendo uma análise de suas funcionalidades, descrevendo os detalhes de implementação e design e discutir o futuro do Java nas aplicações distribuídas. Vamos também fazer um overview de alguns servidores de aplicação e uma análise de seus pontos fortes e fracos.
Fique com uma breve descrição das principais APIs do J2EE que estaremos discutindo nas próximas matérias aqui no [web insider]:
Java Servlets e JavaServer Pages
http://java.sun.com/products/servlets
http://java.sun.com/products/jsp
Estas duas APIs são responsáveis pela geração do conteúdo dinâmico das páginas HTML. Com JSP é possível separar a geração do layout de uma página do processamento da lógica de negócio. Os servlets por sua vez têm uma grande interação com os servidores HTTP estendendo a funcionalidade e fornecendo serviços similares ao CGI, porém com mais recursos e performance.
Java Naming and Directory Interface API
http://java.sun.com/products/jndi
Projetado para padronizar a forma de acesso a uma variedade de serviços de nomes e diretórios, a API Java Naming and Directory Interface (JNDI) fornece um mecanismo simples para os componentes J2EE localizarem objetos na rede. Exemplos de serviços de diretório são o LDAP, Novell Directory Server (NDS) e o Domain Name System (DNS). Com o JNDI você pode localizar um Enterprise JavaBean na rede ou usar uma impressora que está no Japão, além de poder usar o LDAP para gerenciar o perfil de usuários de sua aplicação.
JDBC API
http://java.sun.com/products/jdbc
A API JDBC permite a manipulação de informações em bases de dados relacionais, bases de dados orientadas a objetos e outros tipos de repositórios. O J2EE inclui a implementação 2.0, que fornece a manipulação de SQL User–Defined Types (UTDs), manipulação do rowset, pool de conexão e suporte a transações distribuídas. Com JDBC você tem uma única forma de acesso para os mais variados tipos de bancos de dados, como Oracle, Sybase, DB2, SQLServer ou Informix.
JavaMail API
http://java.sun.com/products/javamail
O J2EE inclui o JavaMail para suportar aplicações como sistemas de e–commerce. A API JavaMail permite que uma aplicação possa enviar uma confirmação de pedido ou outros tipos de feedback para o usuário. Como o JavaMail é escrito em Java você ganha portabilidade e integração com todos os outros componentes da arquitetura J2EE como por exemplo Enterprise JavaBeans, Servlets ou Aplicações StandAlone.
CORBA Compliance
O J2EE suporta duas tecnologias CORBA: JavaIDL e RMI–IIOP. JavaIDL permite que aplicações Java possam interagir com qualquer sistema Corba compliant. RMI–IIOP combina a forma fácil de programar do Java Remote Method Invocation API (RMI) com o Internet Inter–ORB Protocol (IIOP) do CORBA facilitando a integração de aplicações J2EE com aplicações legadas escritas em Delphi, por exemplo.
Java Transaction API
http://java.sun.com/products/jta
Enquanto o J2EE fornece automaticamente um suporte a transações, o Java Transaction API (JTA) provê uma forma dos componentes J2EE e seus clientes gerenciar suas próprias transações e para que múltiplos componentes possam participar de uma simples transação.
Java Message Service
http://java.sun.com/products/jms
O Java Message Service (JMS) API define um mecanismo padrão para que os componentes possam enviar e receber mensagens de forma assíncrona. Um dos servidores de mensagem mais conhecidos do mercado, o IBM MQSeries, já suporta o padrão JMS além de outra dezena de fornecedores. [web insider]

1° Moraes Data: 19/10/2007 às 11:07 am
Atividade: Estudante em Mestrado MIAGE
Cidade: Grenoble - França
Gostei muito do teu artigo, sobretudo que neste exato momento estamos com um desafio de desenvolver um site de comercio eletronico em J2EE com o JOnAs, e como nao tive muito contato, està sendo um pouco dificil de se achar no meio de tantos componentes.
Se por acaso vc tiver algo que possa complementar o teu texto, um tutorial sobre J2EE que possa me ajudar com este trabalho, agradeço.
Parabéns pelo teu trabalho !!