Beruflich Dokumente
Kultur Dokumente
BÁSICOS
Sistemas Distribuídos
Prof. Marcelo Lucas
2018.2
Objetivos da Aula
Ao final desta aula, o aluno deverá ser capaz de:
Obter uma definição geral sobre Middlerawe e sobre
os tipos de Middleware’s.
Saber identificar produtos de Middleware modernos de
mercado, suas principais características e
funcionalidades.
Identificar os paradigmas de sistemas distribuídos
associados a pacotes de Middleware básicos.
Pré-requisitos
Introdução aos conceitos Sistemas Distribuídos
Bibliografia
Gartner. 2004. Analyst Report. Who's Who in
Middleware, 1Q04. Disponível em: https://www-
01.ibm.com/software/info/websphere/partners
4/articles/gartner/garwho.html
Extra/Complementar:
Coulouris. Distributed Systems Concepts and Design. 5th
Ed.
Organização Desta Apresentação
Definição de Middleware e suas funcionalidades
Grupos de Funcionalidades dos Middleware’s
Middleware – funcionalidades básicos (Detalhamento completo)
Middleware – Funcionalidades de Integração (Lista apenas)
Middleware – Funcionalidades de Pacotes de Aplicações (Lista
apenas)
Produtos de Middleware
Produtos de Middleware de Comunicação
Produtos de Middleware de Plataforma
Exemplos de Servidores Web e Servidores de Aplicação
Especificações Java Implementadas por Servidores de Aplicação
Paradigmas de Sistemas Distribuídos
Definição de Middleware e suas
funcionalidades
Componentes de software
Para lidar com a heterogeneidade de computadores e
redes, e ajudar a fornecer uma visão única de sistema,
os sistemas distribuídos são construídos por camadas de
componentes de software.
Uma camada de software desenvolvida
especificamente para prover facilidades comuns a
sistemas distribuídos que fica situada logicamente entre
a camada de mais alto nível da aplicação e a camada
subjacente composta dos sistemas operacionais e dos
serviços de rede é muitas vezes denominada de
Middleware.
Middleware
Há uma definição muito genérica para Middleware:
Componente de software que fica no meio (middle).
Fica entre os componentes de software de um
Sistema Distribuído.
É uma camada ou pacote de software que provê
serviços necessários a interação dos demais
elementos autônomos de software que constituem o
Sistema Distribuído.
Middleware – Definição do Gartner
Middleware é o software de “cola” que ajuda programas
e bancos de dados (que podem estar em diferentes
computadores) a trabalhar juntos. Sua função mais
básica é habilitar a comunicação entre os diferentes
componentes de software.
https://www.gartner.com/it-glossary/middleware/
Middleware
Camada de software para:
Suportar tecnologias, computadores e redes heterogêneas,
Oferecer uma interface padronizada e homogênea para os
componentes do sistema distribuídos.
Situado logicamente entre:
Uma camada mais alta Componente das Aplicações
Uma camada subjacente Sistemas operacionais, serviços de rede e
de armazenamento de dados.
Funções do Middleware
A função mais básica do Middleware é fornecer
serviços de comunicação entre os elementos do
sistema distribuído.
Com a evolução das tecnologias de sistemas
distribuídos, as funcionalidades dos Middlewares
também evoluíram e se diversificaram.
Funcionalidades de Middleware
Torna transparente as diferenças entre os diversas
interfaces dos componentes do sistema distribuído.
Permite que componentes de uma aplicação distribuída se
comuniquem de forma transparente.
Oculta da melhor forma as diferenças entre os tipos de
hardware e de sistemas operacionais.
Fornece serviços de alto nível necessários ao processamento
distribuído e à comunicação que normalmente não estão
disponíveis nos sistemas operacionais ou camadas de rede.
Atualmente tem incorporado serviços de implantação
(deploy), execução e administração dos componentes da
aplicação distribuída.
Funcionalidades de Middleware
Resumidamente, o Middleware:
Fornece uma camada adicional de abstração acima do S.O.;
Esconde a complexidade do ambiente subjacente (S.O., Rede,
Topologia, Gerenciamento de Dados, etc.);
Dá maior independência em relação ao ambiente computacional
subjacente;
Fornece serviços de implantação, execução, migração e
administração de aplicações distribuídas;
Fornece serviços adicionais de alto nível e desonera a
implementação de códigos complexos comuns às várias
aplicações distribuídas; e
Facilita adoção de padrões e melhores práticas de programação
em aplicações distribuída.
Grupos de Funcionalidades dos
Middleware’s
Evolução dos Middleware’s
Com o passar do tempo os produtos de middleware
evoluíram e se diversificaram. Suas funções também
evoluíram.
Funções/Funcionalidades dos
Middleware’s
Analisaremos primeiro os tipos de funcionalidades
que são implementadas pelos diversos tipos de
middleware para então entendermos melhor os tipos
de produtos middleware’s existentes.
Grupos de Funcionalidades de
Middleware´s
Funcionalidades/funçoes BÁSICAS:
Funcionalidades de Comunicação
Funcionalidades de Plataforma
Funcionalidades de Gerenciamento de Dados
Funcionalidades/funções de INTEGRAÇÃO
Funcionalidades Tecnicas
Funcionalidades de Adaptador tecnológico
Funcionalidades de Transformação
Funcionalidades de Roteamento Inteligente
Navegação de Dados
Funcionalidades de Negócio
Gerenciamento de Processos de Negócio
Gerenciamento de Processos de Negócio
Engenho de Regras de Negócio
Funcionalidades de Middleware relacionadas a Pacotes de Aplicações
Funcionalidades de Adaptador de um pacote de aplicação (Ex.: SAP, CRM Siebel,...)
Funcionalidades de Interconexão ou Extensibilidade de pacote de aplicação (Ex.:
Conector Siebel-Arbor)
Monitoramento de Atividades de Negócio
Middleware
De acordo com as combinações de funcionalidades
poderemos ter vários tipos de produtos de
Middleware . Por exemplo:
Middleware de Comunicação: Situa-se entre duas
aplicações ou componentes de aplicações distribuídas
e fornece serviços de comunicação.
Middleware de Servidor de Aplicação: Situa-se entre a
aplicação e o sistema operacional / rede de
computadores. Forma um container para a aplicação.
Fornece as funcionalidades de plataforma e de
comunicação.
Middleware - Funcionalidades
Básicas
Middleware – Funcionalidades Básicas
As funcionalidades básicas de middleware estão relacionadas aos requisitos que surgem dentro
das fronteiras de uma única aplicação distribuída ou de um conjunto de aplicações
relacionadas (aplicações onde todos os componentes seguem uma mesma orientação de
desenho ou de um único time de desenvolvimento ou de um memsmo arquiteto).
Mesmo que a aplicação esteja espalhada por diferentes localizações e utilizando diferentes
sistemas operacionais e executando pela Internet, as funcionalidades básicas são suficientes
porque existe uma consistência interna do modelo de informação da aplicação (ex.: formatos
de mensagem, método de assinatura, protocolos e semântica dos dados consistentes).
As funcionalidades básicas de middleware são normalmente empregadas no escopo interno de
uma organização, mas podem ser aplicadas igualmente em sistemas que envolvem mais de
uma empresa, ex.: B2B – Business-to-Business, desde que o software em ambas as
organizações tenha sido implementado por uma organização (ou por uma equipe que
coopere nas escolhas do desenho da aplicação).
As funcionalidades básicas de middleware estão organizadas em três categorias :
Funcionalidades de Comunicação
Funcionalidades de Plataforma
Funcionalidades de Gerenciamento de Dados
Middleware – Funcionalidades Básicos
Middleware de
Middleware de Middleware de
Gerenciamento de
Comunicação Plataforma
dados
https://www-01.ibm.com/software/info/websphere/partners4/articles/gartner/garwho.html
Middleware – Funcionalidades Básicas
1 - Funcionalidades de Comunicação
2 - Funcionalidades de Gerenciamento de Dados
3 - Funcionalidades de Plataforma
Middleware – Funcionalidades Básicas
1 – Funcionalidades de Comunicação
A adoção de um framework de middleware de
comunicação desonera o desenvolvedor da aplicação
de lidar com os detalhes de protocolos de rede.
http://www.informit.com/articles/article.aspx?p=349749&seqNum=2
Middleware – Funcionalidades Básicas
1 – Funcionalidades de Comunicação
Middleware – Funcionalidades Básicas
1 – Funcionalidades de Comunicação
Seu objetivo é ajudar os programas a se comunicarem
com outros programas.
É o software que suporta o protocolo de transmissão de
mensagens e dados entre dois pontos assim como que
provê uma interface de programação (API –
Application Program Interfaces) para acesso aos
serviços de comunicação.
São essenciais para obtenção de serviços de
comunicação com segurança, entrega confiável de
mensagens, e desacoplamento, como no caso específico
dos middlewares orientados a mensagens (MOM –
message oriented middlewares).
Middleware – Funcionalidades Básicas
1 – Funcionalidades de Comunicação
Fornecem protocolos e APIs para o serviço de comunicação que
podem ser proprietários ou baseados em padrões de mercado
como ASN.1, DCE (Distributed Computing Environment), RPC (Remote
Procedure Call), RMI (Remote Method Invocation), CORBA/IIOP, JMS
(Java Message Service) ou Serviços Web baseados em SOAP
(Simple Object Access Protocol).
Atualmente os middleware´s de comunicação geralmente executam
protocolos de Internet como FTP, FTTP, HTTPS, IP, SMTP ou TCP.
Podem implementar protocolos de alto nível, incluindo padrões de
indústrias (ex.: ebXML messaging, AS2 e Web Services) e protocolos
proprietários (ex.: WebSphere MQ, Microsoft MSMQ e Oracle AQ)
e podem executar através da Internet ou de redes privadas como
ANX ou SWIFT (Society for Worldwide Interbank Financial
Telecommunication)
Middleware – Funcionalidades Básicas
1 – Funcionalidades de Comunicação
Funcionalidades básicas de comunicação:
Protocolos de transmissão
API de serviços de comunicação
Funcionalidades mais sofisticadas de comunicação:
Entrega confiável e garantira de entrega (ex.:, garantia de que a mensagem
será salva até a confirmação da entrega)
Suporte transacional (ex.:, two-phased commit),
Fila de mensagens (ex., para entrega garantida retardada, desacoplamento,
sem conexão entre origem de destinatário, mecanismo store-and-foward),
Mensagens offline (ex., para aplicações portáveis ou quando a aplicação
destino estiver offline, desacoplamento),
Entrega única (eliminar entrega de mensagens duplicadas)
Entrega múltipla (ex.: padrão de comunicação publish/subscriber)
Estruturas de fila ou pilha ou de outras variações de ordenação ou distribuição
de mensagens.
Middleware
2 – Funcionalidade de Ger. de Dados
As funcionalidades de middleware de
gerenciamento de dados ajudam os programas
(incluindo programas de aplicação e programas de
SGBDs) a ler e escrever em arquivos remotos ou
banco de dados remotos. Exemplos incluem:
Mecanismos NFS (Network File System) de Windows,
Netware e Linux;
Padrões e drivers ODBC (Open Database Conectivity)
e JDBC (Java Database Connectivity) que normalmente
são incluídas nos próprios pacotes do SGBD, como DB2,
Oracle, SQL Server, etc.
Middleware
2 – Funcionalidade de Ger. de Dados
Produtos que implementam este tipo de funcionalidade
normalmente não são rotulados como middleware no
mercado porque são funcionalidades já empacotadas
em produtos como os SGBDs ou servidores de arquivos.
Todos os modernos SGBDs incluem tipicamente alguma
forma de middleware para acesso distribuído de leitura
e escrita, como por exemplo: Driver ODBC, Driver
JDBC, “OLE Provider” ou alguma biblioteca
proprietária para leitura e escrita no Banco de Dados,
como no caso do cliente SQL-net do SGBDR Oracle.
Middleware
2 – Funcionalidade de Ger. de Dados
JDBC ODBC
ODBC
Progra-
mas
Aplicações
Servidor de
Aplicação
Rede e Comunicação
Sistemas Operacionais
S.O Hardwares
Middleware
3 – Funcionalidades de Plataforma
Proveem funcionalidades para a comunicação entre programas ou
componentes da aplicação.
Proveem serviços de “gerenciamento de recursos” para execução
das lógicas das aplicações hospedadas (ex.: gerenciamento de
memória, gerenciamento de processos e threads, carregamento de
programas de disco para memória quando necessários, parada,
iniciação e execução de cópias de programas, balanceamento de
carga, tolerância a falhas, monitoração, gerenciamento,
processamento de transações distribuídas, distribuição remota de
programas, acessos otimizados a programas da aplicação a partir
de clientes ou servidores externos).
Provêm também interfaces para diversos formatos de comunicação
(ex.: envio de mensagens de via única ou do tipo
requisição/resposta – request/response).
Middleware – Funcionalidades Básicas
3 – Funcionalidades de Plataforma
Os ambiente de desenvolvimento de aplicações evoluíram para
projetos mais sofisticados com a adoção extensiva do padrão de
desenho de projeto (design pattern) de “Inversão de Controle” (IoC -
Inversion of Control pattern) e de outros como a “Injeção de
Dependência” (Dependency Injection pattern).
Há vários frameworks e linguagens de programação que proveem
estes padrões como a principal forma de programação, como os
existentes em JEE, Servlets, Javascript, etc. A maior parte desses
frameworks necessitará de algo como um container para execução
dos programas da aplicação.
Os exemplos mais comumente encontrados de containers de
execução de programas são os Web Browsers (ex.: container de
execução de programas javascript) e Servidores de Aplicação (ex.
container para execução das lógicas de negócio escrita Java
Servlet, ou .net framework, etc.)
Middleware - Funcionalidades de
Integração (de Aplicações)
Middleware - Funcionalidades de
Integração (de Aplicações)
Funcionalidades de integração se tornam necessárias quando se busca a integração
de aplicações que foram desenvolvidas de formas independentes (podendo até
ocorrer de terem sido desenvolvidas utilizando a mesma arquitetura de software e
executarem nos mesmos computadores).
São as funcionalidades que ajudam na reconciliação das diferenças nos desenhos e
tecnologias utilizadas por aplicações que ocorrem inevitavelmente quando há
desenvolvimento de aplicações independentes e acarretam em ambientes
heterogêneos do ponto de vista de tecnologias, arquiteturas e semântica das
informações.
Podem abranger os seguintes escopos:
Intra-Empresa – como EAI (Enterprise Application Integration) ou A2A (Application-to-
Application integration) ou
Inter-Empresas – como B2B (Business-to-business).
Produtos que realizam as funções integração usualmente também embutem funções
básicas, como de comunicação, de plataforma e de gerenciamento de dados.
Funções de integração são encontradas em vários produtos, incluindo suítes de
adaptadores, suítes de integração, ESBs, produtos de portais e plataformas de
aplicações.
Middleware - Funcionalidades de
Integração (de Aplicações)
1 – Adaptadores Tecnológicos
2 – Transformação
3 – Roteamento Inteligente
4 – Federação de Dados (Data Navigation)
5 – BPM – Gerenciamento de Processos de Negócio
6 – Engenhos de Regras de Negócio
7 – Gerenciamento de Eventos de Negócio (funções
genéricas de suporte a BAM - Business Activity
Monitoring)
Middleware – Funcionalidades de
Pacotes de Aplicações
Middleware – Funcionalidade de
Pacotes de Aplicações
São as funcionalidades de middleware incluídas nos
pacotes de aplicação ou desenvolvidas
especificamente para lidar com um ou mais pacotes
de aplicação específicos.
Estas NÃO são consideradas como funcionalidades
genéricas de middleware mas um combinação
dessas funcionalidades de middleware com a lógica
específica daquele pacote de aplicação.
Middleware – Funcionalidade de
Pacotes de Aplicações
1 – Adaptadores de Aplicações
2 – Pacote de Integração
3 – Monitoração de Atividades de Negócio (BAM -
Business Activity Monitoring)
Produtos de Middleware
Produtos de middleware
Nas seções anteriores o foco foi nas
funcionalidades de middleware.
Nesta sessão o foco será nos produtos que
implementam as funcionalidades de middleware.
Serão identificados as categorias de produtos de
middleware e serão elencados os principais
fabricantes que oferecem soluções nestas
categorias.
Categorias de Middleware
Há pouco consenso na literatura sobre as
categorias de middleware.
Alguns autores como Colouris e Tanenbaum fizeram
algumas tentativas de classificação dos tipos de
middleware. Ex.: de Colouris na figura a seguir.
Middleware – Exemplos e Categorias
conforme Colouris
https://pt.wikipedia.org/wiki/RMI
3 – Servidores de Aplicação
(Application Servers)
Um servidor de aplicação é considerado uma forma mais moderna
de middleware de plataforma. É uma camada de software que
reside entre a aplicação e todos os recursos externos que necessita,
como SGBDs, serviços de comunicação e serviços de internet.
Em tempo de execução, o servidor de aplicação age como um
container que hospeda a lógica de negócio da aplicação e facilita
o acesso e a execução da aplicação.
O Servidor de Aplicação deve conseguir lida com as situações:
Tráfego variável e de diversas requisições concorrentes de usuários
Falhas de hardware e software
Aplicação distribuída em larga escala
Heterogeneidade de dados e de recursos computacionais
3 – Servidores de Aplicação
(Application Servers)
Um servidor de aplicação também deve suportar múltiplas aplicações, múltiplos
desenhos de aplicação, múltiplas linguagens e frameworks de programação
Alguns servidores de aplicação implementam modelos padrões de programação
de aplicações, como o JEE enquanto outros são totalmente proprietários.
Alguns servidores de aplicação proprietários são empacotados em aplicações (ex.:
SAP BASIS), em portais, em soluções de e-commerce e outros produtos de software
e não são oferecidos como produtos isolados.
Um servidor de aplicação de alto nível chamado normalmente de “Servidor de
Aplicação versão Enterprise” garante os níveis de desempenho, integridade e
disponibilidade esperados através de funcionalidades como:
Clusterização,
Tolerância a falhas,
Multiplexação,
Controle de fluxo,
Transformação entre outros.
Servidores de aplicação modernos normalmente incluem MOM e funções de acesso
a SGBDs
3 – Servidores de Aplicação
(Application Servers)
Atualmente demos dois tipos bem conhecidos de servidores de
aplicação da tecnologia Java
Servidores de Aplicação Container Servlet
Implementa especificações: Servlet 4.0, JSP 2.3, EL 3.0, WebSocket 1.1
and JASPIC 1.1 (versões requeridas pelo Java EE 8 platform).
Ex.: Tomcat, Jetty
Servidores de Aplicação JEE
Implementa especificações
Java Platform, Enterprise Edition (EE) Standards
Web Services Standards and APIs
Additional Standards and APIs
Ex.: Wildfly, Jboss, Websphere, Glassfish, WebLogic, ...
Servlet Spec 4.0 3.1 3.1 3.0 2.5 2.4 2.3 2.2
JSP Spec 2.3 2.3 2.3 2.2 2.1 2.0 1.2 1.1
WebSocket Spec 1.1 1.1 1.1 1.1 N/A N/A N/A N/A
JASPIC Spec 1.1 1.1 N/A N/A N/A N/A N/A N/A
6 and later (7 and
Supported Java 8 and 7 and later for 1.3 and
Versions later later 7 and later WebSocket) 5 and later 1.4 and later later 1.1 and later
Java Platform, Enterprise Edition (EE)
Standards
Technology/Specification JBoss EAP 7 JBoss EAP 6 JBoss EAP 5 JBoss EAP 4.3
Java EE 7.0 6.0 5.0 1.4
Java API for XML-based RPC (JAX-RPC) - 1.1 1.1 1.1
SOAP with Attachments API for Java (SAAJ) 1.3 1.3 1.3 1.3
Java Servlet 3.1 3.0 2.5 2.4
JavaServer Faces (JSF) 2.2 2.0 1.2 1.2
JavaServer Pages & Expression Language (JSP) 2.3 2.2 2.1 2.1
Java Transaction API (JTA) 1.2 1.1 1.1 1.0
Java Authorization Contract for Containers (JACC) 1.4 1.4 1.1 1.0
Enterprise JavaBeans with Interceptors 1.1 (EJB) 3.2,3.1, 3.0, 2.1, 2.0 3.1,3.0,2.1,2.0 3.0,2.1,2.0 3.0,2.1,2.0
Java EE Connector Architecture (JCA) 1.7 1.6 1.5 1.5
J2EE Management 1.1 1.1 1.0 1.0
Enterprise Web Services 1.3 1.3 1.2 1.1
Java EE Application Deployment 1.2 1.2 1.2 1.1
JavaMail 1.5 1.4 1.4 1.4
Java Message Service (JMS) 2.0 1.1 1.1 1.1
Java Persistence (JPA) 2.1 2.0 1.0 1.0
...
Technology/Specification JBoss EAP 7 JBoss EAP 6 JBoss EAP 5 JBoss EAP 4.3
Web Services Metadata for the Java Platform 2.1 2.1 2.0 2.0
Java API for XML Web Services (JAX-WS) 2.2 2.2 2.1 2.0
Debugging Support for Other Languages 1.0 1.0 1.0 -
Standard Tag Library for JavaServer Pages (JSTL) 1.2 1.2 1.2 1.2
Common Annotations for the Java Platform 1.2 1.1 1.0 1.0
Java Architecture for XML Binding (JAXB) 2.2 2.2 2.0 2.0
Java API for RESTful Web Services (JAX-RS) 2.0 1.1 1.0 -
Java API for XML Registries (JAXR) 1.0 1.0 1.0 1.0
Contexts and Dependency Injection for Java (CDI) 1.1 1.0 - -
Bean Validation 1.1 1.0 - -
Web Services Standards and APIs
Technology/Specification JBoss EAP 7.0 JBoss EAP 6.0 JBoss EAP 5.1 JBoss EAP 4.3
Simple Object Access Protocol (SOAP) 1.1, 12 1.1, 1.2 1.1, 1.2 1.1, 1.2
SOAP Message Transmission Optimization Mechanism
Yes Yes Yes Yes
(MTOM)
XML-Binary Optimized Packaging (XOP) Yes Yes Yes Yes
Web Services Description Language (WSDL) 1.1 1.1 1.1 1.1
WS-I Basic Profile 1.1, 1.2, 2.0 1.1, 1.2, 2.0 1.1 1.1
WS-I Basic Security Profile 1.1 1.1[1] - -
WS-Addressing 1.0 1.0 1.0 1.0
WS-Reliable Messaging 1.0 1.0 1.0[2] -
WS-Security 1.1 1.1 1.1[2], 1.0 1.0
WS-Security Core 1.1 1.1 1.1[2] -
WS-Security Username Token Profile 1.1 1.1 1.1[2], 1.0 1.0
WS-Security X.509 Token Profile 1.1 1.1 1.1[2], 1.0 1.0
WS-Security SOAP with Attachments Token Profile 1.1 1.1 1.1[2] -
WS-Security SOAP Message Security 1.1 1.1 1.0 -
[1] Certified starting with 6.3.0. [2] Included in optional JBoss WS Apache CXF. [3] PicketLink Federation was Technology Preview in EAP 5.1.1.
…
Technology/Specification JBoss EAP 7.0 JBoss EAP 6.0 JBoss EAP 5.1 JBoss EAP 4.3
Universal Description Discovery and Integration
2.0, 3.0 2.0, 3.0 2.0 2.0
(UDDI) Client
Java API for XML Web Services Addressing (JAX-
1.0 1.0 1.0 1.0
WSA)[JSR-261]
WS-Atomic Transactions 1.1 1.1 1.1 -
Fast Infoset (FI - ISO/IEC 24824-1, ITU-T Rec. X.891) Yes Yes Yes -
WS-Business Activity 1.1 1.1 1.1 -
WS-Coordination 1.1 1.1 1.1 -
WS-Security Policy 1.3 1.3 1.3[2] -
WS-Policy 1.5 1.5 1.5[2] -
WS-Policy Attachment 1.5 1.5 1.5[2] -
WS-I Attachments Profile 1.0 1.0 1.0 1.0
WS-Eventing - - - -
WS-Trust 1.3 1.3 1.3[2] -
Security Assertion Markup Language (SAML) 2.0 2.0 2.0[3] -
XACML 2.0 2.0 2.0 -
[1] Certified starting with 6.3.0. [2] Included in optional JBoss WS Apache CXF. [3] PicketLink Federation was Technology Preview in EAP 5.1.1.
Additional Standards and APIs
Technology/Specification JBoss EAP 7.0 JBoss EAP 6.0 JBoss EAP 5.1 JBoss EAP 4.3
Java Transaction Service (JTS) 1.0 1.0 1.0 -
JDBC [JSR-054] [4] [4] 3.0, 4.0 3.0
CORBA 2.3.1 2.3.1 2.3.1 2.3.1
Streaming API for XML Processing (StAX) [JSR-173] [4] [4] 1.0 1.0
JavaBeans Activation Framework (JAF) [JSR-925] [4] [4] 1.1 1.1
Java Management Extensions (JMX)[JSR-255] [4] [4] 2.0 -
Java Database Connectivity (JDBC) [JSR-221] [4] [4] 4.0 4.0
Java API for XML Processing (JAXP) [JSR-205] [4] [4] 1.3 -
SPNEGO/Kerberos Yes Yes Yes -