Cap. 3 - Os Elementos de C++

Download Report

Transcript Cap. 3 - Os Elementos de C++

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
2Departament
– Research and Practice Group in Information Technology
of Applied Informatics, Federal University of the State of Rio de Janeiro
3Petrobras
– Petróleo Brasileiro S/A
Overview
 Motivation
 Related work
 Goal of the proposal
 BPM
 Candidate services
 Our proposal
 Conclusion/Future work
Motivation
 SOA – Service Oriented Architecture
 More flexible
 Supports platform- and protocol-independent services in a
distributed environment
 Service
 a piece of self-contained business functionality
 exposed interfaces
 invoked through messages
 Concentrate on the business value of an interface
 Bridge the business/IT gap
Motivation: Service life-cycle
 Life-cycle model of traditional software engineering may not be
directly applied in a SOA approach
 New architectural roles and development tasks
 Examples of challenges
 Services and business requirements alignment
 Security constraints
 Service versioning to accommodate business changes
 The need for service development approach is well recognized
 Consensus: services must be aligned to business processes
Related work
 Some 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, proposals
 Do not present a step-by-step approach
 Or present principles or guidelines that are very difficult to follow
 Or suggest business process modeled in a detailed level that is
difficult to accomplish
Our premisse
 There has to be an integrated view of the organizational business
processes
 There is a common process repository
 Processes are linked to each other through interfaces
 Processes share global elements
 clusters (input/output data), business rules, business requirements
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]
Business Modeling
 Integrates several views about business domain
 Process of work (how?)
The most important
elements for our work
 Concepts of domain (What?)
 ... Quality Questions 5W1H
 Set of models
Who?
Where?
Localization
When?
How?
Role
Event
Department
Process
Why?
Goal
External factors
Objective
Activity
Product
Business rule
What?
System
External data
Business rules
 “Statements about constraints that organization's business process
must satisfy” [Guide Business Rule Project 2008].
Carries out & Supports
Carries out & Supports
O...
Grupo de
execução de
intervenção em
poços
Carries out & Supports
Empresa de
intervenção em
poços
Carries out & Supports
UN-RNCE/ATPARG/IP
UN-RNCE/ST/E
P
Define dependencies among
activities.
Make business process flow explicit.
.
Preparar
intervenção de
manutenção
Preparar
intervenção de
completação
Sonda
instalada
Elaborar
planejamento
diário
Realizar
intervenção
diária
Necessidade de
auxílio técnico
Sem necessidade
de auxílio técnico
Solicitar auxílio
à mesa de
operações
Avaliar auxílio
solicitado na
intervenção
PI
Capacidade de
prover auxílio
Necessidade de
auxílio da gerência
de Reservatório
Solicitar auxílio
à gerência de
Engenharia de
Poços
Prover auxílio à
mesa de
operações
Prover auxílio ao
grupo de
execução da
intervenção
Gerar boletim
diário de
operação
Previous day
production of
measurment
node
Tank stock
of
measurment
node
Previous day
production of
measurment
node
Supply
sensor
information
Tank stock
of
measurment
node
Imprimir boletim
diário de
operação
Activity details
Enviar boletim
diário de
operação
Poço
necessitado
de mais
intervenção
Poço pronto
para ser
testado
Testar eficiência
volumétrica
Resultado de
teste
insatisfatório
Serviço de
sondagem
concluído
Finalizar
intervenção
Stocks of
non-automatic
tanks
Supply tank
stock
information
Get tank stocks of
measurement node
Measurement node
net production of
previus day
Supply
measurment
node net
production
Define specific rules
that apply to a process
activity
Business requirement
 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.
