420 likes | 724 Views
실시간 비즈니스 이벤트 처리 개요. 김광식 사업부장 한국 IBM 2009 년 6 월 9 일. Events. An event is anything that happens 비즈니스 이벤트 (Business Event) 는 비즈니스에 의미 있는 이벤트 고객의 주문 은행의 예금지급 정전의 발생 고객주소 변경 시도된 사기 징후 (Sign) 의 감지 직원 고용 경쟁사 제품가격의 변화에 대한 감지 이벤트는 매일 하루 종일 모든 기업과 그 주변 환경에서 발생 이벤트는 미리 예측할 수 없다.
E N D
실시간 비즈니스 이벤트 처리 개요 김광식 사업부장 한국 IBM 2009년 6월 9일
Events • An event is anything that happens • 비즈니스 이벤트(Business Event)는 비즈니스에 의미 있는 이벤트 • 고객의 주문 • 은행의 예금지급 • 정전의 발생 • 고객주소 변경 • 시도된 사기 징후(Sign)의 감지 • 직원 고용 • 경쟁사 제품가격의 변화에 대한 감지 • 이벤트는 매일 하루 종일 모든 기업과 그 주변 환경에서 발생 • 이벤트는 미리 예측할 수 없다.
Event-Driven • 기업, 사람, 동물 등이 어떤 이벤트에 직접적으로 대응하여 액션을 하면 이를 Event-Driven이라고 함 • 위협적인 경우 (Threats) • 은행이 신용카드 사기의 징후를 확인하고 즉시 신용카드 사용을 중지하도록 조치를 취하는 경우 • 긍정적인 기회의 경우 (Positive Opportunity) • 2개의 다른 국가 시장에서 어떤 일상 제품에 대하여 가격 차이를 발견하고 즉시 한 시장에서 사서 다른 시장에 판매하는 경우
Three Interactions • Time-Driven • 어떤 활동(Activity)의 시점과 본질적인 특성이 사전에 계획될 수 있는 경우 • 야간 배치(Batch) 작업 • Request-Driven • 어떤 활동의 본질적인 특성이 상대 여타 그룹(조직, 시스템이나 사람 등)에 의하여 이해되고 있고 상호 무슨 일을 할 것인가가 동의되어 있으나, 시간을 예측할 수 없는 경우 • Send & Wait • 기존의 대부분 트랜잭션처리 시스템 • Event-Driven • 예측할 수 없는 요소와 상황을 다루는 경우 • Fire & Forget
Business Pressures Motivate the Use of Event Processing Business Pressures Management Strategies System Requirements Architectural Style Increasing Competition Time-based Competition Globalization Real-time Enterprise Timeliness Market Consolidation Event Processing Zero-latency Enterprise Agility Better Customer Service Agile Enterprise Information Availability More Regulation Adaptive Enterprise Faster Pace of Business Predictive Enterprise
Timeliness (적시성) • Reducing Latency for an Individual Activity • Latency: 시스템이 하나의 입력에 대하여 대응하는데 걸리는 시간 • Reducing Business Process Elapsed Time
Agility (민첩성) • A company’s Agility: 기업이 어떤 활동을 얼마나 짧은 시간 안에 수행할 수 있는가 보다는 기업 내/외부 상황의 변화에 보다 빨리 적응하기 위하여 그 기업의 활동을 짧은 시간에 변화시키는 능력 • Instance Agility • Ability to handle each instance(Iteration) of a business process differently • 고객 요구 사항에 맞는 개별 자동차 생산 • 고객 요구 사항에 맞는 개별 보험 계약 • Process Agility (프로세스 민첩성) • Ability to change a whole process to support new kinds of products or services • 자동차 보험 Boat 보험
Information Availability • 데이터 일관성 (Data Consistency) • 여러 시스템에서 사용하고 있는 데이터(Facts)가 동일한 것인가 • 정보의 전파 또는 전달 (Information Dissemination) • Alert • 상황 인식(Situation Awareness) • 무엇을 할 것인지를 결정을 하기 위하여 무슨 일이 진행되고 있는지 아는 것
Business Event Processing • 감지하고 대응하는 역량 (The Ability to Sense and Response) • 하나의 이벤트 또는 이벤트 패턴이 발생하였다는 것을 (또는 발생하지 않았다는 것을) 감지(Sense)할 때 적절한 시점에 적절한 대응 (Response 또는 Action)을 조치하는 것
Two types of Event Processing • EDA (Event-Driven Architecture) • 개별 이벤트를 가능한 한 신속히 감지하고 반응 (Sensing and Responding to Individual Events ASAP) • Simple Event Processing • CEP (Complex Event Processing) • 다수의 개별 이벤트 대상(Event Objects)을 상위 레벨의 복합 이벤트(Complex Event)로 묶어 그에 대한 Insight를 개발 • 결국다수의 입력 데이터를 요약하여 종합적으로 중요한 의미를 파악
Event-Driven Architecture (EDA) • Simple Event Processing으로서 EDA의 특징 • 소프트웨어가 Event-Driven이라고 할 때, 이는 실제로 Even-Object Driven이며, 전자적인 형태로 Notification을 받는 것을 말함 • Machine-Readable Even-Object는 실제 비즈니스의 이벤트를 나타내는 데이터를 포함 • Notification : 한 Event Object가 메시지 형태로 전달되는 것 • EDA는 소프트웨어 Architectural Style 중의 하나이며, 하나 이상의 컴포넌트가 하나 이상의 이벤트 Notification에 대응하여 실행하도록 구조화 • Event Producer • 비즈니스 이벤트를 감지하고 Notification을 보내는 소프트웨어 컴포넌트의 하나 • Event Consumer • Notification을 받고 대응(Respond) 액션을 하는 소프트웨어 컴포넌트의 하나
The Five Principles of EDA • Individually • 각 이벤트는 개별적으로 전송 • Push • Notifications이 Event Producer 에 의하여 Pushed • Immediacy • The Consumer SW Component가 Notification을 받고 곧바로 이에 대응하는 (Respond) 액션을 진행 • One-way • Event producer는 Notification을 내고 Event Consumer로부터 어떤 응답도 받지 않는다 • Free of commands • Notification에는 Event Consumer가 수행할 액션에 대한 어떠한 설명도 없음 • Event Consumer는 Notification에 어떻게 대응할 것인가를 결정하는 Logic을 담고 있음
Advantages of EDA • Time-Driven과 비교하여 • 대부분 timeliness와 Information Availability 측면에서 유리 • 최소의 지연 • End-to-End Process 에 대하여 더 시간의 단축이 가능 • 데이터 일관성을 위한 작업의 적시성을 향상 • 긴박한 위협이나 기회의 상황에서 사람과 시스템에 즉각적인 Notification 가능 • Request-Driven과 비교하여 • Request-Driven 시스템은 때때로 EDA 시스템의 적시성을 맞춤 • 상대방의 변경 없이 한 컴포넌트를 변경하거나 추가하기가 더 쉽다
What’s going on? Threats? Opportunities? Manual Action Application, Automated process, Device Electronic-Notification Complex Event Processing (CEP) –Manual CEP
Decision Support for People Manual Action CEP Application, Automated process, Device Complex Event • Filter out irrelevant event • Calculate • Detect patterns, trends, relationships among events Base Event Streams Complex Event Processing (CEP) – Partially Automated CEP
Complex Event Processing (CEP) – Fully Automated CEP • Full automation of both the analysis and response phases • (e.g.) CEP-based algorithmic trading systems in capital market • Filter out irrelevant event • Calculate • Detect patterns, trends, relationships among events CEP Application, Automated process, Device Base Event Streams Complex Event
Complex Event Processing (CEP) – Benefits • 기업의 상황 인식(Situation Awareness) 및 지능적인 Sense & Respond 방식으로 실행할 수 있는 역량의 향상 • 의사결정(Decision) 질(Quality)의 향상 • 더 신속한 대응 • Data Overload의 방지 • 비용의 절감
Complex Event Processing (CEP) -Application • 즉각적인 Operational Decisions에 중점을 두며, BI(Business Intelligence)의 한 종류로 적용 • BPM 또는 워크플로우 소프트웨어에 의하여 통제되는 비즈니스 프로세스의 모니터에 적용 • 금융 산업에서 High-Value, Ultra-Low-Latency Applications에 활용 • 복잡한 활동(Activity)를 모니터 • Supply Chains • Transportation Operations • Gambling Casinos • Hospital Emergency Rooms • Factory Floors • Web-based Gaming Systems • Transportation Management • Network management, computer system management, military applications
Cost and Benefits of EP Applications- Metrics • 하나의 비즈니스 문제점을 EDA 애플리케이션 구현을 통하여 해결할 것인지를 결정하는 요소 • REACTS are Key Measures • Relevance of Information to a User • Effort (필요 정보를 얻기 위한 노력) • Accuracy of Detected Events • Completeness of Detected Events • Timeliness of Responses • Safety, Security, Privacy and Provenance of Information
Cost and Benefits of EP Applications- Metrics • Relevance of Information to a User • 관심 또는 주의집중의 증폭 • 비즈니스를 기존처럼 통상적으로 할 것인지 아니면 EDA 애플리케이션을 개발할 것인지를 결정할 때 • 다자간 무역체계(Multilateral trading systems) 및 증권거래소가 기존 방식으로 시장을 감시를 하거나 아니면, 의심스러운 거래를 이벤트 처리를 통하여 감지하고 대시보드에 관련 정보를 Highlight하여 보여줄 수 있다 • Effort • 관심이 있는 정보를 얻기 위하여 소요되는 노력 • 사용자의 요구 사항을 충족하기 위한 EDA 애플리케이션을 개발하는 시간에 대한 비용 • 구축 비용 및 Tuning 비용
Cost and Benefits of EP Applications- Metrics • Accuracy of detected events • 부정확성의 대표적인 경우: False Positive (잘못된 예측) • 쓰나미 발생에 대한 잘못된 예측에 따른 피해 • 특정 주가 상승에 대한 잘못된 예측에 따른 피해 • Accuracy의 2가지 측면 • Event에 대한 정확한 감지(Detect) • 정확한 대응 (Accurate Response)의 실행 • 한 애플리케이션의 부정확성에 대한 비용 • 부정확한 건의 빈도 • 부정확한 반응(Respond)에 수반하는 평균 비용 • Barings Bank의 경우 • Fat-Finger trade
Cost and Benefits of EP Applications- Metrics • Completeness of Detected Events • 불완전 정보의 대표적인 경우: False Negative • The Absence of Signal • The cost of a false negative- no warning • 쓰나미 발생을 감지(Detect)하지 못한 경우의 피해 • Timeliness of Responses • The effectiveness of a response depends on its timeliness • Cross-trading Application VS Accounting Application • Safety, security, privacy and provenance of information
이벤트 처리의 필요성을 유발하는 요건 (Features) • Agility and Adaptability • 민첩성 및 적응성이 중요한 요건인 경우 • Exception • 예외 처리를 지원하는 애플리케이션 • Instantaneous Response • 빠르게 전개되는 상황에 대한 순간적인 대응이 필요한 경우 • 빠르게 그리고 비동기적으로 변화하는 상황에 신속하게 대응해야 하는, 그러나 트랜잭션이 보장되어야 할 필요가 없는 애플리케이션에 EDA를 활용 (Cross-Trading Application) • Request-Driven 특징을 갖고 있는 트랜잭션 시스템 상에서 만들어진 이벤트를 감지하고 처리하여 트랜잭션 시스템 상황에대응하기 위하여 트랜잭션이 보장되는 애플리케이션 위에 EDA 를 적용하여 사용 (Airline Reservation System) • Outside • Virtual Enterprise 밖의 이벤트를 감지하고 대응하는 (Sense & Respond) 애플리케이션 • Unanticipated • 복잡하고 예측이 어려운 상황에 신속하게 대응해야 하는 애플리케이션
A Framework for Analyzing Problem Domains Suitable for Event Processing • 어떤 Interaction? • Time-driven, Request-driven or Event-driven • The cost/benefit measures • A-E-I-O-U Features를 갖는 Problem? • 즉 프레임워크는 불확실성(Uncertainty), 에러 가능성(Likelihood of Error), 실수로 인한 비용(Cost of Mistakes) 및 적시성의 이점(Benefits of Timeliness)을 명시적으로 고려
Business Problems Suitable for Event Processing • 국방 및 국가 안전 • Military, Security and Crisis-Management Problem • 수도오염, 허리케인, 네트워크의 침입, 군사 applications, • All the A-E-I-O-U Features • 쓰나미로부터 화학물질 유출에 이르는 위험스러운 이벤트, 드물게 발생하지만 모니터링이 되어야 함 • Event가 빠르게, 비동기적으로, 예측할 수 없게 발생 • 그 이벤트에 대한 대응이 신속해야 함 • 해당 기관은 그 기관에서 밖에서 발생하는 위기 상황 이벤트에 대응하여야 함 • Interaction 특징 • 각 컴포넌트가 특정 조건에 대하여 계속적으로 감지 및 대응(Sense & Respond)할 것을 기대 • REACT Cost/Benefit Measures의 각각에 대한 분석은 일반적으로 EDA 가치를, 특히 CEP 가치를 보여준다
Business Problems Suitable for Event Processing • Track-and-Trace • Shipping, trucking, railroad and other logistics companies • National farm identification system • Tracking food sources, both animal and vegetable • Milk products with melamine • Peanut butter with salmonella • Spinach with E.coli • 전자추적시스템(Electronic Pedigree Systems)은 주요 이벤트를 기록 관리 • 생산지, 선적, 이전 판매 사항, 교역 사항 등 • 유통 시 유지해야 할 일정 온도보다 높은 온도로 일정 기간 동안 음식이 방치되었을 때 Alert이 필요 • 예상된 시간을 넘어 패키지 도착이 지체되었을 때 Alert이 필요
Business Problems Suitable for Event Processing • Track-and-Trace (Continued) • The A-E-I-O-U features • 대부분 Track & Trace 문제들은 A-E-I-O-U Features 중 일부를 갖고 있음 • Track & Trace 시스템이 잘못되면 치명적 • 사망, 음식산업의 신용의 저하 • REACTS measures • 식약청 등 건강 관련 공공 기관, 패스트푸드 체인, 택배 회사, 사실상 Track & Trace 아이템을 취급하는 모든 기업이 EDA의 이익(Benefit)을 얻을 수 있음
Business Problems Suitable for Event Processing • Infrastructure • Smart Infrastructure (Traditional infra + IT) • More Cost/Effective • Cyber Physical Systems (IT + Physical Systems) • 지진을 대비한 제어 시스템을 장착한 건물 • 가속계기 및 압력 측정기를 장착한 건물 및 교량 • 센서가 있는 전기 변압기 • All the A-E-I-O-U features • 센서 등을 추가하거나 교체하는데 민첩 • 조기 경보 메커니즘은 예외 처리할 수 있는 시스템 컴포넌트 • 기업 외부 상황을 모니터하고 신속하게 대응하여야 함 • 예상치 못한 상황을 처리(Handling) • Smart Infrastructure에서 기대하는 것과 EDA에서 기대하는 것이 비슷함 • EDA 애플리케이션은 인프라를 관리하는데 비용 효율적(Cost-Effective) • Physical infrastructure 비용과 비교하여 정보 시스템비용이 차지하는 비율이 계속적으로 낮아짐에 따라 EDA가 Physical Infrastructure에서 크게 중요한 역할을 담당
Business Problems Suitable for Event Processing • Healthcare • Telemedicine and medical sense and response systems • All the A-E-I-O-U features for event processing • Must agile to deal with new types of devices • Must sense and respond to exceptional conditions • Must respond immediately • Must interact with patients who are outside the enterprise • Must deal with unanticipated situations • REACTS cost/benefit for EDA • Types of contracts for EDA
Business Problems Suitable for Event Processing • Finance (Sweet Spots) • All the features that favor event processing • Must be agile to deal with rapidly changing global conditions • Must be detect and respond to exceptional conditions • Must be instantly • Must monitor activities outside the enterprise • Must respond to unanticipated situations • Expectations of EDA • To monitor markets and respond when conditions indicate significant opportunities or threats • Cost/Benefits in • Trading capital markets (trading/cross-trading) • Credit card processing • Retail banking • CRM applications such as cross-selling and up-selling • EDA and CEP are used in • Trading/cross-trading • Reducing errors such as fat-finger trades • Algorithmic trading • Order routing • Market surveillance • Fraud detection
Positioning Event Processing in IT world • 이벤트 처리와 SOA, BPM, BI 및 룰 엔진 간의 관계 • SOA와 EDA는 상호 호환적이고 보완적 • Event-Driven SOA (ED-SOA) • EDA Instances의 5가지 원칙 및 SOA 애플리케이션의 5가지 원칙을 준수 • BPM with Events • 런 타임 BPM 소프트웨어가 이벤트 처리를 사용하는 4가지 방법 • 이벤트를 사용하는 BI 유형으로서의 BAM • 룰 엔진 VS 이벤트 처리 • CEP 엔진은 BRMS(Business Rule Management System) 및 BRE(Business Rule Engine)와 유사 특징을 많이 갖고 있음 • 하지만 CEP의 경우 실시간성(Time-Driven)이 기본이지만 룰 엔진은 그렇지 않음
Shipping System Order Entry System Fulfillment System Billing System How BPM uses Events 4. CEP is used for process monitoring. Orchestration Workflow Engine 1. EDA may trigger a new process instance. Request-driven Process History 3. CEP may be used to make sophisticated flow decisions. Time-driven 2. EDA may trigger a step within a process.
Business Activity Monitoring as a Type of BI • Event-Driven CEP 는 대부분 Analyst-Oriented System(BI의 가장 일반적인 형태)으로 사용되지 않음 • Event-Driven CEP는 BAM의 중심에 있으며, 성능 관리 시스템에서는 역할이 크지 않음 • BAM의 대부분 입력 데이터는 과거 몇 초에서 몇 분내 에 걸쳐 도착하는 이벤트임 • BAM 시스템의 대부분 사용자는 전형적으로 Line Manager 또는 현업 담당자로 Operational Decisions을 책임지고 있음 • 대부분 BAM 시스템은 하루 종일 계속하여 운영되고 있으며, 들어오는 이벤트를 듣고 대시보드, 이 메일, 또는 다른 채널을 통하여 현업 사용자와 커뮤니케이션을 수행
Event Processing VS Rule Engines • 유사점 • 비즈니스 룰을 애플리케이션 외부로 분리 • 별도의 소프트웨어 컴포넌트로서 공통적으로 패키지화 된다 • 비즈니스 룰 엔진의 대부분의 데이터와 CEP의 모든 데이터는 이벤트 데이터 • 사용자 의사결정(Human Decision-Making)을 지원 • 자동화된 의사결정(Decision)을 수행(Computing)
Event Processing VS Rule Engines • 차이점 CEP Rule Engines • Typically Request-Driven • If <some conditions> then <do action X> else <do action Y> • Time windows에 따라 선택된 데이터에 룰을 적용시키나 개발 시에 지정되는 특징이 있다. • 데이터의 Working Set 개념으로 설계될 수 있으나, 각 트랜잭션은 논리적으로 독립적이다. • Typically Event-Driven • When <something happens or some condition is detected conditions> then <do action X> • Notification Message가 도착하는 대로 처리하면서 계속적으로 운영한다 • 메시지 처리 시스템 간의 I/O를 처리(Handling)하여 채널을 통하여 전달된 이벤트 데이터를 받고 준비하는 것을 보다 더 빠르고 효율적으로 수행 • 이벤트가 발생할 때의 Time Windows에 따라 그룹화된 이벤트 데이터에 잘 맞는다 • 잠재적으로 관련된 대량의 데이터가 하나의 집합으로 신속하게 처리되어야 할 때 적절하다 • Performing Rule Calculation with a CEP System
Action Items for Event Processing Success • 어느 곳에 이벤트 처리를 사용할 것인지 어떤 이벤트 처리 유형(Simple EDA or CEP)을 사용할 것인지 결정 (*) • 이벤트 처리 기술의 습득 • 이벤트 처리를 기업의 IT 아키텍처 포함 • 이벤트가 구현된(Event-Enabled) 패키지 애플리케이션의 구매 • 이벤트 처리를 촉진하는 인프라 구축 (*) • 이벤트 처리를 SOA Initiative에 통합(*)
Action Items for Event Processing Success • 어느 곳에 이벤트 처리를 사용할 것인지 어떤 이벤트 처리 유형(Simple EDA or CEP)을 사용할 것인지 결정 (*) • Simple EDA • 한 번에 하나의 이벤트를 처리 • Timeliness, Agility and Information Availability을 개선할 의도가 있는 경우 • 더욱 신속히 대응하는데 도움을 줌 • CEP • 한 번에 여러 이벤트 상에서 작동 • 무슨 일이 벌어지고 있는가에 대한 Insights 생성할 의도 • 상황 인식(Situation Awareness)을 통하여보다 나은 의사결정에 도움을 주기 위하여 • CEP가 EDA 모드로 구현될 때 위의 두종류의 목표(Goal) 집합을 달성할 수 있음
Action Items for Event Processing Success • 이벤트 처리를 촉진하는 인프라 구축 • 이벤트 처리는 Design Concept • 상용 미들웨어 인프라, CEP, 개발 환경, 모니터링 등을 사용하지 않으면, 많은 이벤트 처리 애플리케이션이 개발될 수 없다. • Event Producer와 Event Consumer 간 notifications을 실어 나를 채널과 확산 네트워크를 공급할 메시지 인프라가 필요 • 특히 High Volume, Low Latency, High Integrity 또는 다른 요건 등이 MOM(Message Oriented Middleware) 도입에 필요 • 상용 CEP, 대시보드 및 모니터링 기술등은 BEP 플랫폼 내의 CEP-Enabled Application 일부로 또는 CEP 엔진, 어플라이언스, 또는 다른 단품(Point Product)의 일부로 도입된다 • IBM has • WebSphere Business Event • WebSphere Message Broker • WebSphere MQ • WebSphere eXtreme Scale • WebSphere ESB • WebSphere Adapter
Action Items for Event Processing Success • 이벤트 처리를 SOA Initiatives에 통합 • EDA, SOA, BPM 및 CEP은 흔히 함께 사용되는 호환성 있는 개념 • 초기부터 Event-Driven SOA 및 비즈니스 모니터링을 지원하지 않는 SOA 프로그램을 구현하는 것은 잘못. • Event-Driven SOA가 없으면신규 SOA 시스템에 에 배치 처리(Batch Processing) 및 Request-Driven SOA를 지나치게 많이 사용하게 된다 • Event-Driven SOA의 적용을 늦추는 것에 대한 이점은 없다 • Event-Driven SOA를 취하는 것은 큰 장애가 되지 않는다. • 초기 SOA 프로그램에 Event-Driven SOA를 적용하는 경우도 ED-SOA Advantage가 있다. • 일부 EDA 및 CEP 프로젝트는 조직 및 기술적 이유로 SOA 또는 BPM 프로젝트에 속하지 않는다
Five basic principles for SOA as an architectural style for application software • The application must be modular • The components must be distributable • The interfaces and related externally visible characteristics of the software components must be clearly defined and documented in metadata • A software component that provides an SOA service can be readily swapped out for another component • Service provider components must be shareable (or reusable)