Presentation is loading. Please wait.

Presentation is loading. Please wait.

Presented by: SIF3: Events Joerg Huber SIF3 Events & Live Demo.

Similar presentations


Presentation on theme: "Presented by: SIF3: Events Joerg Huber SIF3 Events & Live Demo."— Presentation transcript:

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


Download ppt "Presented by: SIF3: Events Joerg Huber SIF3 Events & Live Demo."

Similar presentations


Ads by Google