System where the
PI
Previous day
production of
measurment
node
Tank stock
of
measurment
node
Previous day
production of
measurment
node
requirement is implemented.
Supply
sensor
information
Stocks of
non-automatic
tanks
Tank stock
of
measurment
node
Supply tank
stock
information
Get tank stocks of
measurement node
Measurement node
net production of
previus day
Supply
measurment
node net
production
Business requirement
Types of candidate services
Candidate data service
Candidate business service
Business rule
operations.
CRUD
operations
Eventualy can
read/write data
directly from/to
databases.
Database
Candidate utility service
Service whose operations can be used in
different contexts, adjusting some of its
parameters.
Services Identification Method
Steps
Models
1. Selection of
Activities
Organizati... Organizationa...
Carries out & Supports
MCCP
Controlador da
produção
Verificar
registros de
produção
necessários
Produção
das
concessõe
s...
Produção
das
correntes
disponível
Produção
diária das
U-Fluidos
disponível
Produção
diária
disponível
Registrar
produção das
correntes
Registrar
produção das
U-Fluidos
Registrar
produção das
UPGNs
Produção
das
correntes
registrada
Produção
das UFluidos
registrada
Verificar
produção de
óleo a consumir
Produção de
óleo não
identificada
Produção
das
UPGNs
registrada
Verificar
produção de
C5+ a consumir
Produção de
óleo
identificada
Produção de
C5+
identificada
Registrar
consumo das
U-Fluidos
Produção de
C5+ não
identificada
Registrar
consumo das
UPGNs
Automatic
activities
SYS
Automatable
activities
3. Consolidation of
Candidate
Services
2. Identif ication and
Classif ication of Candidate
Services
Candidate
data
service
Consumo
das
UPGNs
registrado
.
Consumo
das
correntes
registrado
Produção
das
correntes,
UPGN'...
Realizar
fechamento
mensal d...
Partially
supported by
systems
Candidate
services
Candidate
data service
Registrar
consumo das
correntes
Consumo
das UFluidos
registrado
Candidate
utility
service
Candidate
business
service
Output
Reuse Cohesion
...
Business
XX
XX
XX
Data
XX
XX
XX
Utility
XX
A
XX
XX
Candidate
business
service
A
Requisitos
Requisitos
Existing
existentes
existentes
requirements
Serviço
Serviço
Serviço
candidato
candidato
candidato
Serviço
qualificado Serviço
qualificadoServiço
qualificado
candidato
de negóciocandidato
de dadoscandidato
utilitário
qualificado
de negócio
qualificado
de dados
Requisitos
Requisitos
Requirements
existentes
existentes
B
C
D
C
D
of demand
B
E
F
E
F
Proporção dos serviços de acordo com sua classifica
Proporção dos 8%
serviços de acordo com sua classificação
1%
1%
qualificado
utilitário
8%
2%
1%
1%
2%
Requisitos
Requisitos
Requisitos
Requisitos
Requisitos
Requisitos
Requisitos
Requisitos
existentes
existentes
Requisitos
Requisitos
existentes
existentes
Requisitos
Requisitos
existentes
existentes
existentes
existentes demanda
existentes
existentes
demanda
Consolidação de
Consolidação
de
serviços
serviços
candidatos
30%
30%
58%
58%
candidatos
Serviços
Serviços
Reuso Coesão
Coesão ... ...
candidatos
candidatos Reuso
qualificados
qualificados
1. Selection of activities
TO-BE models of
demand
Organizational elements & Appl...
Carries out & Supports
Carries out & Supports
Carries out & Supports
Enviar
informações de
automação do
campo
Dados de
produção e
estoque dos
nós de medição
armazenados
Carries out & Supports
Consultar
produções
anteriores do nó de
medição SYS
Carries out & Supports
Carries out & Supports
Carries out & Supports
Organizationa...
Organizational elements & Appl...
Carries out & Supports
PI
Necessidade de
diagnóstico da
produção do dia
identificada
Obter dados da
produção líquida
acumulada do dia
dos nós de...
Calcular produção
líquida projetada
para o dia dos nós
de mediçãoSYS
Variações da
produção
calculadas
Verificar variações
de potencial do nó
de medição
SYS
SYS
Perda de
produção
identificada
Perda de
produção não
identificada
Variação de
potencial no nó
de medição
identificada
Variação de
potencial no nó
de medição não
identificada
Identificar poços
que entraram em
produção do nó de
medição SYS
Poços que
entraram em
produção
identificados
Poços que
entraram em
produção não
identificados
Carries out & Supports
Other
Carries out & Supports
Carries out & Supports
Carries out & Supports
Carries out & Supports
Carries out & Supports
Other
Automatic
Carries out & Supports
Carries out & Supports
Carries out & Supports
Other
Sys
Dados de
produção e
estoque dos
nós de medição
armazenados
SYS
SYS
Carries out & Supports
Carries out & Supports
SOLARDIAGNOSTICO
Fornecer dados de
automação do
campo
Diariamente
Verificar perda de
produção
Carries out & Supports
OP
Verificar condição
de produção do nó
de medição
Carries out & Supports
Carries out & Supports
Carries out & Supports
UNRNCE/ENGP/MC
CP
UN-RNCE/ATPARG/PRGC
OP
SOLARDIAGNOSTICO
Carries out & Supports
Analisar condição
de produção do nó
de medição
Automatable
Verificar estoque
dos tanques
SYS
Problema no
estoque dos
tanques
identificado
Problema no
estoque dos
tanques não
identificado
Visualizar resumo
do diagnostico da
produção
Visualizar resumo
do diagnostico da
produção
Perda de
produção
identificada
Variação de
potencial no nó
de medição
identificada
Poços que
entraram em
produção
identificados
Problema no
estoque dos
tanques
identificado
Analisar perda de
produção do nó de
medição
Analisar variações
de potencial do nó
de medição
Analisar poços
que entraram em
produção no nó de
medição
Analisar
informações sobre
Variação
de
estoque dos
potencial
no nó
tanques
Perda de
produção
identificada
Perda de
produção não
identificada
Variação de
potencial no nó
de medição
identificada
Perda de
produção
identificada
Variação de
potencial no nó
de medição não
identificada
Analisar
Poços que
entraram em
produção
identificados
perda
de
produção do nó de
medição
Problema no
estoque dos
tanques
identificado
Analisar
Problema no
estoque dos
tanques não
identificado
variações
de potencial do nó
de medição
Necessidade de
visualizar
diagnóstico em
maiores
detalhes
Problema na
produção não
identificado
Visualizar
Poços que
diagnostico da
produção entraram em
Visualizar
diagnostico da
produção
produção
identificados
Problema na
produção
identificado
Selection of
activities
Visualizar resumo
do diagnostico da
produção
Visualizar resumo
do diagnostico da
produção
Necessidade de
visualizar
diagnóstico em
maiores
detalhes
de medição
identificada
Poços que
entraram em
produção não
identificados
Visualizar resumo
do diagnostico da
produção
Problema na
produção não
Analisar poços
identificado
que entraram em
produção no nó de
medição
Problema na
produção
identificado
Visualizar resumo
do diagnostico da
produção
Problema na
produção não
identificado
Problema no
estoque dos
tanques
identificado
Problema na
produção não
Analisar
identificado
informações sobre
estoque dos
tanques
Necessidade de
visualizar
diagnóstico em
maiores
detalhes
Problema na
produção não
identificado
Visualizar
diagnostico da
produção
Necessidade de
visualizar
diagnóstico em
maiores
detalhes
Visualizar
diagnostico da
produção
Justificar variação
da produção do nó
de medição
Perda de
produção
identificada
Perda de
Realizar ações
produção
para
solução da não
causa da variação
identificada
do nó de medição
Problemas
solucionados
Variação de
potencial no nó
de medição
identificada
Variação de
potencial no nó
de medição não
identificada
Poços que
entraram em
produção
identificados
Problemas não
solucionados
Justificar variação
da produção do nó
de medição
Realizar ações
para solução da
Poços que
entraram em
produção não
identificados
Problema no
estoque dos
tanques
identificado
Problema no
estoque dos
tanques não
identificado
Problema na
produção
identificado
Problema na
produção não
identificado
Problema na
produção
identificado
Problema na
produção não
identificado
Problema na
produção não
identificado
Partially Supported by
systems
2. Identification and Classification of
Candidate Services
 Scenario: evaluate several possible solutions
 Proposal: use heuristics methods (successive analysis to produce a
solution)
 Syntactic and semantic analysis of the process model
