Gabriel Fazito - Gabriela Flávia - Nathália Vieira - Sávio Cicco - Vinícius Cotta.
A Method for Service Identification from Business Process Models in a SOA Approach Leonardo Azevedo...
-
Upload
shana-collins -
Category
Documents
-
view
216 -
download
0
Transcript of A Method for Service Identification from Business Process Models in a SOA Approach Leonardo Azevedo...
A Method for Service Identification from Business Process Models in a
SOA Approach
Leonardo Azevedo1,2, Flávia Santoro1,2, Fernanda Baião1,2,
Jairo Souza1, Kate Revoredo1, Vinícios Pereira1, Isolda Herlain3
1NP2Tec – Research and Practice Group in Information Technology2Departament of Applied Informatics, Federal University of the State of Rio de
Janeiro3Petrobras – Petróleo Brasileiro S/A
OverviewMotivationRelated workGoal of the proposalBPMCandidate servicesOur proposalConclusion/Future work
MotivationSOA – Service Oriented Architecture
More flexibleSupports platform- and protocol-independent
services in a distributed environmentService
a piece of self-contained business functionality exposed interfacesinvoked through messagesConcentrate on the business value of an
interfaceBridge the business/IT gap
Motivation: Service life-cycle
Life-cycle model of traditional software engineering may not be directly applied in a SOA approachNew architectural roles and development tasks
Examples of challengesServices and business requirements alignmentSecurity constraintsService versioning to accommodate business
changesThe need for service development approach is
well recognizedConsensus: services must be aligned to business
processes
Related workSome proposals for service identification from
business process models: [Arsanjani, 2004; Erl 2005; Papazoglou and
Heuvel, 2006; Marks and Bell 2006; McBride, 2007; Gu and Lago, 2007; Josuttis, 2007; Klose et al, 2007; Fareghzadeh, 2008; Jamshidi et al. 2008]
However, proposalsDo not present a step-by-step approachOr present principles or guidelines that are very
difficult to followOr suggest business process modeled in a
detailed level that is difficult to accomplish
There has to be an integrated view of the organizational business processesThere is a common process repository
Processes are linked to each other through interfacesProcesses share global elements
clusters (input/output data), business rules, business requirements
Our premisse
Our goal
Candidate service identification from business process models.
Candidate service Service abstraction (not implemented) which,
during the design phase of a service life-cycle model, could be chosen to be implemented as a physical service or as an application function.
[Erl 2005]
Integrates several views about business domainProcess of work (how?)Concepts of domain (What?)... Quality Questions 5W1H
Set of models
Business Modeling
Process Activity
How?
Where?Localization
Event
When?
Business rule
Goal
Objective
External factors
Why?
Role
Department
Who?
SystemProduct
External data
What?
The most important elements for our work
“Statements about constraints that organization's business process must satisfy” [Guide Business Rule Project 2008].
Business rules
Sondainstalada
Serviço desondagemconcluído
Poço prontopara sertestado
Grupo deexecução de
intervenção empoços
Testar eficiênciavolumétrica
Elaborarplanejamento
diário
UN-RNCE/ATP-ARG/IP
Empresa deintervenção em
poços
Prover auxílio aogrupo de
execução daintervenção
Realizarintervenção
diária
Gerar boletimdiário deoperação
Necessidade deauxílio técnico
Avaliar auxíliosolicitado naintervenção
Necessidade deauxílio da gerência
de Reservatório
Prover auxílio àmesa de
operações
Capacidade deprover auxílio
Solicitar auxílioà mesa deoperações
Solicitar auxílioà gerência deEngenharia de
Poços
Sem necessidadede auxílio técnico
Imprimir boletimdiário deoperação
Enviar boletimdiário deoperação
Prepararintervenção demanutenção
Finalizarintervenção
Prepararintervenção decompletação
Poçonecessitado
de maisintervenção
Resultado deteste
insatisfatório
UN-RNCE/ST/EP
Define dependencies among activities.Make business process flow explicit.
Define specific rules that apply to a process activity
Activity details
Supplysensor
information
Previous dayproduction ofmeasurment
node
Tank stockof
measurmentnode
PI
Previous dayproduction ofmeasurment
node
Tank stockof
measurmentnode
Stocks ofnon-automatic
tanks
Get tank stocks ofmeasurement node
Measurement nodenet production of
previus day
Supply tankstock
information
Supplymeasurment
node netproduction
A business requirement specifies a function executed by system or by a user using a system.
Usually, they are identified during process analysis in order to improve the process.
Supplysensor
information
Previous dayproduction ofmeasurment
node
Tank stockof
measurmentnode
PI
Previous dayproduction ofmeasurment
node
Tank stockof
measurmentnode
Stocks ofnon-automatic
tanks
Get tank stocks ofmeasurement node
Measurement nodenet production of
previus day
Supply tankstock
information
Supplymeasurment
node netproduction
Business requirement
Business requirement
System where the requirement is implemented.
Types of candidate services
Candidate data service
Database
CRUDoperations
Candidate business service
Business rule operations.
Eventualy can read/write data directly from/to
databases.
Candidate utility service
Service whose operations can be used in different contexts, adjusting some of its parameters.
Services Identification Method
Candidate services
Business
Data
Utility
Reuse
XX
XX
XX
Cohesion
XX
XX
XX
...
XX
XX
XXCandidate business service
Candidate data
service
Candidate business service
Candidate data service
Candidateutility
service
2. Identif ication and Classif ication of Candidate
Services
3. Consolidation of Candidate Services
Output
Steps
Automatic activities
Automatable activities
Partially supported by
systems
SYS
1. Selection of Activities
Carries out & Supports
Org
aniz
atio
na...
Org
aniz
ati.
...
MCCP
Registrarprodução das
UPGNs
Produçãodas
concessões...
Registrarprodução das
correntes
Produçãodas
correntes,UPGN'...
Verificarregistros de
produçãonecessários
Produçãodiária
disponível
Produçãodas
UPGNsregistrada
Produçãodiária dasU-Fluidosdisponível
Produçãodas U-Fluidos
registrada
Controlador daprodução
Produçãodas
correntesdisponível
Verificarprodução de
C5+ a consumir
Produção deC5+
identificada
Produção deC5+ não
identificada
Produçãodas
correntesregistrada
Verificarprodução de
óleo a consumir
Produção deóleo não
identificada
Produção deóleo
identificada
Registrarconsumo das
correntes
Registrarconsumo das
UPGNs
Realizarfechamentomensal d...
Registrarconsumo das
U-Fluidos
Registrarprodução das
U-Fluidos
Consumodas
UPGNsregistrado
Consumodas U-Fluidos
registrado
Consumodas
correntesregistrado
RequisitosexistentesRequisitosexistentes
Existing requirements
RequisitosexistentesRequisitosexistentesRequirements
of demand
Models
Serviços candidatos
qualificados
Negócio
Dados
Utilitário
Reuso
XX
XX
XX
Coesão
XX
XX
XX
...
XX
XX
XX
Serviço candidato
qualificado de negócio
Serviço candidato
qualificado de dados
Serviço candidato
qualificado utilitário
RequisitosexistentesRequisitosexistentesRequisitosexistentes
RequisitosexistentesRequisitosexistentesRequisitosdemanda
A
B C D E F
Consolidação deserviços
candidatos
Serviços candidatos
qualificados
Negócio
Dados
Utilitário
Reuso
XX
XX
XX
Coesão
XX
XX
XX
...
XX
XX
XX
Serviço candidato
qualificado de negócio
Serviço candidato
qualificado de dados
Serviço candidato
qualificado utilitário
RequisitosexistentesRequisitosexistentesRequisitosexistentes
RequisitosexistentesRequisitosexistentesRequisitosdemanda
Proporção dos serviços de acordo com sua classificação
58%30%
2%
1%
8%
1%
Heurística1
Heurística2
Heurística3
Heurística4
Heurística5
Heurística6
Consolidação deserviços
candidatos
1. Selection of activities
TO-BE models of demand
Carries out & Supports Carries out & Supports Carries out & Supports Carries out & Supports Carries out & Supports Carries out & Supports Carries out & Supports Carries out & Supports Carries out & Supports Carries out & Supports Other
Org
aniz
atio
na...
.
Diariamente
SYS
Fornecer dados deautomação do
campo
PISOLAR-
DIAGNOSTICO
Dados deprodução eestoque dos
nós de mediçãoarmazenados
Analisar condiçãode produção do nó
de mediçãoNecessidade dediagnóstico da
produção do diaidentificada
Obter dados daprodução líquida
acumulada do diados nós de... SYS
Calcular produçãolíquida projetada
para o dia dos nósde medição
OP
Carries out & Supports Carries out & Supports Carries out & Supports Carries out & Supports Carries out & Supports Carries out & Supports Carries out & Supports Other
Org
aniz
atio
nal e
lem
ents
& A
ppl..
..
OP
SYS
Verificar condiçãode produção do nó
de medição
Variação depotencial no nó
de mediçãoidentificada
SOLAR-DIAGNOSTICO
UN-RNCE/ATP-ARG/PRGC
UN-RNCE/ENGP/MC
CP
SYS
Verificar estoquedos tanques
SYS
Verificar variaçõesde potencial do nó
de medição
Analisarinformações sobre
estoque dostanques
Analisar variaçõesde potencial do nó
de medição
Perda deprodução
identificada
Analisar perda deprodução do nó de
medição
Problemassolucionados
Problemas nãosolucionados
Realizar açõespara solução da
causa da variaçãodo nó de medição
Justificar variaçãoda produção do nó
de medição
SYS
Identificar poçosque entraram em
produção do nó demedição
Analisar poçosque entraram em
produção no nó demedição
Poços queentraram em
produçãoidentificados
SYS
Verificar perda deprodução
Visualizardiagnostico da
produção
Visualizardiagnostico da
produção
Dados deprodução eestoque dos
nós de mediçãoarmazenados
Perda deprodução nãoidentificada
Variação depotencial no nóde medição não
identificada
Problema noestoque dostanques nãoidentificado
Poços queentraram emprodução nãoidentificados
Perda deprodução
identificada
Perda deprodução nãoidentificada
Problema noestoque dos
tanquesidentificado
Problema noestoque dostanques nãoidentificado
Variação depotencial no nó
de mediçãoidentificada
Variação depotencial no nóde medição não
identificada
Poços queentraram em
produçãoidentificados
Poços queentraram emprodução nãoidentificados
Problema naprodução
identificado
Problema naprodução nãoidentificado
Problema naprodução
identificado
Problema naprodução nãoidentificado
Problema noestoque dos
tanquesidentificado
Variação depotencial no nó
de mediçãoidentificada
Perda deprodução
identificada
Poços queentraram em
produçãoidentificados
SYS
Consultarproduções
anteriores do nó demedição
Variações daprodução
calculadas
Enviarinformações deautomação do
campo
Problema noestoque dos
tanquesidentificado
Visualizar resumodo diagnostico da
produçãoVisualizar resumodo diagnostico da
produção
Visualizar resumodo diagnostico da
produção
Necessidade devisualizar
diagnóstico emmaioresdetalhes
Problema naprodução nãoidentificado
Necessidade devisualizar
diagnóstico emmaioresdetalhes
Problema naprodução nãoidentificado
Carries out & Supports Carries out & Supports Carries out & Supports Carries out & Supports Carries out & Supports Carries out & Supports Carries out & Supports Other
Org
aniz
atio
nal e
lem
ents
& A
ppl..
..
Analisarinformações sobre
estoque dostanques
Analisar variaçõesde potencial do nó
de medição
Analisar perda deprodução do nó de
medição
Problemassolucionados
Problemas nãosolucionados
Realizar açõespara solução da
causa da variaçãodo nó de medição
Justificar variaçãoda produção do nó
de medição
Analisar poçosque entraram em
produção no nó demedição
Visualizardiagnostico da
produção
Visualizardiagnostico da
produção
Perda deprodução
identificada
Perda deprodução nãoidentificada
Problema noestoque dos
tanquesidentificado
Problema noestoque dostanques nãoidentificado
Variação depotencial no nó
de mediçãoidentificada
Variação depotencial no nóde medição não
identificada
Poços queentraram em
produçãoidentificados
Poços queentraram emprodução nãoidentificados
Problema naprodução
identificado
Problema naprodução nãoidentificado
Problema naprodução
identificado
Problema naprodução nãoidentificado
Problema noestoque dos
tanquesidentificado
Variação depotencial no nó
de mediçãoidentificada
Perda deprodução
identificada
Poços queentraram em
produçãoidentificados
Visualizar resumodo diagnostico da
produçãoVisualizar resumodo diagnostico da
produção
Visualizar resumodo diagnostico da
produção
Necessidade devisualizar
diagnóstico emmaioresdetalhes
Problema naprodução nãoidentificado
Necessidade devisualizar
diagnóstico emmaioresdetalhes
Problema naprodução nãoidentificado
Selection of activities
AutomaticSys
Automatable
Partially Supported by
systems
2. Identification and Classification of Candidate Services
Scenario: evaluate several possible solutionsProposal: use heuristics methods (successive
analysis to produce a solution)Syntactic and semantic analysis of the process
model
AutomaticSys
Automatable
Partially Supported by
systems
Candidate business service
Candidate data service
Workflow patterns
(structure) Liberar ordens deprodução
planejadas
Programador daprodução
SAP-PPMCCP
COHVOMPP
Ordem deprodução
Ordem deprodução
Ordem de produção
Liberação de ordensde produção
Activities
(semantics)
Identification and classification of candidate services
Service identificationServices can be identified from:
Process flowsWorkflow pattern
Recurrent flows of activities existing in different processes
Activities:Input and output dataBusiness ruleBusiness requirement
X
Supplysensor
information
Previous dayproduction ofmeasurment
node
Tank stockof
measurmentnode
PI
Previous dayproduction ofmeasurment
node
Tank stockof
measurmentnode
Stocks ofnon-automatic
tanks
Get tank stocks ofmeasurement node
Measurement nodenet production of
previus day
Supply tankstock
information
Supplymeasurment
node netproduction
Heuristics for candidate service identification
Heuristic 1 (Business Rule)Heuristic 2 (Business Requirement)Heuristic 3 (Cluster)Heuristics for service identification from
workflow patterns Heuristic 4 (Sequence of Activities)Heuristic 5 (AND)Heuristic 6 (XOR)Heuristic 7 (OR)Heuristic 8 (Loop)Heuristic 9 (Process Interface)Heuristic 10 (Multi-Instance Activity)
(Van der Aalst et al., 2003)
Heuristic 1 (Business Rule)
A candidate service must be identified from a business rulebusiness rule.A candidate service must be identified from a business rulebusiness rule.Candidate service
Name Calculate measurement node production of Estreito
Type Candidate business service
Input Measurement node
Output Production of Estreito measurement node
Source Business rule “Production calculus of Estreito measurement node”
Activity Supply sensor information
Description Production of Estreito measurement node to be analyzed = Production of measurement node of Estreito B – Production of fiscal measurement node of Angico – Production of fiscal measurement node A – Production of fiscal measurement node B.
Supplysensor
information
Previous dayproduction ofmeasurment
node
Tank stockof
measurmentnode
PI
Previous dayproduction ofmeasurment
node
Tank stockof
measurmentnode
Stocks ofnon-automatic
tanks
Get tank stocks ofmeasurement node
Measurement nodenet production of
previus day
Supply tankstock
information
Supplymeasurment
node netproduction
Name Description
Production calculus of Estreito measurement node
Production of Estreito measurement node to be analyzed = Production of measurement node of Estreito B – Production of fiscal measurement node of Angico – Production of fiscal measurement node A – Production of fiscal measurement node B.
Production calculus of Estreito measu…
Get tank stocks of measurement node
Stocks of non-automatic tanks
Heuristic 2 (Business Requirement)
A candidate service must be identified from a business requirementbusiness requirement.A candidate service must be identified from a business requirementbusiness requirement.Candidate service
Name Query measurement node tank information
Type Candidate data service
Input Measurement node
Output Asset code, measurement node name, oil stock volume in the tank in the end of the day
Source Business requirement “Supply tank stock information ”
Activity Supply sensor information
Description PI system must supply following information about measurement nodes’ tank stocks, accordingly to business rule Get tank stocks of measurement node:- Asset code;- Measurement node name;- Tank oil stock at the end of the day.
Supplysensor
information
Previous dayproduction ofmeasurment
node
Tank stockof
measurmentnode
PI
Previous dayproduction ofmeasurment
node
Tank stockof
measurmentnode
Stocks ofnon-automatic
tanks
Get tank stocks ofmeasurement node
Measurement nodenet production of
previus day
Supply tankstock
information
Supplymeasurment
node netproduction
Name Description
Supply tank stock information
PI system must supply following information about measurement nodes’ tank stocks, accordingly to business rule Get tank stocks of measurement node:- Asset code;- Measurement node name;- Tank oil stock at the end of the day.
Production calculus of Estreito measu…
Get tank stocks of measurement node
Stocks of non-automatic tanks
Heuristic 5 (AND)
A service candidate must be identified from an AND-patternAND-pattern. A service candidate must be identified from an AND-patternAND-pattern.
AND-pattern is a structure started in a point in the workflow where a single flow is divided into multiple streams, which can run in parallel, and finalized at a point in the workflow where multiple parallel streams converge into a single flow, synchronizing them, or where branches end in final event
Getcustomer's
history
Get financialinformation
Get informationfrom stealing
Systemfunction(actual)
Customer's historyobtained
Finantialinformation
obtained
Stealinginformation
obtained
Process
Heuristic 4 (AND)
A service candidate must be identified from an AND-patternAND-pattern. A service candidate must be identified from an AND-patternAND-pattern. Candidate service
Name Get information for customer request evaluation
Type Candidate data service
Input Customer identification
Output Customer’s history; financial information; stealing information
Source Heuristic AND
Activity Get customer’s information; Get financial information; Get information from stealing
Description
3. Consolidation of Candidate Services
Candidate utility service
Consolidation
Principles for high-quality service
implementation, organization’s quality criteria
Candidate services
Business
Data
Utility
Reuse
XX
XX
XX
Cohesion
XX
XX
XX
...
XX
XX
XXCandidate business service
Candidate data
service
Candidate business service
Candidate data service
Candidateutility
service
2. Identif ication and Classif ication of Candidate
Services
3. Consolidation of Candidate Services
Output
Steps
Automatic activities
Automatable activities
Partially supported by
systems
SYS
1. Selection of Activities
RequisitosexistentesRequisitosexistentes
Existing requirements
RequisitosexistentesRequisitosexistentesRequirements
of demand
Models Serviços candidatos
qualificados
Negócio
Dados
Utilitário
Reuso
XX
XX
XX
Coesão
XX
XX
XX
...
XX
XX
XX
Serviço candidato
qualificado de negócio
Serviço candidato
qualificado de dados
Serviço candidato
qualificado utilitário
RequisitosexistentesRequisitosexistentesRequisitosexistentes
RequisitosexistentesRequisitosexistentesRequisitosdemanda
Proporção dos serviços de acordo com sua classificação
58%30%
2%
1%
8%
1%
Heurística1
Heurística2
Heurística3
Heurística4
Heurística5
Heurística6
Consolidação deserviços
candidatos
Candidate business service
Candidate data service
Serviços candidatos
qualificados
Negócio
Dados
Utilitário
Reuso
XX
XX
XX
Coesão
XX
XX
XX
...
XX
XX
XX
Serviço candidato
qualificado de negócio
Serviço candidato
qualificado de dados
Serviço candidato
qualificado utilitário
RequisitosexistentesRequisitosexistentesRequisitosexistentes
RequisitosexistentesRequisitosexistentesRequisitosdemanda
A
B C D E F
Consolidação deserviços
candidatos
Experimental testsThe method was experimented at Petrobras
The largest Oil Company from BrazilBusiness process: Diagnose daily oil
productionImportant process within the Exploration and
Production (E&P) - Upstream areaProcess aims at maximizing company results Real time physical sensor information was used
Part of digital fields projectTO-BE process19 activities, control flows, 90 business rules
and 37 business requirements
Experimental testsStep 1) Activity selection
19 activities were selectedStep 2) Candidate service identification and
classification147 candidate servicesBusiness rule and business requirement
heuristics produced 57% and 30%, respectively
Experimental testsStep 3) Consolidation of Candidate Services
Service Reuse Degree, Link Candidate Service and System, Link Candidate Service and Demand Requirements,
Link Candidate Service and Activities, Identify Candidate Services Dependencies, Candidate Utility Service Identification
No service of this type was identifiedCandidate service Type Reuse Implem. Req.
Demand’s requirements
Calculate measurement node production of type appropriation of Estreito
Business 1 -
Calculate daily predicted net production of measurement node
Business 1 - Calculate daily predicted net production of measurement nodes
Query measurement nodes for production diagnose
Data 1 - Supply measurement node net production information
Activities Candidate service 1 2 3 4 5 6 Calculate difference between daily predicted net production related to previous month
X
Calculate difference between daily predicted net production related to previous days
X
Expert feedbackExpert evaluation of resulting candidate
servicesConsolidated information helped them in service
implementationIdentification of reuse and which services to
orchestrateAlignment of service x business needs
ConclusionSeveral challenges in SOA
Service modeling, design, monitoring and managementOur proposal
Top-down approach: Services identification from business process models
Set of heuristicsSemantic and syntactic analysis of process elements
Systematic approachInput: Business process model (TO-BE)Output: candidate services (classified, described, and consolidated)
Conclusion
This information helps service designer to better design and plan service implementation
Explicit link between business process constructs and service descriptions can be made
Tracking changes from business models that impact IT,
Easier to find which services must be changed for time-to-market.
Ongoing and future work
OngoingDevelopment of supporting tool
ARIS (IDS-Scheer tool)
Study of heuristics and tool support for next phases (analysis, design, implementation, deployment and maintenance)
New criteria (performance, service composition, granularity in terms of hardware, bandwidth etc)
Future workExperimental tests in other domains
A Method for Service Identification from Business Process Models in a
SOA Approach
Thank you! Questions
Leonardo Azevedo1,2, Flávia Santoro1,2, Fernanda Baião1,2,
Jairo Souza1, Kate Revoredo1, Vinícios Pereira1, Isolda Herlain3
1NP2Tec – Research and Practice Group in Information Technology2Departament of Applied Informatics, Federal University of the State of Rio de
Janeiro3Petrobras – Petróleo Brasileiro S/A
??