Compreendendo a qualidade de exigências dos
serviços
Está aqui alguma qualidade principal das
exigências dos serviços que são específicas às aplicações
interoperable do NET de Java EE. É crucial que os arquitetos e
os colaboradores incorporam estas exigências em seus projetos do
interoperability ou as adicionam a seus critérios da avaliação para
seus produtos do interoperability do NET de Java EE. A
segurança é um outro atributo importante da qualidade de exigências
dos serviços.
Confiabilidade
A confiabilidade para aplicações interoperable do
NET de Java EE requer pedidos do serviço ou dados de negócio de um
remetente (palavra, um requester do serviço) ser transmitido com
sucesso e exatamente ao receptor do alvo (palavra, um fornecedor de
serviço). O receptor do alvo deve poder reconhecer o recibo se
necessário. Os dados de negócio necessitam ser exatos e sem
erros. A transmissão bem sucedida pode ser conseguida resending
os pedidos do serviço e os dados de negócio até que haja um
reconhecimento do recibo do receptor ou persistindo eles em uma loja
de confiança dos dados de modo que o receptor do alvo possa os
escolher acima.
A confiabilidade pode ser produtor-producer-centric ou
consumidor-consumer-centric. No scenario
produtor-producer-centric, as necessidades do remetente (produtor)
assegurar-se de que o receptor do alvo (consumidor) receba os dados de
negócio. Se não, o remetente resends os dados de negócio até
que o receptor do alvo emita um reconhecimento. Se o receptor do
alvo for fora de linha ou unavailable, o remetente é responsável
para resending os dados de negócio sempre que o serviço recipient do
alvo se torna disponível. No scenario
consumidor-consumer-centric, o receptor do alvo (consumidor) é
responsável para recuperar os dados de negócio do remetente
(produtor). Isto requer o remetente esteja altamente disponível
para a recuperação de informação.
A potencialidade da confiabilidade pode variar dependendo
da tecnologia do interoperability usada. Para o exemplo, se uma
ponte de IIOP for usada, a ponte necessita assegurar a conexão do
Java EE ou a aplicação do NET deve ser de confiança. Deve
poder persistir todos os pedidos do serviço ou os dados de negócio
para resend e registram também todas as atividades para a revisão do
exame. Se um serviço Sabão-baseado da correia fotorreceptora
for usado, o messaging de confiança pode ser conseguido leveraging
tecnologias emergentes, tais como a barra-ônibus do serviço da
empresa, ou pela execução usando a W-Confiabilidade porque toda a
falha da entrega re-sent pelo infrastructure do messaging.
Essencialmente, a confiabilidade para aplicações
interoperable do NET de Java EE espera-se em camadas diferentes ou em
tiers na arquitetura da aplicação, que inclui o seguinte:
-
A camada de transporte subjacente do mecanismo ou dos
dados de uma comunicação para aplicações de Java e de NET
necessita ser de confiança.
-
Quando um remetente troca alguns dados de negócio com um
receptor, os índices dos dados de negócio devem confiantemente ser
transferidos. Para o exemplo, se os dados de negócio contiverem
um tipo de dados de uma quantidade científica grande (para o exemplo,
23.1234567891 x 10-49) ou um tipo de dados complexo (para o exemplo,
um objeto feito sob encomenda dos dados do cliente de cliente), o
receptor deve recebê-los verbatim sem nenhum tipo de dados conversão
ou erros codificando de XML entre Java e aplicações do NET.
-
Deve haver uma potencialidade do reconhecimento do recibo
para o Java EE ou aplicações do NET. Um dos critérios comuns
do projeto deve permitir o intervalo de parada na mensagem ou no
reconhecimento da entrega de evitar as aplicações que esperam um
período de tempo prolongado.
-
Todo o erro ou exceção jogado devem confiantemente ser
refletidos na outra extremidade. Para o exemplo, se a
aplicação recipient jogar uma exceção runtime (para o exemplo, a
exceção de SOAPFault), o remetente deve poder travar confiantemente
a exceção para a manipulação de erro apropriada, em vez de
rejeitar ou de ignorar os erros.
-
Deve haver um mecanismo registrando em ambos os fins do
Java e das aplicações do NET para a fuga de exame e para a
conformidade que relata a finalidade.
-
A entrega garantida não é a única característica da
confiabilidade. Uma vez que-e-somente-uma vez que (sabido
também como o idempotence) a exigência pode também se aplicar às
exigências de QoS, significando que a mensagem pode somente ser
entregada uma vez a seu destino.
-
Se uma mensagem consistir em multi-peças, as partes
individuais da mensagem podem ter que ser entregado na ordem
apropriada. Alternativamente, deve haver uma lógica do
aggregation disponível na extremidade de recepção.
-
O roteamento de mensagem através de Java heterogêneo EE,
NET, e aplicações do legacy necessita frequentemente ser acompanhado
pelo orchestration do fluxo do negócio. Uma solução da
barra-ônibus do serviço da empresa pode ser desdobrada para
dirigir-se a scenarios complexos de B2B.
-
O messaging de confiança, nos casos tais como
transferência de dados financeira, requer também um nível elevado
da segurança. Conseqüentemente, é importante executar uma
verificação detalhada de QoS para assegurar-se de que sua
arquitetura se dirija adequadamente a exigências individuais de QoS.
Disponibilidade
A disponibilidade para aplicações interoperable
do NET de Java EE requer que o infrastructure subjacente da
aplicação (tal como o sistema se operando e o recipiente do usuário
da aplicação) seja em linha para serviços (isto é, disponível)
toda a hora. A disponibilidade de aplicações ou de serviços
de negócio pode ser medida na porcentagem sobre um período de tempo
(para o exemplo, os 99.99 por cento disponíveis durante 365 dias da
operação), ou em statistics do downtime (para o exemplo, um downtime
de 53 minutos durante todo o ano 365-day). As aplicações e os
serviços de negócio podem geralmente conseguir a disponibilidade
elevada aglomerando o Java EE ou recipientes do usuário da
aplicação do NET e permitindo o failover da sessão de uma
aplicação de falha.
Conseguir a disponibilidade elevada para aplicações
interoperable do NET de Java EE é complexa. Requer
-
A deteção do status da disponibilidade lá é um
mecanismo a detectar acima ou olhar se o receptor do alvo (Java EE ou
aplicação do NET) é em linha ou não.
-
O persistence os dados do pedido ou de negócio do
serviço pode ser persistido para resend mais tarde depois que o
receptor do alvo recomeça operações da falha do serviço.
-
A disponibilidade end-to-end para aplicações
interoperable distribuídas de Java e de NET, disponibilidade
significa que as aplicações de Java e de NET devem estar em linha e
disponíveis para o serviço simultaneamente. Se um ou outro
lado for fora de linha ou unavailable, o outro lateral necessita fazer
exame de rotinas da manipulação de exceção tais como persistir o
pedido do serviço para mais tarde resend.
-
A disponibilidade uptime para aplicações interoperable
do NET de Java EE conta o uptime para ambos os fins das aplicações.
Não é a porcentagem média da disponibilidade de usuários da
aplicação de Java e de NET. Para o exemplo, se o remetente que
funciona aplicações de Java EE tiver 99.99 por cento disponível, e
a aplicação running recipient do NET é 99.91 por cento disponível,
não se pode simplesmente supor que a disponibilidade para
aplicações interoperable do NET de Java EE é 99.99 por cento ou os
99.95 por cento médio.
-
O middleware a disponibilidade para aplicações
interoperable de Java e de NET usando uma barra-ônibus do serviço da
ponte ou da empresa de IIOP será altamente dependente da
disponibilidade da tecnologia do middleware. Assim é crítico
assegurar-se de que a ponte esteja altamente disponível e tenha a
recuperação ou as características self-healing para suportar a
disponibilidade elevada. Algumas tecnologias do middleware da
ponte ou da barra-ônibus usam aglomerar-se do software, tolerância
de falha, ou recuperação da aplicação para assegurar a
disponibilidade.
Scalability e desempenho
Java individual EE ou as aplicações do NET
geralmente podem ser ajustados para o scalability e o desempenho
melhores. Entretanto, uma aplicação interoperable do NET de
Java EE depende do projeto do scalability e do desempenho de um Java
e de uma aplicação do NET. O mesmos projeto do scalability e
estratégia do realce do desempenho não trabalham necessariamente
para ambas as plataformas.
As aplicações interoperable do NET de Scalable Java EE
podem segurar um volume grande de pedidos do serviço e de
transações de negócio ou podem gerar um throughput mais elevado da
transação. Um scenario ideal do scalability para uma
aplicação interoperable do NET de Java EE é que o desempenho deve
poder escalar linear. Para o exemplo, há uma solução
existente do interoperability usando a aproximação dos serviços da
correia fotorreceptora. Se a memória física extra for
adicionada (a palavra, 2GB da memória) ou a ferragem é promovida
(talvez ao processador 3GHz do processador 2GHz) aos usuários
existentes da aplicação de Java e de NET, devem poder escalar
simultaneamente até mensagens adicionais do SABÃO do punho (taxa
processando adicional de transação de talvez 20 por cento).
Na realidade, há uns fatores diferentes do scalability e
do desempenho para a solução do interoperability do NET de Java EE.
Estes incluem:
-
O fator da memória a aplicação do interoperability do
NET de Java EE deve poder optimize o desempenho leveraging a memória
física disponível. O NET e muitos usuários da aplicação de
Java podem hoje beneficiar-se da memória física com ajuste
apropriado dos parâmetros da configuração. Os arquitetos e os
colaboradores podem querer ver se a estratégia do interoperability
tem qualquer projeto do esconderijo para o desempenho melhor do
sistema.
-
As aplicações do interoperability do fator do
processador central que requerem recursos computando intensos devem
poder leverage o poder high-end do processador central para o
scalability linear. Para o exemplo, o encryption e o decryption
da mensagem (tal como o encryption de XML) requerem o poder
processando elevado do processador central. Se a aplicação do
interoperability usar uma barra-ônibus do serviço da ponte ou da
empresa de IIOP com encryption e decryption de XML, um processador
high-end do processador central ajudará melhorar o desempenho do
sistema.
-
O fator da relação (ou o I/O) algumas soluções do
interoperability pode usar uma base de dados relacional ou do objeto
persistir todos os requesters do serviço. Em tal caso, a
aplicação do interoperability deve poder leverage a tecnologia
subjacente da base de dados para escalar acima de ou para realçar o
desempenho do input/output, em vez de criar sua própria execução do
scalability.
-
Multi-Enfiando o fator o Java EE ou a aplicação
interoperable do NET devem poder incorporar multi-enfiar a
sustentação em seu projeto de modo que possa se usar multi-enfíe
para processar um volume grande de pedidos do serviço. Não
todo o projeto da aplicação suporta multi-enfiar pelo defeito,
porque o projeto da aplicação necessita segurar edições da
sincronização. Um exemplo é aquele que usa a estratégia
assíncrona do messaging para o interoperability do NET de Java EE
permite que as linhas múltiplas da aplicação processem mais pedidos
do serviço.
-
O fator distribuído da arquitetura o projeto da
aplicação do interoperability necessita suportar exemplos múltiplos
na mesma máquina ou através das máquinas diferentes. Este
projeto distribuído da arquitetura permite exemplos múltiplos da
aplicação do interoperability ao funcionamento simultaneamente e
pode escalar acima horizontalmente para segurar simultaneamente um
volume grande de pedidos do serviço. O exemplo, a estratégia
assíncrona da mensagem que usa a barra-ônibus do serviço da empresa
pode permitir exemplos múltiplos da aplicação do interoperability
ao funcionamento porque os pedidos do serviço encapsulated nas
mensagens e pode ser processada por subscritores múltiplos
(fornecedores de serviço).
Manageability
O manageability consulta a uma qualidade do
atributo de serviço que uma aplicação ou um serviço podem
instrumented, monitorado, e recuperado se funcionar em uma exceção.
Porque as aplicações de Java podem suportar JMX (extensão
APIs da gerência de Java) mas as aplicações do NET não , o
manageability para que as necessidades interoperable das aplicações
do NET de Java EE confiem em uma medida comum e tecnologia do
manageability (para o exemplo, proxy da gerência) ou padrão (para o
exemplo, a W-Gerência). A estratégia do interoperability
usando a barra-ônibus do serviço da ponte e da empresa de IIOP pode
jogar um papel importante em fornecer o manageability porque podem
capturar a informação da gerência de sistema da aplicação
centralmente. Há algumas exigências importantes do
manageability que a solução do interoperability deve suportar:
-
A visibilidade as aplicações interoperable do NET de
Java EE deve poder expo seus estados da operação (para o exemplo,
ativo ou o erro) ou informação da gerência (para o exemplo, a
utilização do processador central) para a instrumentação e a
monitoração do sistema. Lá deve monitorar a potencialidade na
estratégia do interoperability para o status em linha ou para o
relatório do serviço.
-
A deteção dos problemas a solução do interoperability
deve poder detectar se houver alguma falha do problema ou de sistema
do serviço nas aplicações de Java e de NET. Isto pode reque
a solução do interoperability poll o status de sistema ou a
aplicação próprio para emitir periòdicamente o heart-beat do
sistema. Para o exemplo, algumas soluções do interoperability
da barra-ônibus do serviço da empresa suportam JMX e podem relatar
todos os problemas do serviço do Java EE ou da aplicação do NET ao
usuário da gerência (usuário funcionando de MBean).
-
A remediação a potencialidade para recuperar o sistema
de falha ou para executar ações corretivas da gerência é muito
crucial a controlar aplicações interoperable do NET de Java EE.
-
O adaptability a solução da gerência deve ser
fàcilmente extendible às aplicações adicionais da empresa não
obstante seu origens, Java EE, NET, ou legacy. Adicionalmente, o
manageability deve ser controlado dependendo do ambiente, do
desenvolvimento, da garantia de qualidade, da plataforma, e da
produção. Determinada aplicação permitindo ou incapacitando
ou registrar system-level devem ser executadas fora da aplicação
real, isto é, nas limas da configuração ou no console centralizado
da gerência.
-
A eficácia lá deve ser um contrapeso entre registrar e
traçado do estado da aplicação e o desempenho do sistema total.
-
A informação registrando registrando fornece a entrada
básica a controlar os pontos da integração entre uma solução do
interoperate do NET de Java EE. A solução deve poder coletar
a informação registrando de Java individual EE e de componentes do
serviço do NET, assim como dos pontos da integração (tais como a
ponte) e do correlate para a gerência de aplicação da solução
interoperable.
este é um artigo adicionado por Blerick Tawman