WebSphere Application Server: Visão geral e iniciação rápida
Saiba sobre o modelo de programação, obtenha um entendimento de alto nível do produto, em seguida, inicie rapidamente.
- Especificações Java™ e outros padrões abertos para desenvolvimento de aplicativos
- Extensões do modelo de programação WebSphere para aprimorar a funcionalidade do aplicativo
- Contêineres e serviços no servidor de aplicativos, utilizados por aplicativos implementados e que, às vezes, podem ser executados
O diagrama mostra uma única instalação do servidor de aplicativos. As partes pertencentes ao modelo de programação são discutidas aqui. Outras partes abrangem a arquitetura do produto, independente dos vários tipos de aplicativos esboçados pelo modelo de programação. Consulte o Visão Geral do Produto.
Componentes do Aplicativo Java EE
- Os aplicativos da Web são executados no contêiner da Web
O contêiner da Web faz parte do servidor de aplicativos no qual os componentes do aplicativo da Web são executados. Os aplicativos da Web são compostos de um ou mais servlets relacionados, arquivos JSP (JavaServer Pages) de tecnologia e arquivos HTML (Hyper Text Markup Language) que podem ser gerenciados como uma unidade. Combinados, eles executam uma função de lógica de negócios.
O contêiner da Web processa servlets, arquivos JSP e outros tipos de inclusões do lado servidor. Cada tempo de execução do servidor de aplicativos tem um contêiner de Web lógico, que pode ser modificado, mas não criado ou removido. Cada contêiner da Web fornece o seguinte.- Cadeias de transportes do contêiner de web
- As solicitações são direcionadas ao contêiner da Web usando a cadeia de transporte de entrada do contêiner da Web. A cadeia consiste em um canal de entrada TCP que fornece a conexão à rede, um canal de entrada HTTP que serve solicitações HTTP e um canal de contêiner da Web através do qual as solicitações para servlets e arquivos JSP são enviadas ao contêiner da Web para processamento.
- Processamento do servlet
- Ao manipular servlets, o contêiner da Web cria um objeto do pedido e um objeto da resposta e, em seguida, chama o método de serviço do servlet. O contêiner da Web chama o método destroy do servlet quando apropriado e descarrega o servlet, depois do qual a JVM
executa a coleta de lixo.
Os servlets podem executar tarefas como dar suporte ao conteúdo dinâmico de página da Web, fornecer acesso ao banco de dados, atender diversos clientes de uma vez e filtrar dados.
Os arquivos JSP ativam a separação do código HTML da lógica de negócios nas páginas da Web. As extensões IBM® para a especificação JSP facilitam para que os autores de HTML incluam o poder da tecnologia Java em páginas da Web, mesmo não sendo especialistas em programação Java.
- Processamento de HTML e de outro conteúdo estático
- As solicitações para HTML e outro conteúdo estático que são dirigidos ao contêiner da Web são atendidos pela cadeia de entrada do contêiner da Web. Porém, na maioria dos casos, usar um servidor da Web externo e um plug-in do servidor da Web como um front-end para o contêiner da Web é mais apropriado para um ambiente de produção.
- Gerenciamento de sessões
- O suporte é fornecido para a interface javax.servlet.http.HttpSession conforme descrito
na especificação da API (Interface de Programação de Aplicativo) do Servlet.
Uma sessão HTTP é uma série de pedidos para um servlet, originários do mesmo usuário no mesmo navegador. As sessões permitem que os aplicativos em execução em um contêiner da Web mantenham controle dos usuários individuais. Por exemplo, muitos aplicativos da Web permitem que os usuários coletem dados dinamicamente conforme movimentam-se pelo site, com base em uma série de seleções nas páginas que visitam. Onde o usuário vai em seguida, ou o que o site exibe em seguida, pode depender do que o usuário escolheu anteriormente no site. Para manter estes dados, o aplicativo armazena-os em uma "sessão".
- Aplicativos SIP e seu contêiner
Os aplicativos SIP são programas Java que utilizam pelo menos um servlet SIP (Session Initiation Protocol). O SIP é utilizado para estabelecer, modificar e terminar sessões IP de multimídia incluindo telefonia IP, presença e sistema de mensagens instantâneas.
- Aplicativos de portlet e seu contêiner
Os aplicativos de portlet são servlets Java reutilizáveis especiais que aparecem como regiões definidas nas páginas de portal. Os portlets fornecem acesso a muitos aplicativos, serviços e conteúdo da Web diferentes.
- Os aplicativos EJB são executados no contêiner EJB
O contêiner EJB fornece todos os serviços de tempo de execução necessários para implementar e gerenciar enterprise beans. Ele é um processo de servidor que cuida de pedidos para beans de sessão e de entidade.
Enterprise beans são componentes Java que normalmente implementam a lógica de negócios dos aplicativos Java EE, bem como o acesso aos dados. Os enterprise beans, empacotados nos módulos EJB, instalados em um servidor de aplicativos não se comunicam diretamente com o servidor. Em vez disso, o contêiner EJB é uma interface entre componentes EJB e o servidor de aplicativos. Juntos, o contêiner e o servidor fornecem o ambiente de tempo de execução do enterprise bean.
O contêiner fornece muitos serviços simples, incluindo suporte a encadeamento e transação. Em uma perspectiva administrativa, o contêiner manipula o acesso a dados para os beans contidos. Um único contêiner pode hospedar mais de um arquivo Java archive (JAR) EJB.
Aplicativos Clientes e Outros Tipos de Clientes
- Aplicativos clientes e seu contêiner
- O contêiner do cliente é instalado separadamente do servidor de aplicativos,
na máquina cliente.
Ele permite que o cliente execute aplicativos em um ambiente Java EE compatível com o EJB. O diagrama mostra um cliente Java em execução no contêiner do cliente.
Esse produto fornece um Ferramenta launchClient conveniente para iniciar o cliente aplicativo, juntamente com seu tempo de execução do contêiner do cliente.
Dependendo da origem das informações técnicas, os aplicativos clientes, às vezes, são chamados de clientes aplicativos. Nessa documentação, os dois termos são sinônimos.
- Clientes da Web, conhecidos também como clientes do navegador da Web
- O diagrama mostra um cliente de navegador da Web, que pode ser conhecido simplesmente como um Web client fazendo um pedido ao contêiner da Web do servidor de aplicativos. Um Web client ou cliente do navegador da Web é executado em um navegador da Web e, geralmente, é um aplicativo da Web.
- Clientes de serviços da Web
- Os clientes de serviços da Web são ainda outro tipo de cliente que pode existir em seu ambiente de atendimento de aplicativos. O diagrama não representa um cliente de serviços da Web. As informações do serviço da Web incluem as informações sobre este tipo de cliente.
- Clientes administrativos
- O diagrama mostra dois tipos de clientes administrativos: um cliente de script
e o console administrativo que é a GUI (Interface Gráfica com o Usuário) para administrar
esse produto. Ambos estão acessando partes da infra-estrutura de administração de
sistemas. No sentido de que eles são basicamente o mesmo para quaisquer tipos de aplicativos
que estiverem sendo implementados no servidor, os clientes administrativos são parte da
arquitetura do produto. Porém, como muitos desses clientes são programas que você cria, eles são discutidos como parte do modelo de programação para totalidade.
Consulte o Utilizando os Clientes Administrativos.
Serviços da Web
- Serviços da Web
- O diagrama mostra o mecanismo de serviços da Web, parte do suporte a serviços da Web no tempo de execução do servidor
de aplicativos. Os serviços da Web são aplicativos independentes, modulares que podem ser
descritos, publicados, localizados e chamados por uma rede. Eles implementam uma SOA (Arquitetura
Orientada a Serviços), que suporta a conexão ou o compartilhamento de recursos e dados de uma
maneira flexível e padronizada. Os serviços são descritos e organizados para suportar sua
descoberta e reutilização dinâmicas e automatizadas.
O produto age como um provedor de serviços da Web e como um solicitante. Como provedor, ele hospeda serviços da Web que são publicados para uso por clientes. Como solicitante, ele hospeda aplicativos que chamam serviços da Web de outros locais. O diagrama mostra o mecanismo de serviços da Web em sua capacidade, entrando em contato com um provedor de serviços da Web ou gateway.
Acesso aos Dados, Sistema de Mensagens e Recursos do Java EE
- Recursos de Acesso a Dados
- O gerenciamento de conexão para acessar o EIS (Enterprise Information Systems) no servidor de aplicativos baseia-se na especificação do JCA (Java EE Connector Architecture). O diagrama mostra serviços JCA ajudando um aplicativo a acessar um banco de dados
em que o aplicativo recupera e persiste dados.
A conexão entre o aplicativo corporativo e o EIS é feita utilizando adaptadores de recursos fornecidos pelo EIS, que são conectados ao servidor de aplicativos. A arquitetura especifica o gerenciamento de conexão, gerenciamento de transação e contratos de segurança entre o servidor de aplicativos e o EIS.
O Connection Manager (não mostrado) no servidor de aplicativos efetua pool e gerencia conexões. Ele pode gerenciar conexões obtidas por meio de adaptadores de recursos definidos pela especificação JCA e por origens de dados definidas pela especificação JDBC 2.0 Extensions.
Recursos JDBC (Provedores JDBC e origens de dados) são um tipo de recurso do Java EE utilizado por aplicativos para acessar dados. Embora o acesso aos dados seja um assunto mais amplo do que o de recursos do JDBC, essas informações frequentemente agrupam o acesso aos dados sob o título de recursos do Java EE por questão de simplicidade.
Adaptadores de recurso do JCA são um outro tipo de recurso do Java EE utilizado pelos aplicativos. O JCA define a arquitetura padrão para conectar a plataforma Java EE ao EIS heterogêneo. Imagine um ERP, processamento de transação de mainframe, sistemas de bancos de dados e aplicativos legados não escritos na linguagem de programação Java.
O adaptador de recursos JCA é um driver de software de nível de sistema fornecido por fornecedores EIS ou outros fornecedores de terceiros. Ela fornece a conectividade entre servidores ou clientes do aplicativo Java EE e um EIS. Para utilizar um adaptador de recursos, instale o código do adaptador de recursos e crie configurações que utilizem esse adaptador. O produto fornece um adaptador de recursos relacional predefinido para seu uso.
- Recursos e mecanismos do sistema de mensagens
- O suporte JMS permite que os aplicativos troquem mensagens assincronamente
com outros clientes JMS utilizando destinos JMS (filas ou tópicos). Os aplicativos podem utilizar beans orientados a mensagens para recuperar mensagens automaticamente
de destinos JMS e de nós de extremidades JCA, sem efetuar polling explícito de mensagens.
Para pedidos não JMS de entrada, beans acionados por mensagens utilizam um adaptador de recurso do JCA (Java EE Connector Architecture) 1.5 escrito para aquele objetivo. Para o sistema de mensagens JMS, beans acionados por mensagens podem utilizar um provedor do sistema de mensagens baseado no JCA, como o provedor de sistema de mensagens padrão que faz parte do produto.
O mecanismo do sistema de mensagens suporta os seguintes tipos de fornecedores de mensagens.- Provedor de sistemas de mensagens padrão (barramento de integração de serviços)
- O provedor do sistema de mensagens padrão utiliza o barramento de integração de serviço para transporte. O provedor de mensagens padrão fornece funções ponto a ponto e também funções de publicação e assinatura. Nesse provedor, você define fábricas de conexão JMS e destinos que correspondem a destinos do barramento de integração de serviços.
- provedor do IBM MQ
- É possível usar o IBM MQ como o provedor JMS externo. O servidor de aplicativos fornece as classes de clientes JMS e a interface de administração, enquanto o IBM MQ fornece o sistema de mensagens baseado em fila.
- Provedor JMS Genérico
- É possível utilizar outro fornecedor de sistema de mensagens contanto que ele implemente o componente ASF da especificação JMS 1.0.2. Os recursos JMS para esse provedor não podem ser configurados utilizando o console administrativo.
transição: A Versão 6 substitui o conceito da Versão 5 de um servidor JMS com um mecanismo do sistema de mensagens construído no servidor de aplicativos, oferecendo os vários tipos de provedores mencionados anteriormente. O fornecedor de sistema de mensagens da Versão 5 é oferecido para configurar recursos para serem utilizados com o sistema de mensagens incorporado da Versão 5. Você também pode usar o fornecedor de sistema de mensagens padrão da Versão 5 com um barramento de integração de serviços.O EJB 2.1 introduz um ActivationSpec para conectar beans acionados por mensagens a destinos. Para compatibilidade com a Versão 5, você ainda pode configurar beans acionados por mensagens JMS (EJB 2.0) em uma porta listener. Para esses beans acionados por mensagens, o serviço do listener de mensagens fornece um gerenciador de listener que controla e monitora um ou mais listeners JMS, sendo que cada um monitora um destino JMS em nome de um bean acionado por mensagens implementado.
- Barramento de Integração de Serviço
O barramento de integração de serviços fornece uma infra-estrutura de comunicação unificada para o sistema de mensagens e os aplicativos orientados a serviços. O barramento de integração de serviços é um provedor JMS que fornece transporte confiável de mensagens e utiliza a lógica intermediária para adaptar o fluxo de mensagens de forma inteligente à rede. Ele suporta a conexão de solicitantes e provedores de serviços da Web. Seus recursos são completamente integrados à arquitetura do produto, incluindo a segurança, administração do sistema, monitoramento e os subsistemas de determinação de problemas.
O barramento de integração de serviços frequentemente é referido apenas como um barramento. Quando utilizado para hospedar aplicativos JMS, ele é geralmente referido como um barramento do sistema de mensagens. Ele consiste nas seguintes partes (não mostradas nesse nível de detalhes no diagrama).- Membros do Barramento
- Servidores de aplicativos incluídos no barramento.
- Mecanismo do sistema de mensagens
- O componente que gerencia recursos de barramento. Ele fornece um ponto de conexão para clientes produzirem ou de onde consumir mensagens.
- Destinos
- O lugar no barramento ao qual os aplicativos são conectados para trocar mensagens. Os destinos podem representar terminais de serviços da Web, filas ponto a ponto do sistema de mensagens ou tópicos de publicação e assinatura do sistema de mensagens. Os destinos são criados em um barramento e hospedados em um mecanismo do sistema de mensagens.
- Armazenamento de Mensagens
- Cada mecanismo do sistema de mensagens utiliza um conjunto de tabelas em um armazenamento de dados suportado (como um banco de dados JDBC) para reter informações como mensagens, informações sobre assinatura e estados de transação.
Por meio da ativação dos serviços da Web de barramento de integração de serviços, é possível:- Disponibilizar um serviço interno que já está disponível em um destino de serviço como um serviço da Web.
- Disponibilizar um serviço da Web externo em um destino de serviço.
- Use o gateway de serviços da Web para mapear um serviço existente, um serviço interno ou um serviço da Web externo, para um novo serviço da Web que parece ser fornecido pelo gateway.
- Simultaneidade, E-mail, URLs e outros recursos EE
- Os seguintes tipos de recursos do Java EE são utilizados pelos aplicativos implementados em um servidor de aplicativos compatível com o J2EE.
- Recursos JDBC e outra tecnologia para acesso a dados (discutidos anteriormente)
- Adaptadores de recursos JCA (discutidos anteriormente)
- Recursos JMS e outro suporte ao sistema de mensagens (discutidos anteriormente)
- Recursos de simultaneidade para envio ou tarefas de planejamento a serem executadas em paralelo, a criação de encadeamentos que herdam contexto Java EE e transferência de contexto Java EE para chamar interfaces, tais como os retornos de chamada assíncronos
- Suporte a JavaMail, para que os aplicativos enviem mensagens pela Internet
As APIs de JavaMail fornecem uma plataforma e uma estrutura independente de protocolo para construir aplicativos clientes de correio baseados em Java. As APIs requerem fornecedores de serviços, conhecidos como fornecedores de protocolos, para interagir com servidores de correio que são executados nos protocolos apropriados.
Um provedor de correio abrange uma coleta de fornecedores de protocolos, incluindo SMTP (Simple Mail Transfer Protocol) para enviar correspondência; POP (Post Office Protocol) para receber correspondência e IMAP (Internet Message Access Protocol) como outra opção para receber correspondência. Para utilizar outro protocolo, é necessário instalar o fornecedor de serviços apropriado para o protocolo.
O JavaMail requer não apenas provedores de serviços, mas também o JAF (JavaBeans Activation Framework), como a estrutura subjacente para manipular tipos de dados complexos que não são texto simples, como MIME (Multipurpose Internet Mail Extensions), páginas de URL e anexos de arquivo.
- URLs, para descrever locais lógicos
Os provedores de URL implementam a funcionalidade para um protocolo de URL particular, como HTTP, permitindo a comunicação entre o aplicativo e um recurso de URL que é atendido por um protocolo particular. Um provedor de URL padrão está incluído para uso por qualquer recurso de URL com protocolos baseados na especificação suportada do Java SE (Java Platform, Standard Edition), como HTTP, FTP, ou Arquivo. Você também pode conectar seus próprios provedores de URL que implementam protocolos adicionais.
- Entradas do ambiente de recursos, para mapeamento de nomes lógicos para nomes físicos
O ambiente java:comp/env fornece um único mecanismo pelo qual os objetos de espaço do nome JNDI e os objetos do ambiente de aplicativos local podem ser consultados. O produto fornece várias entradas do ambiente local por padrão.
A especificação do Java EE também fornece um mecanismo para definir entradas de ambiente do cliente definindo entradas no descritor de implementação padrão de um aplicativo. A especificação do Java EE utiliza os seguintes métodos para separar a definição da entrada do ambiente de recurso do aplicativo.- Requerer que o servidor de aplicativos forneça um mecanismo para definir objetos administrativos separados que abrangem uma entrada do ambiente de recursos. Os objetos administrativos são acessíveis utilizando o JNDI no espaço de nome local do servidor de aplicativos (java:comp/env).
- Especificar o nome de consulta JNDI do objeto administrativo e o tipo de objeto retornado esperado. Essa especificação é executada na entrada de ambiente de recursos acima mencionada no descritor de implementação.
O produto suporta a utilização de entradas do ambiente de recursos com os seguintes conceitos administrativos.- Uma entrada do ambiente de recursos define o destino de ligação (nome JNDI), a classe de fábrica e o tipo de objeto de retorno (por meio do link a um referenciável) da entrada do ambiente de recursos.
- Um referenciável define o nome de classe da fábrica que retorna instâncias do objeto implementando uma interface Java.
- Um fornecedor do ambiente de recursos reúne o referenciável, as entradas do ambiente de recursos e quaisquer propriedades customizadas requeridas.
Security
- Modelo de programação de segurança e infraestrutura
- O produto fornece infra-estrutura e mecanismos de segurança para proteger recursos sensíveis do Java EE e recursos administrativos e para endereçar requisitos de segurança de ponta a ponta corporativos sobre autenticação, controle de acesso de recurso, integridade de dados, confidencialidade, privacidade e interoperabilidade segura.
A infraestrutura e os mecanismos de segurança protegem recursos e recursos administrativos do Java EE (Java Platform, Enterprise Edition), endereçando seus requisitos de segurança corporativos. Por sua vez, a infra-estrutura de segurança desse produto trabalha com a infra-estrutura de segurança existente da estrutura de computação corporativa de multi-camadas. Com base na arquitetura aberta, o produto fornece muitos pontos de conexão para integração com componentes de software corporativo para fornecer segurança de ponta a ponta.
A infra-estrutura de segurança envolve um modelo de programação e elementos da arquitetura do produto que são independentes do tipo de aplicativo.
Serviços Adicionais para Serem Utilizados por Aplicativos
- Nomenclatura e Diretório
- Cada servidor de aplicativos fornece um serviço de nomes que, por sua vez, fornece um espaço de nomes JNDI (Java Naming
and Directory Interface). O serviço é utilizado para
registrar recursos hospedados no servidor de aplicativos. A implementação JNDI é construída
no topo de um serviço de nomenclatura (CosNaming) CORBA (Common Object Request Broker Architecture).
A JNDI fornece acesso do cliente à nomenclatura e apresenta o modelo de programação utilizado por desenvolvedores de aplicativos. CosNaming fornece a implementação do lado do servidor e é onde seu espaço de nomes está realmente armazenado. Basicamente, a JNDI fornece um wrapper do lado cliente do espaço de nomes armazenado em CosNaming, e interage com o servidor CosNaming em nome do cliente.
Os clientes do servidor de aplicativos utilizam a arquitetura de nomenclatura para obter referências a objetos relacionados a estes aplicativos. Os objetos são ligados a uma estrutura principalmente hierárquica chamada de espaço de nomes. A estrutura do espaço de nomes consiste em um conjunto de ligações de nomes, cada uma consistindo em um nome relativo a um contexto específico e ao objeto ligado a esse nome. O espaço de nomes pode ser acessado e manipulado por meio de um servidor de nomes.
Esse produto fornece os seguintes recursos de nomenclatura e diretório.- Espaço de nomes distribuído, para escalabilidade adicional
- Partições temporárias e persistentes, para ligação em vários escopos
- Estrutura do espaço de nomes federado em vários servidores
- Ligações configuradas para a definição de ligações ligadas pelo sistema na inicialização do servidor
- Suporte para URLs de objetos INS (Interoperable Naming Service) CORBA
Observe que com a inclusão do gerenciador de membros virtuais para fornecer suporte ao repositório federado para segurança do produto, o produto agora oferece os mais extensivos e sofisticados recursos de gerenciamento de identidade, especialmente em combinação com outros produtos WebSphere e Tivoli.
- ORB (Agente de Pedido de Objetos)
- O produto utiliza um ORB para gerenciar a interação entre aplicativos clientes e
aplicativos do servidor e também entre componentes do produto. Um ORB utiliza
IIOP para permitir que os clientes façam pedidos e recebam pedidos de servidores em
um ambiente distribuído de rede.
O ORB fornece uma estrutura para clientes para a localização de objetos na rede e para operações de chamadas nestes objetos, como se os objetos remotos estivessem localizados no mesmo processo em execução que o cliente, fornecendo transparência de local.
Embora não seja mostrado no diagrama, um lugar em que o ORB é executado é onde o contêiner do cliente está em contato com o contêiner EJB em nome de um cliente Java.
- Transações
- Parte do servidor de aplicativos é o serviço de transações. O produto fornece recursos transacionais avançados para ajudar os desenvolvedores
de aplicativos a evitar a codificação personalizada. Ele fornece suporte para muitos dos desafios relacionados à integração de recursos de software existentes com um ambiente Java EE.
Essas medidas incluem ActivitySessions.
Os aplicativos em execução no servidor podem usar transações para coordenar várias atualizações em recursos como uma unidade de trabalho para que todas ou nenhuma das atualizações sejam permanentes. As transações são iniciadas e encerradas por aplicativos ou pelo contêiner no qual os aplicativos são implementados.
O servidor de aplicativos é um gerenciador de transações que suporta a coordenação de gerenciadores de recursos e participa de transações globais distribuídas com outros gerenciadores de transações compatíveis.
O servidor pode ser configurado para interagir com bancos de dados, filas JMS e conectores JCA por meio do suporte a transações locais quando o suporte a transações distribuídas não é requerido.
A maneira como os aplicativos utilizam transações depende do tipo de aplicativo, por exemplo:- Um bean de sessão pode gerenciar suas próprias transações ou pode delegar o gerenciamento de transações ao contêiner.
- Os beans de entidade utilizam transações gerenciadas pelo contêiner.
- Componentes da Web, como servlets, utilizam transações gerenciadas pelo bean.
O produto manipula transações com os seguintes componentes.- Um gerenciador de transação suporta o alistamento de XAResources recuperáveis e garante que cada recurso seja levado a um resultado consistente, no final de uma transação ou depois de uma falha e reinício do servidor de aplicativos.
- Um contêiner gerencia o alistamento de XAResources em nome de aplicativos implementados quando executa atualizações em gerenciadores de recursos transacionais como bancos de dados. Como opção, o contêiner pode controlar a demarcação de transações para aplicativos EJB que têm enterprise beans configurados para transações gerenciadas pelo contêiner.
- Uma API manipula enterprise beans gerenciados pelo bean e servlets, permitindo que tais componentes do aplicativo controlem a demarcação de suas próprias transações.
Extensões do WebSphere
As extensões do modelo de programação do WebSphere são os benefícios do modelo de programação obtidos na aquisição desse produto. Elas representam a tecnologia de ponta para aperfeiçoar o recurso e desempenho de aplicativos e para agilizar e tornar mais produtivas a programação e implementação.
Além disso, seus aplicativos podem utilizar a estrutura de extensão do Eclipse. Seus aplicativos serão extensíveis assim que você definir um ponto de extensão e fornecer o código de processamento de extensão para a área extensível do aplicativo. É possível também conectar um aplicativo a outro aplicativo extensível definindo uma extensão que adere aos requisitos do ponto de extensão de destino. O ponto de extensão pode localizar a extensão incluída recentemente de forma dinâmica e a nova função será integrada de forma contínua ao aplicativo existente. Ele funciona em um módulo cruzado do Java EE (Java Platform, Enterprise Edition). O registro de extensão do aplicativo utiliza o formato do descritor de plug-in do Eclipse e as APIs (Interfaces de Programação de Aplicativos) como o mecanismo de extensibilidade padrão para aplicativos WebSphere. Desenvolvedores que constroem módulos aplicativos do WebSphere podem utilizar extensões do WebSphere Application Server para implementar ferramentas do Eclipse e fornecer módulos de plug-in para contribuir com a funcionalidade, como ações, tarefas, itens de menu e links em pontos de extensão predefinidos no aplicativo WebSphere. Para obter informações adicionais sobre esse recurso, consulte Registro de Extensão de Aplicativo.
As várias extensões do modelo de programação do WebSphere, e os serviços de aplicativos correspondentes que as suportam no tempo de execução do servidor de aplicativos, podem ser consideradas em três grupos: extensões do Business Object Model, extensões do Business Process Model e extensões para produzir Aplicativos de Última Geração.
Extensões relativas ao Modelo de Objeto de Negócios
- Análise de perfil de aplicativo
- A definição de perfil do aplicativo é uma extensão do WebSphere para definir estratégias
para controlar dinamicamente a coincidência, pré-busca e leitura antecipada.
A definição de perfil do aplicativo e a intenção de acesso fornecem um método flexível para ajustar o desempenho do aplicativo para enterprise beans sem impactar o código fonte. Os enterprise beans diferentes e até mesmo os métodos diferentes em um enterprise bean podem ter sua própria intenção de acesso a recursos. A definição de perfil de componentes baseada em sua intenção de acesso aumenta o desempenho no tempo de execução do servidor de aplicativos.
- Consulta dinâmica
- Consulta dinâmica é uma extensão de programação do WebSphere para flexibilidade incomparável do aplicativo. Ela permite construir e enviar dinamicamente consultas
que selecionam, classificam, unem e executam cálculos em dados do aplicativo no
tempo de execução. O serviço Consulta Dinâmica permite transmitir e processar
consultas da linguagem de consulta EJB no tempo de execução, eliminando a necessidade de
codificar permanentemente consultas solicitadas em descritores de implementação
durante o desenvolvimento do aplicativo.
A consulta dinâmica aprimora enterprise beans permitindo que o cliente execute consultas personalizadas em componentes EJB durante o tempo de execução. Até agora, as consultas EJB e os mapeamentos de campos foram implementados no momento do desenvolvimento e requerem desenvolvimento ou remontagem adicionais para serem alterados.
- Cache dinâmico
- O serviço de cache dinâmico aprimora o desempenho armazenando em cache a saída
de servlets, comandos e arquivos JSP. Este serviço no servidor de aplicativos
intercepta chamadas para objetos armazenáveis em cache e armazena a saída do
objeto ou atende o conteúdo do objeto a partir do cache dinâmico.
Como os aplicativos Java EE têm proporções altas de leitura-gravação e podem tolerar graus menores de latência na aceitação de seus dados, o cache dinâmico pode criar oportunidade para ganhos significativos no tempo de resposta, rendimento e escalabilidade do servidor.
Os recursos incluem replicação de cache entre clusters, disk offload de cache, armazenamento em cache de inclusão do lado Edge e armazenamento em cache externo - a capacidade para controlar caches fora do servidor de aplicativos, como as do servidor da Web.
Extensões relativas ao Modelo de Objeto de Negócios
- ActivitySessions
- ActivitySessions são uma extensão do WebSphere para reduzir a complexidade
de lidar com regras de consolidação e limitações associadas a recursos de consolidação
de uma fase.
ActivitySessions permitem estender o escopo de várias transações locais e agrupá-las. Isto permite que sejam consolidadas com base nos critérios de implementação ou por meio da lógica de programa explícita.
- Serviços da Web
- Os serviços da Web são aplicativos modulares, independentes, que podem ser descritos, publicados, localizados e chamados por meio de uma rede. Eles implementam uma SOA (Services Oriented Architecture), que suporta a conexão ou o compartilhamento de recursos e dados de uma maneira muito flexível e padronizada. Os serviços são descritos e organizados para suportar sua descoberta e reutilização dinâmicas e automatizadas.
Extensões para criar os próximos aplicativos de geração
- Beans Assíncronos
- Os Beans assíncronos foram descontinuados e substituídos pelo Concurrency Utilities for Java
EE.
Os beans assíncronos oferecem aperfeiçoamentos de desempenho para tarefas que consomem muitos recursos, permitindo que tarefas únicas sejam executadas como tarefas múltiplas. As instalações de planejamento assíncrono também podem ser usadas para processar as solicitações de processamento paralelo no "modo em lote" em um tempo designado. O produto fornece suporte total para a execução assíncrona e chamada de encadeamentos e componentes no servidor de aplicativos. O servidor de aplicativos fornece execução e contexto de segurança para os componentes, tornando-os parte integral do aplicativo.
- Beans de Inicialização
- Os beans de inicialização permitem a execução automática da lógica de negócios quando o servidor de aplicativos é iniciado ou parado. Por exemplo, eles podem ser utilizados para preencher caches específicos do aplicativo, inicializar pools de conexão em nível do aplicativo ou executar outros procedimentos de inicialização e encerramento específicos do aplicativo.
- Conjuntos de Objetos
- Os pools de objetos fornecem uma maneira eficiente de aprimorar o desempenho do aplicativo no tempo de execução, permitindo que várias instâncias de objetos sejam reutilizadas. Esta reutilização reduz a sobrecarga associada à instanciação, inicialização e coleta de lixo de objetos. A criação de um pool de objetos permite que um aplicativo obtenha uma instância de um objeto Java e retorne a instância ao pool depois de utilizá-la.
- Internacionalização
- O serviço de internacionalização é uma extensão do WebSphere para aprimorar a produtividade do desenvolvedor. Ele permite reconhecer automaticamente informações de fuso horário e de local do cliente de chamada para que seu aplicativo possa agir corretamente. A tecnologia permite fornecer a cada usuário, em todo o mundo, as informações corretas de data e hora, as moedas e idiomas apropriados e os formatos corretos de datas e decimais.
- Planejador
- O serviço do planejador é uma extensão de programação do WebSphere responsável por iniciar ações em tempos ou intervalos específicos. Ele ajuda a reduzir os custos de TI e aumentar a velocidade e o pronto atendimento do aplicativo, aumentando a utilização de recursos de computação existentes. O serviço do planejador permite processar cargas de trabalho utilizando o processamento paralelo, definir transações específicas como alta prioridade e planejar menos tarefas sensíveis à hora para processamento em períodos de pouco tráfego.
- Áreas de trabalho
- As áreas de trabalho são uma extensão do WebSphere para aprimorar a produtividade do desenvolvedor. As áreas de trabalho fornecem um recurso muito parecido com o dessas "variáveis globais". Fornecem
uma solução para transmissão e propagação de informações contextuais entre
componentes de aplicativo.
As áreas de trabalho permitem o compartilhamento eficiente de informações em um aplicativo distribuído. Por exemplo, talvez você queira incluir informações de perfil à medida que cada cliente digita seu aplicativo. Colocando estas informações em uma área de trabalho, elas ficarão disponíveis em todo o aplicativo, eliminando a necessidade de codificar manualmente uma solução ou de ler e gravar informações em um banco de dados.