Download presentation
Presentation is loading. Please wait.
Published byBarry Hines Modified over 9 years ago
1
Presented by: SIF3: Events Joerg Huber SIF3 Events & Live Demo
2
© Systemic Pty Ltd September 2014 Training Course - Sydney: SIF3: Events & Demo 2 Overview What is an Event Event Types When do I need Events Event Payload Infrastructure required for events SIF3 Framework & Events Live Demo (SIF3 Framework – Java, Amazon Cloud and SIF3 Broker)
3
© Systemic Pty Ltd September 2014 Training Course - Sydney: SIF3: Events & Demo 3 What is an Event An asynchronous way to publish changes in the provider’s data store to all interested parties. Issued/Published by Object Provider Consumed/Subscribed by Object Consumer A mechanism to keep Consumers up-to-date with “Source of Truth”. Event must be delivered: In-Order Guaranteed – Event Queues don’t drop events
4
© Systemic Pty Ltd September 2014 Training Course - Sydney: SIF3: Events & Demo 4 Event Types There are 3 Event Types Create: Create a new Object such as a StudentPersonal. Provide full data set in payload Update: Update an existing Object FULL: Data provided is full set (i.e. full StudentPersonal) PARTIAL: Only data that has changed is provided (i.e. partial StudentPersonal). Delete: Remove an existing Object
5
© Systemic Pty Ltd September 2014 Training Course - Sydney: SIF3: Events & Demo 5 When do I need Events Consumers and Providers must be kept in sync at all times. Where large data sets need to be kept in sync and regular full sync with request/response is not an option.
6
© Systemic Pty Ltd September 2014 Training Course - Sydney: SIF3: Events & Demo 6 Event Payload Each Event can hold many SIF Object but: All Objects must be of the same SIF Object type such as StudentPersonal. Event Type is the same for all SIF Objects in a particular event (cannot mix Update, Delete in a single event). Payload is XML for the time being. All of the above is fully abstracted and managed by the SIF3 Frameworks!
7
© Systemic Pty Ltd September 2014 Training Course - Sydney: SIF3: Events & Demo 7 Infrastructure required for Events For an Object Provider and/or Consumer to be able to deal with Events the following infrastructure components are required: Event Connector: Endpoint where Object Provider publishes events to. Queue Manager & Message Router: Manages queues for various consumers. Ensures in-order & guaranteed delivery. Subscription Connector: Endpoint where Consumers can subscribe to. Tell the Queue Manager which events it is interested in. Queue Connector: The endpoint where consumers will poll for available events.
8
© Systemic Pty Ltd September 2014 Training Course - Sydney: SIF3: Events & Demo 8 Infrastructure required for Events (cont.) Who Provides Event Infrastructure? DIRECT Environment: Optional. Neither the Java nor the.Net SIF3 Framework support events for DIRECT Environments. Brokered Environment: Yes =>Broker will take care of all the Event Infrastructure and Requirements.
9
© Systemic Pty Ltd September 2014 Training Course - Sydney: SIF3: Events & Demo 9 SIF3 Frameworks & Events Java Full support for Events in a Brokered Environment. Publish (Object Provider): Extend BaseEventProvider Subscribe (Object Consumer): Extend AbstractEventConsumer.Net Not supported, yet
10
© Systemic Pty Ltd September 2014 Training Course - Sydney: SIF3: Events & Demo 10 Events Demo 100,000 Daily Attendance Records CREATE (today’s attendances) Let’s assume 0.1sec per message to transmit SIF 2.xSIF 3.x 1 CREATE record/event message 100 CREATE records/event message 100,000 Get Messages 100,000 DEL/ACK Messages 1,000 Get Messages One Consumer Thread to deal with 200,000 messages sequentially 2 Concurrent Consumer Threads deal with 500 messages each Total Time Taken: 5.5hours!!!Total Time Taken: 1:40min!!! 200 times faster
11
© Systemic Pty Ltd September 2014 Training Course - Sydney: SIF3: Events & Demo 11 Events Demo (cont.) Broker: Amazon Instance (Sydney) Micro Instance Basic single CPU single Core (not Xeon) @ 1.0 - 1.2 GHz 0.615 GByte Memory Consumer: Amazon Instance (Sydney) Small Instance ( Uses SIF3 Framework, Java 7 ) Basic single CPU single core Xeon @ 1.0 -1.2 GHz 1.7 GByte Memory iPhone 5s: 1 CPU, 2 Cores @ 1.3GHz 1 GByte Memory
12
© Systemic Pty Ltd September 2014 Training Course - Sydney: SIF3: Events & Demo 12 Where do I get access to a Broker? Contact: Systemic Pty Ltd Joerg Huber: joerg.huber@systemic.com.au Raf Rafiq: raf.rafiq@systemic.com.au
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.