A abordagem StrAli–BAM prop˜oe uma infraestrutura para execu¸c˜ao monitor´avel baseada em eventos, conforme Se¸c˜ao 4.4. Nessa diretriz, ´e apresentado na figura 26 a
Quadro 9 – BLA de “Confiabilidade” de 80%
Atributo Descri¸c˜ao
Atributo Informa¸c˜oes Gerais [BLA]
Nome BLA de “Confiabilidade” de 80%
Data de in´ıcio 29/03/18
Data de t´ermino 30/03/20
Contexto corporativo Em 2019, a organiza¸c˜ao tem como foco monitorar a seguran¸ca de alguns processos de neg´ocio Organiza¸c˜ao propriet´aria Provedor de Empr´estimos
Departamento propriet´ario Gest˜ao de neg´ocio Organiza¸c˜ao fornecedora Servi¸cos
Departamento fornecedor Departamento de tecnologia Meta
KPI Confiabilidade
Operador de compara¸c˜ao ≥
Valor alvo 80
Unidade %
Verifica¸c˜ao no t´ermino do BLA Falso
Limite de execu¸c˜ao 20 Multa 1 Moeda R$ Valor da compensa¸c˜ao 10.000 Operador de compara¸c˜ao < Valor limiar 70 N´ıvel 1 Multa 2 Moeda R$ Valor da compensa¸c˜ao 20.000 Operador de compara¸c˜ao < Valor limiar 65 N´ıvel 2 Bonifica¸c˜ao 1 Moeda R$ Valor da compensa¸c˜ao 10.000 Operador de compara¸c˜ao ≥ Valor limiar 85 N´ıvel 1 Bonifica¸c˜ao 2 Moeda R$ Valor da compensa¸c˜ao 15.000 Operador de compara¸c˜ao ≥ Valor limiar 90 N´ıvel 2 Bonifica¸c˜ao 3 Moeda R$ Valor da compensa¸c˜ao 20.000 Operador de compara¸c˜ao ≥ Valor limiar 95 N´ıvel 3
implementa¸c˜ao da abordagem proposta que ´e separada em trˆes partes principais: Servi¸cos Expostos, Componentes e Referˆencias Externas.
1. Servi¸cos Expostos: Representa os servi¸cos que ser˜ao expostos para acesso ex- terno. Nesse cen´ario, ´e exposto servi¸co loanprovider client para acesso ao BPEL, respons´avel pela execu¸c˜ao do processo de “Provedor de Empr´estimos”.
2. Componentes: Representa os componentes principais da infraestrutura utilizada na solu¸c˜ao. Nesse cen´ario, o componente Oracle BPEL 12c LoanProvider e Oracle Mediator Mediator.
• LoanProvider: Nesse componente, ser´a executado o processo de neg´ocio de “Provedor de Empr´estimos” modelado anteriormente. Este componente ´e respons´avel pela orquestra¸c˜ao dos servi¸cos, que ser˜ao disponibilizados nas Referˆencias Externas e envio de eventos ao Oracle Mediator por meio do SLOEvent.
• Mediator: Nesse componente s˜ao recebidos os eventos SLOEvent enviados durante a execu¸c˜ao do Oracle BPEL 12c. O mesmo, captura estes eventos e envia ao componente de infraestrutura de processamento a exibi¸c˜ao de indicadores da abordagem StrAli–BAM (conforme apresentado na Se¸c˜ao 4.3), por meio do servi¸co postSLO.
3. Referˆencias Externas: Representa os servi¸cos externos utilizados na execu¸c˜ao do processo. Estes servi¸cos cont´em as defini¸c˜oes das opera¸c˜oes de contratos WSDLs. O servi¸co StrAliBAM Process: possui a opera¸c˜ao postSLO para acesso ao compo- nente de infraestrutura de processamento e exibi¸c˜ao de indicadores da abordagem StrAli–BAM. Os demais, s˜ao os servi¸cos para execu¸c˜ao do processo de neg´ocio.
No momento de convers˜ao do modelo do processo em implementa¸c˜ao, nem sempre a mesma atividade de neg´ocio torna–se um servi¸co, em alguns casos, pode ser que uma atividade pode se converter em dois ou mais servi¸cos ou at´e mesmo o contr´ario, duas ou mais atividades tornam–se apenas um servi¸co. No quadro 10, ´e exposto o mapeamento das atividades BPMN, relacionadas `as atividades BPEL, os servi¸cos web e disposi¸c˜ao dos servi¸cos web em seus respectivos servidores web.
A implementa¸c˜ao no Oracle BPEL 12c ´e demostrado na figura 27 e 28. Os servi¸cos externos s˜ao acessados usando os componentes Invoke com referˆencia aos mesmos, e
Figura 26 – Implementa¸c˜ao SOA baseada em eventos
Quadro 10 – Mapeamento atividades BPMN com os servi¸cos web e distribui¸c˜ao nos servidores de aplica¸c˜ao web
Atividade BPMN Servi¸cos WEB Servidores
Verificar integralidade do formul´ario do candidato
CheckApplicationService AWS Amazon Verificar hist´orico de cr´edito CheckCredHistService AWS Amazon Avaliar risco de empr´estimo AssessLoanRiskService AWS Amazon RegisterLoanRiskService AWS Amazon
Avaliar im´oveis AppraisePropertyService AWS Amazon
Avaliar elegibilidade AssessEligibilitiService Heroku RegisterEligibilityService Heroku Preparar pacote de aceita¸c˜ao PrepareAcceptancePackService Heroku Enviar pacote de aceite SendAcceptancePackService Heroku
Rejeitar candidato RejectApplicantionService Heroku
Fonte: Evando Souza Borges, 2019
para os servi¸cos que s˜ao marcados para monitoramento, ´e usado o componente Invoke acionado por eventos, que s˜ao capturados pelo Oracle Mediator. Conforme apresentado na figura 27, o componente Invoke AppraiseProperty faz uma requisi¸c˜ao ao servi¸co web AppraisePropertyService, o mesmo retorna com os dados do servi¸co juntamente com os valores do SLO. Esses valores s˜ao recebidos por meio do componente Assign AssignAP e atribu´ıdos ao componente Invoke EventAP que envia os valores do SLO ao Oracle Mediator, respons´avel por enviar os dados de monitoramento a infraestrutura de processamento e exibi¸c˜ao de indicadores da abordagem StrAli–BAM – as implementa¸c˜oes SOA est˜ao no apˆendice D.
Assim como os BLAs foram definidos para as atividades de neg´ocio, os SLAs s˜ao relacionados para os servi¸cos web. Utilizando a abordagem StrAli–BPM os BLAs s˜ao mapeados aos seus respectivos SLAs e os mesmos s˜ao relacionados aos servi¸cos web, com o objetivo de obter valores espec´ıficos dos requisitos n˜ao funcionais, conforme quadro 11. Da mesma forma que os BLAs s˜ao representados com seus respectivos valores de bonifica¸c˜ao e multa, os SLAs foram definidos conforme apresentado nos quadros 15, 16, 17, 18, 19, 20 e 21, do apˆendice A – os scripts de carga dos BLAS e SLAs est˜ao no apˆendice B. Conforme mostrado na figura 24, os servi¸cos web que implementam e simulam as execu¸c˜oes do processo de neg´ocio, foram distribu´ıdos em dois servidores cloud : He- roku e AWS Amazon. As aplica¸c˜oes stralibam-heroku-simulator e stralibam-aws- simulator tˆem seus servi¸cos web expostos utilizando o protocolo de comunica¸c˜ao SOAP e geram valores para a simula¸c˜ao. Para o processamento dos SLAs, foi feita uma abordagem de gera¸c˜ao de dados aleat´oria usando a linguagem Java. A gera¸c˜ao dos dados aleat´orios
Figura 27 – Implementa¸c˜ao da execu¸c˜ao do processo em WS–BPEL – (1ª parte)
Figura 28 – Implementa¸c˜ao da execu¸c˜ao do processo em WS–BPEL – (2ª parte)
Quadro 11 – Mapeamento BLA vs. SLA vs. Servi¸cos web vs. Componente de evento do BPEL
BLA SLA Servi¸cos WEB Componente
de Evento Confiabilidade Disponibilidade AppraisePropertyService EventAP
Disponibilidade CheckCredHistService EventCCH Eficiˆencia de desempenho
Disponibilidade AssessEligibilitiService EventAE Tempo de Res-
posta
AssessEligibilitiService EventAERT Disponibilidade SendAcceptancePackService EventSAP
Seguran¸ca Integridade AssessLoanRiskService EventALR
Controle de Acesso
CheckCredHistService EventCCHC
Fonte: Evando Souza Borges, 2019
considerou que 70% das vezes o retorno seria sucesso, consequentemente 30% falha, para isso, ´e feito um sorteio de um n´umero entre 1 – 10, se retornado um valor entre 1 e 7, a resposta ´e sucesso, em caso de 8 a 10 ´e considerado falha. Cada SLA possui os seus valores que representam sucesso ou falha, no caso do SLA de tempo de resposta, foi pr´e– estabelecido o limite de 10 a 60 segundos para sucesso e de 61 a 120 segundos para falha. Para os demais SLAs, foram pr´e–definidos os valores ‘TRUE’ e ‘FALSE’, aleatoriamente conforme apresentado no quadro 12.
Quadro 12 – SLAs com seus valores de sucesso e falha
SLA Servi¸cos WEB Percentual de su-
cesso ou falha
Valores espera- dos
Disponibilidade AppraisePropertyService 70% sucesso / 30% falha TRUE / FALSE Disponibilidade CheckCredHistService 70% sucesso / 30% falha TRUE / FALSE Disponibilidade AssessEligibilitiService 70% sucesso / 30% falha TRUE / FALSE Tempo de Res-
posta
AssessEligibilitiService 70% sucesso / 30% falha 10 – 120 segundos Disponibilidade SendAcceptancePackService 70% sucesso / 30% falha TRUE / FALSE Integridade AssessLoanRiskService 70% sucesso / 30% falha TRUE / FALSE Controle de
Acesso
CheckCredHistService 70% sucesso / 30% falha TRUE / FALSE
Fonte: Evando Souza Borges, 2019