Automatic
Sys
Automatable
Partially
Supported by
systems
Identification and classification of
candidate services
Workflow patterns
Activities
MCCP
(structure)
Candidate data
service
Programador da
produção
SAP-PP
(semantics)
Ordem de
produção
Ordem de produção
Liberar ordens de
produção
planejadas
Ordem de
produção
COHVOMPP
Liberação de ordens
de produção
Candidate
business service
Service identification
 Services can be identified from:
 Process flows
 Workflow pattern
X
 Recurrent flows of activities existing in different processes
 Activities:
 Input and output data
 Business rule
 Business requirement
PI
Previous day
production of
measurment
node
Tank stock
of
measurment
node
Previous day
production of
measurment
node
Supply
sensor
information
Stocks of
non-automatic
tanks
Tank stock
of
measurment
node
Supply tank
stock
information
Get tank stocks of
measurement node
Measurement node
net production of
previus day
Supply
measurment
node net
production
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 rule.
PI
Previous day
production of
measurment
node
Tank stock
of
measurment
node
Previous day
production of
measurment
node
Supply
sensor
information
Tank stock
of
measurment
node
Stocks
of of
nonStocks
non-automatic
automatic tanks
tanks
Supply tank
stock
information
Get
tank stocks of
Get tank stocks of
measurement
node
measurement node
Supply
measurment
node net
production
Measurement
node
Production
calculus
net production of
of Estreito
measu…
previus day
Name
Production calculus
measurement node
Candidate service
Name
Calculate
Estreito
measurement
node
production
of
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.
Description
of
Estreito
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.
Heuristic 2 (Business Requirement)
A candidate service must be identified from a business requirement.
PI
Previous day
production of
measurment
node
Tank stock
of
measurment
node
Previous day
production of
measurment
node
Supply
sensor
information
Tank stock
of
measurment
node
Stocks
of of
nonStocks
non-automatic
automatic tanks
tanks
Get
tank stocks of
Get tank stocks of
measurement
node
measurement node
Measurement
node
Production
calculus
net production of
of Estreito
measu…
previus day
Name
Supply
tank
information
Supply tank
stock
information
Supply
measurment
node net
production
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
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.
“Supply
tank
stock
Description
stock
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.
Heuristic 5 (AND)
A service candidate must be identified from an AND-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
Heuristic 4 (AND)
A service candidate must be identified from an AND-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
A
3. Consolidation of Candidate Services
B
Serviço
candidato
qualificado
de negócio
Serviço
candidato
qualificado
de dados
Serviço
candidato
qualificado
de negócio
Serviço
Principles for highcandidato
quality service
qualificado
implementation,
utilitário
organization’s quality
Serviço
criteria
candidato
Serviço
candidato
qualificado
de dados
Proporção dos serviços de acordo com s
8%
B
D
C
3. Consolidation of
Candidate
Services
Candidate
utility
service
Candidate
data service
Candidate
business
service
F
1%
1%
8%
Consolidação de
Candidate
data
Requisitos
Requisitos
Consolidação
de
serviços
Requisitos
Requisitos
Requisitos
Requisitos
Requisitos
Requisitos
serviços
existentes
existentes
Requisitos
Requisitos
service
Requisitos
Requisitos
existentes
existentes
existentes
existentes
Steps
candidatos
existentes
existentes
candidatos
existentes
demanda
existentes
demanda
Consolidation
Candidate
data
service
E
2%
Proporção dos serviços de acordo com sua classificação
qualificado
utilitário
Candidate
business
service
E
A
1%
2. Identif ication and
Candidate
ssif ication of Candidate
Servicesbusiness service
D
C
1%
2%
Heurística1
30%
Heurística2
Heurística3
30%
58%
Heurística4
58%
Heurística5
Heurística6
Candidate utility
Serviços
Output
service
candidatos
Serviços
candidatos Reuso Coesão
qualificados
...
Negócio
XX
XX
XX
Dados
XX
XX
XX
Utilitário
XX
XX
Candidate
services
Reuso Coesão
...
qualificados
XX
Negócio
XX
XX
XX
Dados
XX
Reuse Cohesion
Utilitário
XX
XX
XX
XX
XX
...
Business
XX
XX
XX
Data
XX
XX
XX
Utility
XX
XX
XX
Experimental tests
 The method was experimented at Petrobras
 The largest Oil Company from Brazil
 Business process: Diagnose daily oil production
 Important process within the Exploration and Production (E&P) -
