2. Content
• Part 1
– Process Orchestration Approach
– What’s Process Orchestration
– Process Orchestration Standards
– Execution Engines – BPMS and ESB
– BPM and SOA
• Part 2
– Process Orchestration Modeling Practice
– Summary & Future Trends
3. • 조직간 관점의 차이
• 대화의 단절
• 변화의 핵심
현업 or 업무분석가 개발자
?
“변화의 핵심은 프로세스”
Process Orchestration Approach
4. When you talk about ‘Process’,
you mean..
Process Orchestration Approach
10. ASSIGNMENT
DATA PASSING
SEQUENCING
ALGORITHM ALGORITHM
RECORD INTERPRETATION
DATA SET HANDLING
I/O PROCESSING
● ● ●
ASSIGNMENT
DATA PASSING
SEQUENCING
ALGORITHM ALGORITHM
● ● ●
ALGORITHM ALGORITHM
● ● ●
APPLICATION SYSTEM APPLICATION SYSTEM APPLICATION SYSTEM
Database Management System
DATABASE MANAGEMENT SYSTEM
WORKFLOW MANAGEMENT SYSTEM
Database Management System
Process Orchestration System
1 2 3
(출처: IBM, Leymann)
DBMS가 Application에서 데이터를 분리했다면,
Process Orchestration Layer 는 Application에서 프로세스를 분리하여 관리
Process Orchestration Approach
11. Process Orchestration Approach
• 비즈니스 프로세스 모델링과 Orchestration을 통해 플랫폼 독립적이고 Loosely coupled된
비즈니스 애플리케이션 개발
Ref) Gartner research
15. 배경
• Orchestration은 비즈니스 프로세스가 웹 서비스
들을 통제하기 위한 방식 중 하나임
• 일반적으로 웹 서비스는 다음의 두 방식에 의해 결
합됨
– Orchestration
– Choreography
16. Orchestration
• 중앙의 프로세스가 연관된 웹 서비스들을 직접 통제하며 각기
다른 웹 서비스의 실행을 지휘(Orchestration)한다.
• 각각의 웹 서비스들은 자신이 더 높은 수준의 비즈니스 프로
세스에 의해 통제되는 것을 인지하지 못한다.
• 웹 서비스들의 실행 순서와 각각의 수행과정은 명확하게 정의
된다.
• Orchestration의 가장 큰 특징은 Executability와 Control
17. Choreography
• Choreography는 중앙의 coordinator에 의존하지 않는다.
• 각 웹 서비스는 언제 실행되고 누구와 인터랙션해야 할지 명
확하게 알고 있어야 한다.
• Choreography는 비즈니스 프로세스 내부에서 메시지를 교환
하는 것에 중점을 둔 협업적 방법이다.
• Choreography의 모든 참여자들은 비즈니스 프로세스, 수행방
법, 메시지의 내용과 교환 타이밍에 대해 인지하고 있어야 한
다.
20. BPMN과 BPEL
BPMN → Process orchestration 또는 workflow를 시각적으로 문서화
BPEL → 웹 서비스를 통해 외부 엔터티들과 상호작용하는 프로세스를 정의
21. BPMN
• Business Process Modeling Notation
• 비즈니스 프로세스를 플로우 차트 형식으로 정의하는 표준
표기법
• Graphical한 Notation이며 직관적이고 IT 비전문가도 쉽게
활용 가능
• IT 개발자, 기획, 분석가 간의 직관적이고 효과적인 소통 수
단
24. 프로세스 모델링 언어 비교
Theory family tree
for BPM standards
Ref) Michael Havey, Essential
business process modeling
Ref) WMP Aalst, Patterns and XPDL: A Critical
Evaluation of the XML Process Definition Language
25. BPEL
• BPEL: Business Process Execution Language
• 웹 서비스 환경에서 비즈니스 프로세스를 정의
하고 실행하기 위한 표준 언어
• BPEL은 Orchestration과 Choreography 두 방
식을 모두 지원
26. BPEL
• BPEL은 웹 서비스의
composition, orchestration,
coordination을 통해 Top-
down 방식으로 SOA를 구
현
• BPEL을 이용하면 웹 서비스
의 컴포지트 서비스를 쉽고
직관적으로 구현 가능
30. BPEL example
• Service link type definition
• Aliasing
• Start activities of a business process
• Specifying a response
31. Extension - BPEL4People
Scenarios
* People Activities
* People Initiating Processes
* People Managing Long-Running Processes
* Transition between Human and Automatic Services
* Advanced Interaction Patterns
- 4 Eyes Principle
- Escalation
- Nominations
- Chained Execution
Features
* People Integration
- Generic Human Roles
- People Links
- People Resolution
* People Activities
* Tasks
- Properties
- Operations for Client Applications
- States
- Inline Tasks and Standalone Tasks
* Context
* User Interface
* Services Implemented by People
- Motivation from a Business Process Perspective
- Motivation from a Web Services Perspective
- Characteristics
32. XPDL 2.0
• BPMN을 수용함으로서 이전까지 표준화된 그래픽적 표기법
의 부재로 인해 많은 사용자들이 겪었던 불편함을 해소
• 프로세스 메타모델 및 패키지 메타모델로서 정의되는 스키마
에 새로운 기능이 추가되어 BPEL이나 ebXML 등과 같은 XML
기반 표준규격을 수용할 수 있도록 확장가능
• 이벤트 개념과 프로세스들간의 메시지 전달 개념은 대표적으
로 새로이 추가된 메커니즘
35. BPM이란?
조직 내 업무 프로세스를 설계, 실행, 모니터링, 분석하면서
또한 기존 전산 시스템들을 프로세스에 융합할 수 있는 경영 체제
지속적인 프로세스 개선
• 프로세스와 조직원 역할의 지속적인
재설계 및 재분배 통한 지속적인
프로세스의 개선과 발견
유연한 업무 통합
• 사람과 시스템간에 엮어진 프로세스
중심의 통합
• 기존 데이터와 기능의 공유에 이은
“프로세스의 공유” 실현 업무절차에
대한 조직 내 공통언어 역할
프로세스 생명주기 관리
• 업무 절차(프로세스)의 시스템적 관리
• 프로세스의 가시화
• 프로세스 변경 및 생성의 유연성 제고
BPM
사람
(조직)
시스템 및 SW도구들
36. BPMS
BPD
프로세스 전자화
프로세스 가시화 및 정의 도구
BPE
프로세스 자동화
프로세스 실행 및 제어
BPM
프로세스 모니터링
현 업무 진행 상태의 파악,
실시간 뷰, 누적 데이터 뷰
BPA
프로세스 분석
조직원들의 성과 측정/분석
EAI
시스템 연동
프로세스 중심의 시스템간 연동
프로세스 정의
프로세스
실행
프로세스 모니터링
프로세스 분석
최적화
[프로세스 관리 라이프 사이클]
BPMS는 BPM을 실현하는 시스템 – Business Process Management System
37. BPMS의 발전과정
• Workflow 벤더들이 EAI기능
들을 추가하기 시작함
• 마찬가지로 EAI 벤더들도 시스템
간 프로세스에서의 human-facing
step을 보강하기 위해 기본적인 기
능들을 추가하기 시작
Phase 1
38. BPMS의 발전과정
• 웍플로우를 도입한 조직들은 전
자화된 프로세스를 수행 도중에
확인해보고 싶어함
-> 프로세스 모니터링으로 발전
• EAI 제품들은 조직 바깥의 프
로세스에 주목하기 시작하여
B2Bi로 발전
Phase 2
39. BPMS의 발전과정
• 웍플로우와 EAI 시장이 통합되기 시작함
• 양쪽 제품들이 기능들을 서로 확장하기 시작하며 비즈니스 룰 엔
진과 개선된 프로세스 모델링 도구 등을 갖추기 시작함
Phase 3
40. BPMS의 발전과정
• 통합된 형태의 BPM Suite로 완성
• 협업, 임베디드, 사용자 중심 등의 개념으로 천천히 발전하는 중
Phase 4
42. Only BPM vs. Process Orchestration + SOA
AbstractModel
Business
Processes
Services
개발협의/계획
프로세스
Proto 설계검증
프로세스
양산/이관
프로세스
ServiceProvider
Application
Service
Component
E메일
cBOM
경영전략
정보
경영분석 Legacy
계약현황
사업계획
통계자료
구매계약
연구현황
개발협의/계획
프로세스
Proto 설계검증
프로세스
양산/이관
프로세스
E메일
cBOM
경영전략
정보
경영분석 Legacy
계약현황
사업계획
통계자료
구매계약
연구현황
Service Composite Service
• 비표준 인터페이스
• 연동이 필요할 때마다 개발자의 개입 불가피
• 높은 결합도(직접접근)로 인해 프로세스 변경 어려움
• 표준 인터페이스(SOAP) / 자동적 연동(WSDL)
• 비즈니스 분석가가 필요한 연동을 수행
• 낮은 결합도로 프로세스 변경 용이
Business
Processes
Application
Service
Component
Process Orchestration Approach
43. BPM과 SOA – 적용사례
A사 B사 C사 협력업체 관련기관 프로세스전문가 운영자
Management Group Supplier Group Process Innovation Group
Portal
Process Portal Community Dashboard
Schedule(To-checkList)
Worklist(To-Do-List)
Job-Manual
Knowledge Portal
Document Portal
Collaboration Portal
Project Monitoring
Process Monitoring
Cost Monitoring
Personalization
Process Management
BPM BI/BAM
ESB (Enterprise Service Bus)
BOM KM Messaging Web Service
Network
•App. Procurement
•Supply ChainCAD 도면순서 SMS Mobile RFID
….• 제품기획 프로세스
• 시작설계 프로세스
• 양산설계 프로세스
• 부품/공정개발 프로세스
• Pilot 생산 프로세스 ….
•문서지식 유통
•프로세스 관리 및 표준화
•E-Procurement
•OLAP 분석
•성과 분석
•SOA기반 EAI
Cost Management
Portal
Backbone
Process Repository
발주기관 설계업체 협력업체 …. 관련기관
Management Group System Supplier Group System
UDDI
Registry
JBI interface
Process Orchestration Approach
46. 설치 BPMS 도구
1. BizAgi (상용 / 테스트 30일 가능)
2. uEngine BPMS (오픈소스)
47. BizAgi Xpress Edition 설치 가이드
Note: The installer must be run with a user created as member of the Administrators group of the server.
1. 제품 인스톨을 위해서 BizAgiXpress.exe 실행. 최초 English or Spanish 중 선택하여 진행합니다.
2. BizAgi Xpress 창이 뜨면, License Agreement 선택하여 Next > 버튼으로 진행합니다.
48. 3. SQL Server 2005가 사용자의 computer에 설치되어 있는지 유무를 묻는 화면입니다.
만약 3.2)를 선택하고 Next >경우, 팝업 창이
생성되고 따로 database 인증 정보가 필요함
3.2) 만약 SQL Server 가 사용자의 computer에 깔
려 있다면 ‘I already Have a SQL Server’로 선택
해야 합니다.
3.1) 만약 SQL Server Express 2005 SP2가 설치되어 있지
않다면 BizAgi가 직접 computer에 해당 S/W를 설치합니
다. (설치 후, 사용자 ‘sa’에 대한 default PW는 BizAgi2009)
NOTE
인증 정보를 입력하고 Login을 클릭하여
connection이 성공적으로 되었는지 체크합니다.
모든 것이 정상적으로 되었다면, 화면에 ‘OK’가
뜨고 계속 진행할 수 있습니다.
50. 1.uEngine 홈페이지
(http://uengine.org/web/guest/uengine-bpms)의 다운
로드 항목에서 최신 릴리즈 버전을 다운로드 받습니다.
uEngine Packaged Edition 설치 가이드
2.Windows 환경 설정하기
다운로드 받은 파일을 적당한 폴더에서 압축을 풉니다.
서버를 정상적으로 동작시키기 위해선 JAVA_HOME이 설정되
어야 합니다. [시스템 동록 정보]의 고급 메뉴탭의 환경변수 클
릭하여 설정합니다.(JDK가 설치된 폴더의 경로로 설정) [그림
5-2] Startup.bat 파일에 시스템 변수를 직접 설정합니다. [그림
5-3] [그림 5-4], [그림 5-5] DB와 WAS를 실행합니다.
NOTE
유엔진을 실행하기 위해선 Java 1.5 버전
이상이 설치되어 있어야 합니다.
51. 3.WAS 실행하기
유엔진이 설치된 하위 디렉토리로 들어가
우선 runHSQL.Server.bat 를 실행하여 데모 DB를 실행한다.
다음으로 startup.bat 를 실행하여 WAS를 시작한다.
1
2
4.uEngine 로그인
웹 브라우저를 띄우고 주소 창에 [http://localhost:8080/ueng
ine-web] 을 입력합니다. 이때 [http://] 를 반드시 입력해야
하며 admin계정인 [ID: test_ko / PW: test ]로 로그인 합니다.
54. BPMN Patterns Process Initiation Patterns
◆Channel-dependent process initiation
1. Process Overview
2. Data: property, participant, variable
3. Process Execution
Activity display name Activity type Property Participant
event type A Message Start Event Receive event from another proce
ss
event type B Message Start Event Receive event from another
process
Task 1 User task
Task 2 User task
Task 3 User task
55. BPMN Patterns Process Termination Patterns
◆ Abnormal termination of a process by itself
1. Process Overview
2. Data: property, participant, variable
3. Process Execution
Activity display na
me
Activity type Property Participant
input User Task
2nd process Sub-Process “confirm 1” and “confirm 2” run
simultaneously. However after “confirm 2”, if it
is “Termination End Event”, then “confirm 1” is
abnormally abandoned. Main process keeps
running
confirm 1 User Task
confirm 2 User Task
User Task
56. Activity Name Activity Type Property Participant Remark
Scope
Check Credit Human OK
Switch Yes
No
Ok= true
otherwise
SKIP
Error Script Activity Script ‘a=b;’
Handle Bad Credit Sub Process DefinitionID=이슈트래킹
Fulfill Order Sub Process DefinitionID=이슈트래킹
BPMN Patterns Exception Handling Patterns
57. BPMN Patterns Exception Handling Patterns
◆ Signal invocation - Activation of an additional parallel activity upon exception occurrence
1. Process Overview
2. Data: property, participant, variable
3. Process Execution
Activity display na
me
Activity type Property Participant
Start Event
Task 1 User task
Sign a signal Signal Immediate Ev
ent
The “Activity name” for “Sign a signal” and
“receive a signal” should be exactly the sa
me
Task 2 User task
receive a signal Signal Start Event
58. Activity Name Activity Type Property Participant Remark
Check Credit Human OK Initiator
Switch Yes
No
OK = true
otherwise
SKIP
Switch Yes
No
OK = true
otherwise
Multiple Sub Sub Process DefinitionID=이슈트래킹
Fulfill Order Sub Process DefinitionID=이슈트래킹
BPMN Patterns Exception Handling Patterns
59. BPMN Patterns Messaging Patterns
◆Requesting information from external entity
1. Process Overview
2. Data: property, participant, variable
3. Process Execution
Activity display name Activity type Property Participant
send event type A Message Immediate Event send event type A event type A
send event type B Message Immediate Event send event type B event type B
receive event C Message Immediate Event
event type A Message Start Event
event type B Message Start Event
send type C Message Immediate Event send type C receive type A
60. BPMN Patterns Timer Patterns
◆ Periodic polling
1. Process Overview
2. Data: property, participant, variable
3. Process Execution
Activity display na
me
Activity type Property Participant
Start Event
Input User task Approve (yes/no)
Data-based gateway If yes, move on to “result”; if no, back to “i
nput” after 2 minutes
Result User task
61. BPMN Patterns Decision/Merge Patterns
◆Data-based exclusive decision
1. Process Overview
2. Data: property, participant, variable
3. Process Execution
Activity display na
me
Activity type Property Participant
fill in amount User task Amount (Integer) UserId Equals Case Creator
decision Data-based exclu
sive gateway
less than 100: Amount is less than
100
otherwise: IsElse
simple approve User task Amount UserId Equals CurrentAssigneeB
oss
advance approve User task Amount UserId Equals
CurrentAssigneeBoss
62. BPMN Patterns Decision/Merge Patterns
◆Conditional branching – inclusive gateway
1. Process Overview
2. Data: property, participant, variable
3. Process Execution
Activity display na
me
Activity type Property Participant
fill in age User task age (Integer) UserId Equals Case Creator
decision Inclusive gateway less than 18: age is less than 18
less than 60: age is less than 60
otherwise: IsElse
Task 2 User task age UserId Equals Case Creator
Task 3 User task age UserId Equals Case Creator
Task 4 User task Age UserId Equals Case Creator
63. BPMN Patterns Fork/Join Patterns
◆Fork/Join – Parallel gateway
1. Process Overview
2. Data: property, participant, variable
3. Process Execution
Activity display na
me
Activity type Property Participant
fill in name User task name (String) UserId Equals Case Creator
fill in age User task age (Integer) UserId Equals Case Creator
fill in email User task email (String) UserId Equals Case Creator
fill in telephone User task telephone (Integer) UserId Equals Case Creator
Parallel gateway Parallel gateway
64. BPMN Patterns Looping Patterns
◆For – each
1. Process Overview
2. Data: property, participant, variable
3. Process Execution
Activity display name Activity type Property Participant
fill in products (main) User task Form: date request; person required; produ
ct2.
(product2 is a table within this form)
confirm each product
(main)
Multiple Sub-Process Configuration:
Collection XPath: Request.Product2
Number of Instances: Items in Collection
(multiple sub-process in parallel way)
confirm each product (s
ub)
User task Form: product name; Product desc; product
amount; Approve.
65. BPMN Patterns Looping Patterns
◆For – each
1. Process Overview
2. Data: property, participant, variable
3. Process Execution
67. Case Study Vacation Request – Defining Process
◆Service Task and Script Task
1. Process Overview; 2. Data: property, participant, variable
Activity display name Activity type Property Participant
Register Vacation Request User Task Fill in request information( starting date, en
d date etc.)
Verify Available Vacation D
ays
Service Task
Approve Vacation Request User Task Approve or not
Inform Rejection Reason Script Task Send email to applicant
Make Administrative Task User Task
68. ◆Service Task and Script Task
3. Form design for each User Task (Register Vacation Request, Approve Vacation Request, Make Admi
nistrative Task)
Case Study Vacation Request – Form
69. ◆Service Task and Script Task
3. Form design for each User Task (Register Vacation Request, Approve Vacation Request, Make A
dministrative Task)
Case Study Vacation Request - Form
70. ◆Service Task and Script Task
setting for Service Task and Script Task
Case Study Vacation Request – Activity Action
71. ◆Service Task and Script Task
4. Service Task (web service invocation)
Case Study Vacation Request – Web service Definition
72. ◆Service Task and Script Task
4. Service Task (web service invocation)
Resolve Web Service URL Input Parameters Output Error Handling
Case Study Vacation Request – Web Service Invoke
73. ◆Service Task and Script Task
4. Script Task (email function)
Case Study Vacation Request – Script Activity (Email)
74. ◆Service Task and Script Task
5. Process Execution
Case Study Vacation Request – Execution
76. Key Terminologies
• Process Orchestration
• Business Process Management
• Business Process Management System
• Service Oriented Architecture
• Choreography
• Process Modeling
• Business Process Modeling Language
• Business Process Execution Language
• Business Process Modeling Notation
• Web Services
• Enterprise Application Integration
• Business to Business Integration
• Enterprise Service Bus
78. 전통적 Business Driven Application의 한계
• 전통적 BPM은 통제와 표준화같은 비즈니스 중심의 아키텍처만을 강조함으로써 창의
력이나 조직 문화와 같은 요소가 결여됨
79. 기회: Open Innovation!
Out-side
Democracy
Image Video
blog Wiki
PeopleToolsProducts
Structured &
Normalized Data
In-side
Kingdoms
TwitterBlog
Slideshare
Gadgets
YoutubeSNS Game
firewall
KM GW
BPM
ERP CRM
Centralized/
Formal Activity
Loosely
Coupled
Network/
Informal Activity
Smart worker’s
Business Process
Unstructured &
Very Large Data
80. 사회적 SW, SaaS, Mobile과 같이 가볍고 UX를 중시하는 기술에 대하여
관심이 높아지고 있음
기회: Open Innovation!
81. Enterprise 1.0 Enterprise 2.0
BSC, Six-sigma, Lean 의 도입
도구: ERP 1.0, KM 1.0, BPM 1.0
감성 경영, Fun 경영 등의 도입
Enterprise 2.0
Pay, Incentive
성과 성과
Pay, Incentive +Social Identity
&
Recognition
기회: Open Innovation!
82. Social BPM – The next BPM
• Social BPM은 비즈니스 프로세스의 개선활동에 보다 다양
한 목소리들을 끌어들이는 방법론이다.
• Social BPM은 소셜 네트워킹 기술과 도구들을 활용하여
BPM 프로젝트의 도입과 Time-to-Value를 촉진한다.
• Web 2.0과 소셜 도구를 BPM에 접목시킴으로써 프로세스
개선을 위한 양방향 커뮤니케이션을 증진한다.
- Forrester