1 / 42

실시간 비즈니스 이벤트 처리 개요

실시간 비즈니스 이벤트 처리 개요. 김광식 사업부장 한국 IBM 2009 년 6 월 9 일. Events. An event is anything that happens 비즈니스 이벤트 (Business Event) 는 비즈니스에 의미 있는 이벤트 고객의 주문 은행의 예금지급 정전의 발생 고객주소 변경 시도된 사기 징후 (Sign) 의 감지 직원 고용 경쟁사 제품가격의 변화에 대한 감지 이벤트는 매일 하루 종일 모든 기업과 그 주변 환경에서 발생 이벤트는 미리 예측할 수 없다.

gil-best
Download Presentation

실시간 비즈니스 이벤트 처리 개요

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 실시간 비즈니스 이벤트 처리 개요 김광식 사업부장 한국 IBM 2009년 6월 9일

  2. Events • An event is anything that happens • 비즈니스 이벤트(Business Event)는 비즈니스에 의미 있는 이벤트 • 고객의 주문 • 은행의 예금지급 • 정전의 발생 • 고객주소 변경 • 시도된 사기 징후(Sign)의 감지 • 직원 고용 • 경쟁사 제품가격의 변화에 대한 감지 • 이벤트는 매일 하루 종일 모든 기업과 그 주변 환경에서 발생 • 이벤트는 미리 예측할 수 없다.

  3. Event-Driven • 기업, 사람, 동물 등이 어떤 이벤트에 직접적으로 대응하여 액션을 하면 이를 Event-Driven이라고 함 • 위협적인 경우 (Threats) • 은행이 신용카드 사기의 징후를 확인하고 즉시 신용카드 사용을 중지하도록 조치를 취하는 경우 • 긍정적인 기회의 경우 (Positive Opportunity) • 2개의 다른 국가 시장에서 어떤 일상 제품에 대하여 가격 차이를 발견하고 즉시 한 시장에서 사서 다른 시장에 판매하는 경우

  4. Three Interactions • Time-Driven • 어떤 활동(Activity)의 시점과 본질적인 특성이 사전에 계획될 수 있는 경우 • 야간 배치(Batch) 작업 • Request-Driven • 어떤 활동의 본질적인 특성이 상대 여타 그룹(조직, 시스템이나 사람 등)에 의하여 이해되고 있고 상호 무슨 일을 할 것인가가 동의되어 있으나, 시간을 예측할 수 없는 경우 • Send & Wait • 기존의 대부분 트랜잭션처리 시스템 • Event-Driven • 예측할 수 없는 요소와 상황을 다루는 경우 • Fire & Forget

  5. 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

  6. Timeliness (적시성) • Reducing Latency for an Individual Activity • Latency: 시스템이 하나의 입력에 대하여 대응하는데 걸리는 시간 • Reducing Business Process Elapsed Time

  7. 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 보험

  8. Information Availability • 데이터 일관성 (Data Consistency) • 여러 시스템에서 사용하고 있는 데이터(Facts)가 동일한 것인가 • 정보의 전파 또는 전달 (Information Dissemination) • Alert • 상황 인식(Situation Awareness) • 무엇을 할 것인지를 결정을 하기 위하여 무슨 일이 진행되고 있는지 아는 것

  9. Business Event Processing • 감지하고 대응하는 역량 (The Ability to Sense and Response) • 하나의 이벤트 또는 이벤트 패턴이 발생하였다는 것을 (또는 발생하지 않았다는 것을) 감지(Sense)할 때 적절한 시점에 적절한 대응 (Response 또는 Action)을 조치하는 것

  10. 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를 개발 • 결국다수의 입력 데이터를 요약하여 종합적으로 중요한 의미를 파악

  11. 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) 액션을 하는 소프트웨어 컴포넌트의 하나

  12. 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을 담고 있음

  13. Advantages of EDA • Time-Driven과 비교하여 • 대부분 timeliness와 Information Availability 측면에서 유리 • 최소의 지연 • End-to-End Process 에 대하여 더 시간의 단축이 가능 • 데이터 일관성을 위한 작업의 적시성을 향상 • 긴박한 위협이나 기회의 상황에서 사람과 시스템에 즉각적인 Notification 가능 • Request-Driven과 비교하여 • Request-Driven 시스템은 때때로 EDA 시스템의 적시성을 맞춤 • 상대방의 변경 없이 한 컴포넌트를 변경하거나 추가하기가 더 쉽다

  14. What’s going on? Threats? Opportunities? Manual Action Application, Automated process, Device Electronic-Notification Complex Event Processing (CEP) –Manual CEP

  15. 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

  16. 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

  17. Complex Event Processing (CEP) – Benefits • 기업의 상황 인식(Situation Awareness) 및 지능적인 Sense & Respond 방식으로 실행할 수 있는 역량의 향상 • 의사결정(Decision) 질(Quality)의 향상 • 더 신속한 대응 • Data Overload의 방지 • 비용의 절감

  18. 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

  19. 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

  20. Cost and Benefits of EP Applications- Metrics • Relevance of Information to a User • 관심 또는 주의집중의 증폭 • 비즈니스를 기존처럼 통상적으로 할 것인지 아니면 EDA 애플리케이션을 개발할 것인지를 결정할 때 • 다자간 무역체계(Multilateral trading systems) 및 증권거래소가 기존 방식으로 시장을 감시를 하거나 아니면, 의심스러운 거래를 이벤트 처리를 통하여 감지하고 대시보드에 관련 정보를 Highlight하여 보여줄 수 있다 • Effort • 관심이 있는 정보를 얻기 위하여 소요되는 노력 • 사용자의 요구 사항을 충족하기 위한 EDA 애플리케이션을 개발하는 시간에 대한 비용 • 구축 비용 및 Tuning 비용

  21. 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

  22. 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

  23. 이벤트 처리의 필요성을 유발하는 요건 (Features) • Agility and Adaptability • 민첩성 및 적응성이 중요한 요건인 경우 • Exception • 예외 처리를 지원하는 애플리케이션 • Instantaneous Response • 빠르게 전개되는 상황에 대한 순간적인 대응이 필요한 경우 • 빠르게 그리고 비동기적으로 변화하는 상황에 신속하게 대응해야 하는, 그러나 트랜잭션이 보장되어야 할 필요가 없는 애플리케이션에 EDA를 활용 (Cross-Trading Application) • Request-Driven 특징을 갖고 있는 트랜잭션 시스템 상에서 만들어진 이벤트를 감지하고 처리하여 트랜잭션 시스템 상황에대응하기 위하여 트랜잭션이 보장되는 애플리케이션 위에 EDA 를 적용하여 사용 (Airline Reservation System) • Outside • Virtual Enterprise 밖의 이벤트를 감지하고 대응하는 (Sense & Respond) 애플리케이션 • Unanticipated • 복잡하고 예측이 어려운 상황에 신속하게 대응해야 하는 애플리케이션

  24. 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)을 명시적으로 고려

  25. 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 가치를 보여준다

  26. 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이 필요

  27. 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)을 얻을 수 있음

  28. 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에서 크게 중요한 역할을 담당

  29. 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

  30. 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

  31. 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)이 기본이지만 룰 엔진은 그렇지 않음

  32. 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.

  33. 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 시스템은 하루 종일 계속하여 운영되고 있으며, 들어오는 이벤트를 듣고 대시보드, 이 메일, 또는 다른 채널을 통하여 현업 사용자와 커뮤니케이션을 수행

  34. Event Processing VS Rule Engines • 유사점 • 비즈니스 룰을 애플리케이션 외부로 분리 • 별도의 소프트웨어 컴포넌트로서 공통적으로 패키지화 된다 • 비즈니스 룰 엔진의 대부분의 데이터와 CEP의 모든 데이터는 이벤트 데이터 • 사용자 의사결정(Human Decision-Making)을 지원 • 자동화된 의사결정(Decision)을 수행(Computing)

  35. 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

  36. Action Items for Event Processing Success • 어느 곳에 이벤트 처리를 사용할 것인지 어떤 이벤트 처리 유형(Simple EDA or CEP)을 사용할 것인지 결정 (*) • 이벤트 처리 기술의 습득 • 이벤트 처리를 기업의 IT 아키텍처 포함 • 이벤트가 구현된(Event-Enabled) 패키지 애플리케이션의 구매 • 이벤트 처리를 촉진하는 인프라 구축 (*) • 이벤트 처리를 SOA Initiative에 통합(*)

  37. Action Items for Event Processing Success • 어느 곳에 이벤트 처리를 사용할 것인지 어떤 이벤트 처리 유형(Simple EDA or CEP)을 사용할 것인지 결정 (*) • Simple EDA • 한 번에 하나의 이벤트를 처리 • Timeliness, Agility and Information Availability을 개선할 의도가 있는 경우 • 더욱 신속히 대응하는데 도움을 줌 • CEP • 한 번에 여러 이벤트 상에서 작동 • 무슨 일이 벌어지고 있는가에 대한 Insights 생성할 의도 • 상황 인식(Situation Awareness)을 통하여보다 나은 의사결정에 도움을 주기 위하여 • CEP가 EDA 모드로 구현될 때 위의 두종류의 목표(Goal) 집합을 달성할 수 있음

  38. 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

  39. 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 프로젝트에 속하지 않는다

  40. Backup

  41. 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)

More Related