Upstream area
 Process aims at maximizing company results
 Real time physical sensor information was used
 Part of digital fields project
 TO-BE process
 19 activities, control flows, 90 business rules and 37 business
requirements
Experimental tests
 Step 1) Activity selection
 19 activities were selected
 Step 2) Candidate service identification and classification
 147 candidate services
 Business rule and business requirement heuristics produced 57%
and 30%, respectively
Experimental tests
 Step 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 identified
Candidate service
Type
Calculate measurement node production
of type appropriation of Estreito
Calculate daily predicted net production
of measurement node
Query
measurement
production diagnose
nodes
for
Reuse
Business
1
Implem.
Req.
-
Business
1
-
Data
1
-
Candidate service
Calculate difference between daily predicted
net production related to previous month
Calculate difference between daily predicted
net production related to previous days
1
Demand’s requirements
Calculate daily predicted
net
production
of
measurement nodes
Supply measurement node
net production information
Activities
2
3
4
5
6
X
X
Fig. 1. Dependency graph of
some candidate services.
Expert feedback
 Expert evaluation of resulting candidate services
 Consolidated information helped them in service implementation
 Identification of reuse and which services to orchestrate
 Alignment of service x business needs
Conclusion
 Several challenges in SOA
 Service modeling, design, monitoring and management
 Our proposal
 Top-down approach: Services identification from business process
models
 Set of heuristics
 Semantic and syntactic analysis of process elements
 Systematic approach
 Input: 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
 Ongoing
 Development 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 work
 Experimental 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
2Departament
– Research and Practice Group in Information Technology
of Applied Informatics, Federal University of the State of Rio de Janeiro
3Petrobras
– Petróleo Brasileiro S/A