From 200a40b332420f94992eb39a6d0ea1cf1490ffc4 Mon Sep 17 00:00:00 2001 From: coreyg Date: Fri, 21 Nov 2014 09:30:19 +0000 Subject: Adding tuscany's website to their svn repo for svnpubsub git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@1640879 13f79535-47bb-0310-9956-ffa450edef68 --- .../assembly-model-for-event-processing.html | 187 +++++++++++++++++++++ 1 file changed, 187 insertions(+) create mode 100644 site/trunk/site-publish/assembly-model-for-event-processing.html (limited to 'site/trunk/site-publish/assembly-model-for-event-processing.html') diff --git a/site/trunk/site-publish/assembly-model-for-event-processing.html b/site/trunk/site-publish/assembly-model-for-event-processing.html new file mode 100644 index 0000000000..a997b91cc4 --- /dev/null +++ b/site/trunk/site-publish/assembly-model-for-event-processing.html @@ -0,0 +1,187 @@ + + + + + + + + + + + + + + + Apache Tuscany : Assembly Model for Event Processing + + + + + + + + + + + + + + + +
+ + + + +   + +
+ + +
+
+ + + + + + + + + +
+  Apache Tuscany > Home > SCA Overview > SCA Java > Java SCA Documentation Menu > SCA Java Event Processing > Assembly Model for Event Processing + + User List | Dev List | Issue Tracker   +
+ + + + + + + +
+ + +
+ +
+
+

This page describes the SCA Assembly model for event processing.

+ +

The SCA Assembly model for Event Processing is an extension of the standard SCA Assembly model. All the standard SCA Assembly model features continue to be available. The Event Processing model adds the following extensions:

+
    +
  • Component Type is extended so that the Component Type can have zero or more <producer/> elements and zero or more <consumer/> elements, alongside <service/> and <reference/> elements
  • +
  • Component elements are extended so that a Component can have zero or more <consumer/> elements and zero or more <producer/> elements, which can be used to configure the consumer and producer elements of the implementation used by the Component
  • +
  • Component producers can be linked to component consumers in the assembly through @target attribute in the component producer elements or @source attribute in the component consumer elements
  • +
+ + +

Component Type - Event Processing Extensions

+ +

The component type of an implementation is extended to include zero or more consumer elements and zero or more producer elements:

+
+
+<componentType>
+        <implementation ... />?
+	<service ... />*
+	<reference ... />*
+	<property ... />*
+        <consumer name="xs:NCName" eventTypes="list of xs:QName"?/>*
+	<producer name="xs:NCName" eventTypes="list of xs:QName"?/>*
+</componentType>
+
+
+

Each consumer and each producer has a Name. The Name must be unique amongst the names of consumers, producers, services, references of the componentType.

+ +

Each consumer and each producer has an optional list of event types. For a producer, the list of event types indicates which event types can be produced by the producer. If no event types are listed, the producer may produce events of any type. For a consumer, the list of event types indicates which event types can be consumed by the consumer - and this list is used to filter messages received by the consumer - only events with event types that are in the list will be sent to the consumer. If no event types are listed, then all event types are consumed by the consumer.

+ +

Component - Event Processing Extensions

+ +

The component element within an SCA composite is extended to include zero or more consumer elements and zero or more producer elements.

+
+
+<component ... >*
+	<implementation/>
+	<service ... />*
+	<reference ... />*
+	<property ... />*
+	<consumer name="xs:NCName" source="list of xs:anyURI"? eventTypes="list of xs:QName"?>
+		<filters/>*
+	</consumer>
+	<producer name="xs:NCName" target="list of xs:anyURI"? eventTypes="list of xs:QName"?>
+	</producer>
+</component>
+
+
+

The component consumer and producer elements configure the consumer and producer elements of the implementation as described by its component type.
+Component producer elements declare where events from the producer are sent, through the @target attribute. The target attribute lists one or more target consumers, in the form of a space separated list of the form "ComponentName/ConsumerName", where "ComponentName" is the name of a component within the same composite and "ConsumerName" is the name of a consumer on that component.

+ +

Component consumer elements can declare from where the events are received by the consumer, through the @source attribute. The source attribute lists one or more source producers, in the form of a space separated list of the form "ComponentName/ProducerName", where "ComponentName" is the name of a component within the same composite and "ProducerName" is the name of a producer on that component.

+ +

Both consumer and producer elements can declare a list of event types, using the @eventTypes attribute. For a producer, the list of event types indicates which event types can be produced by the producer. If no event types are listed, the producer may produce events of any type. For a consumer, the list of event types indicates which event types can be consumed by the consumer - and this list is used to filter messages received by the consumer - only events with event types that are in the list will be sent to the consumer. If no event types are listed, then all event types are consumed by the consumer.

+ +

Component Diagram including Producer and Consumer

+ +

The following is a diagram for a component which has services, references, producers and consumers:

+ +

Composite with Producer linked to a Consumer

+ +

The following diagram shows a composite with a component producer linked to a component consumer:
+ The composite corresponding to this is:

+
+
+<composite name="Composite_X">
+    <component name="Component1">
+        <producer name="Producer1" target="Component1/Consumer1"/>
+    </component>
+
+    <component name="Component2">
+        <consumer name="Consumer1"/>
+    </component>
+</composite>
+
+
+
+
+
+ + +
+ + + + + + website stats + + + + + + -- cgit v1.2.3