... h1. Workshop Topic: Introduction to the Intelligent Event Processor
h2. Goal:
Provide an introduction to concepts Event Stream Processing and how they can be implemented using the Intelligent Event Processor. There is already a lot of information from the open esb wiki (for developers [here|http://wiki.open-esb.java.net/Wiki.jsp?page=IEPApplicationDeveloper]). So take the time to take a look at the [official service engine's wiki|http://wiki.open-esb.java.net/Wiki.jsp?page=IEPSE], we will refer to it when we fit in the context of this workshop.
Note that not all materials used here have been developed specifically for this workshop. Follow the links and you'll get to the real authors. The purpose of this workshop is to provide close to 100% conceptual and development coverage over the IEP SE. We can only hope to reach this by leveraging the work of the experts out there. Standing on the shoulders of giants...
h2. Duration:
Duration is to be taken with a grain of salt.... This material is structure so it can go from one afternoon (3 hours) to two days (possibly a week), depending on the level of depth you need to go, especially if this is to be integrated in an overall Java Caps workshop.
A basic rule of the thumb is that each technical exercise should take about 45 min. including presenting/reading it. The business level exercises, where you integrate with other SEs and BCs, should take between 45 min to 2 hours. But this material is not mature enough for that yet.
If we follow this logic, we would have: |
* 4 development and administrative tasks (4*0:45)= 3 hours * 7 technical exercises, (7*0:45)=5:15 hours |
| * 2 business exercises = 2 hours |
| * 3 business exercises = 3 hours |
| * 1 30 minutes introduction |
| * so total of
101:45
hours. |
| |
| If you include the usual interruptions, this material can cover about 2
to 3
days of a workshop. So we see that we are far from the end goal of a full one week training. Again, this is just a guideline, to be taken into context... |
I think in the future we're change the duration to proposed exercise paths (intro, working knowledge and deep dive) with variable time durations. |
... h2. Content:
# Setting the Ground ... #* Application Scenarios incl. Enterprise Integration Pattern topics #* Some Math - Capturing the problem space is an exact form (Terminology, Definitions, further reading etc.) # IEP - Intelligent Event Processing #* A bit of architectural evolution to EDA ... #* What is IEP ? How does it relate to CEP ? What makes it unique ? #* CEP versus ESP, which is it? (good intro paper to the discussion [here|http://complexevents.com/?p=103]...) # IEP and JBI - starting from the bottom #* JBI Infrastructure and IEP #* Link With JBI (WSDL particularities) #* Overview of Input Model, Operators etc. #* How to position an IEP element in a JBI Model (Hence, not try to redo BPEL with IEP)... # Example applications #* Basic technical example (how to use IEP) #** Ordering Messages ([blog reference|http://blogs.sun.com/sblais/entry/iep_for_message_ordering]) #** Detecting Multiple Events (and Filtering them) #*** [Filtering of multiple Instances|JavaCAPS:Duplicate Message Filtering] #*** [Time span filtering and situation detection|JavaCAPS:Time Span Filtering] #** Event stream gap detection ([blog reference|http://blogs.sun.com/sblais/entry/iep_for_message_ordering]) #** [Fanning out events from one to multiple|JavaCAPS:Event Fan Out] #** [Mapping the state of a relation to an external database|JavaCAPS:Cross DB Relational Updates] #* Business example (for each of the Business Problems and Enterprise Integration Patterns' discussed earlier ie Routing, Observer, etc.)
|
#** Using XLST as the interface to IEP (IEP model is flat, but not necessarily other systems) ([open esb wiki reference|http://wiki.open-esb.java.net/Wiki.jsp?page=UsingExistingHierarchicalMessageStructuresInIEP]) #** [Structuring the event processing in specialized stages|JavaCAPS:IEP Event Processing in Stages|Calling external IEP processes for structured development.] |
| #** [Keeping only the last data entry, or a cumulative result.|JavaCAPS:Keeping The Last Value|Keeping a small output table] |
#* CEP Examples #** [Missile launch control|http://wikis.sun.com/display/JavaCAPS/CEP+Missile+Launch+Control|CEP Example, for correlating timed event to be occuring in the same time span.] |
... # Administrative and development aspects #* Clustering Setup ([IEP JBIWiki|http://wiki.open-esb.java.net/Wiki.jsp?page=IEPSEClusteringSetup]) #* High Availability and Failover ([IEP JBIWiki|http://wiki.open-esb.java.net/Wiki.jsp?page=IEPSEHAAndFailover]) #* Monitoring and Debugging ([IEP JBIWiki|http://wiki.open-esb.java.net/Wiki.jsp?page=IEPMonitorAndDebug]) #* Testing with the N2M Component ([JBIWiki|http://wiki.open-esb.java.net/Wiki.jsp?page=CreatingAnN2MTest])
h2. Prerequisites:
* The presentation simply requires the slide deck. * The hands-on exercise requires either JavaCAPS 6 or OpenESB ** If using OpenESB, no further configuration is required ** If using JavaCAPS 6, IEP is provided as a preview feature. Just be on the lookout for its GA release\!
---- |