summaryrefslogtreecommitdiffstats
path: root/site/trunk/site-publish/sca-java-event-processing.html
blob: ce6556b26eca31259cc40c53539048380e91b646 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
<!--

    Licensed to the Apache Software Foundation (ASF) under one or more
    contributor license agreements.  See the NOTICE file distributed with
    this work for additional information regarding copyright ownership.
    The ASF licenses this file to You under the Apache License, Version 2.0
    (the "License"); you may not use this file except in compliance with
    the License.  You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE- 2.0

    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.
-->


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML>
    <HEAD>
		<!-- generateKeywords macro -->
	    <META name="description" content="Apache Tuscany">
        <META name="keywords" content="apache, apache tuscany, tuscany, service, services, fabric, soa, service oriented architecture,  sca, service component architecture, das, sdo, csa, ruby, opensource">
		<!-- generateKeywords macro end -->
		
        <LINK type="text/css" rel="stylesheet" href="http://tuscany.apache.org/stylesheets/default.css">
        <LINK rel="SHORTCUT ICON" href="https://cwiki.apache.org/confluence/display/TUSCANY/$images/favicon.ico">   
        <TITLE>Apache Tuscany : SCA Java Event Processing</TITLE>
    <META http-equiv="Content-Type" content="text/html;charset=UTF-8"></HEAD>
    
    <BODY onload="init()">
        <!-- topNav macro -->
		<TABLE valign="top" border="0" cellspacing="0" cellpadding="0" width="100%" background="http://tuscany.apache.org/images/TuscanyLogoNEW_Text_120px_bg.jpg">
			<TR>
				<TD valing="top" align="left">
					<A href="https://cwiki.apache.org/confluence/pages/viewpage.action?spaceKey=TUSCANY&title=$siteroot"><IMG src="http://tuscany.apache.org/images/TuscanyLogoNEW_Text_120px_bg.jpg" height="91" width="25" border="0"></A>
				</TD>
				<TD>
					<A href="http://tuscany.apache.org/"><IMG src="http://tuscany.apache.org/images/TuscanyLogo.jpg" border="0"></A>
				</TD>
				
				<TD width="100%">
					&nbsp;
				</TD>

				<!-- Adds the edit page link to the top banner-->
				<TD valign="bottom">
					<DIV style="padding: 2px 10px; margin: 0px;">
						<A href="https://cwiki.apache.org/confluence/pages/editpage.action?pageId=99612">
						<IMG src="http://tuscany.apache.org/images/notep_16.gif" height="16" width="16" border="0" align="absmiddle" title="Edit Page"></A>
					</DIV>
				</TD>

			</TR>
		</TABLE>
        <!-- topNav macro end -->

		<!-- breadCrumbs macro -->
		<TABLE border="0" cellpadding="2" cellspacing="0" width="100%">
			<TR class="topBar">
				<TD align="left" valign="middle" class="topBarDiv" nowrap="true" width="100%">
					&nbsp;<A href="home.html" title="Apache Tuscany">Apache Tuscany</A>&nbsp;&gt;&nbsp;<A href="home.html" title="Home">Home</A>&nbsp;&gt;&nbsp;<A href="sca-overview.html" title="SCA Overview">SCA Overview</A>&nbsp;&gt;&nbsp;<A href="sca-java.html" title="SCA Java">SCA Java</A>&nbsp;&gt;&nbsp;<A href="java-sca-documentation-menu.html" title="Java SCA Documentation Menu">Java SCA Documentation Menu</A>&nbsp;&gt;&nbsp;<A href="" title="SCA Java Event Processing">SCA Java Event Processing</A>
				</TD>
				
				<TD align="right" valign="middle" class="topBarDiv" align="left" nowrap="true">
				<A href="http://mail-archives.apache.org/mod_mbox/tuscany-user">User List</A> | <A href="http://mail-archives.apache.org/mod_mbox/tuscany-dev">Dev List</A> | <A href="http://issues.apache.org/jira/browse/Tuscany">Issue Tracker</A>&nbsp;&nbsp;
				</TD>
			</TR>
		</TABLE>
		<!-- breadCrumbs macro end -->


        <TABLE border="0" cellpadding="0" width="100%" bgcolor="#FFFFFF">
            <TR>
                <TD align="left" valign="top">

					<!-- pageContent macro -->
					<DIV id="PageContent">
												
						<DIV class="pagecontent">
							<DIV class="wiki-content">
								<P>This page is the top level page for information relating to the SCA Java Event Processing work.</P>

<P>There is a Prototype project for SCA Event processing being carried out in a Sandbox associated with the SCA Java project (sandbox/event).  These pages help to describe the work taking place in that sandbox.</P>

<H2><A name="SCAJavaEventProcessing-EventProcessingComparedwithServiceProcessing"></A>Event Processing Compared with Service Processing</H2>

<P>Currently SCA describes a programming model which is concerned with Service Processing - business function is developed as a series of services, which are implemented by components.  Each service may have one or more operations.  Each operation typically has (zero or more) request message and optionally some response message. One important aspect of a service operation is that the client invokes a specific operation, providing the necessary request message, and the client knows that a specific service implementation will execute the operation - and the operation usually has some implied business semantics associated with it.  SCA provides a model for writing services and service clients at the implementation language level (eg in Java) and also an Assembly level model for composing sets of components together, satisfying service references made by one component by wiring them to a component that provides the service.</P>

<P>Event processing is a different approach to programming business applications, offering a more loose coupled approach to application design.  In event processing, one component can produce a message, called an Event, which it makes available for other components to consume.  The Producer component produces the event whether or not there are actually any Consumer components listening for that event.  The event can be received by zero, one or many Consumer components.  When a Producer produces an event, no semantics are implied for what processing should happen if the event is consumed - a consumer component is free to do what it wants with the event. A Consumer may consume only one type of event, or it may consume many different types of events.&nbsp; A consumer may consume events from only one producer or it may consume events from many different producers.</P>

<P>As for Service Processing, SCA Event Processing is described at two levels:</P>
<OL>
	<LI>The programming model for writing component implementations with event consumers and/or event producers</LI>
	<LI>The Assembly model for combining multiple components into an application, linking producers with consumers</LI>
</OL>



<P>These are extensions to the standard SCA Service Processing model - not replacements, so that components may offer or use services alongside the producing or consuming of events.</P>

<P>The following page describes the Event Processing model for Java implementations:<BR>
<A href="java-implementation-model-for-event-processing.html" title="Java Implementation Model for Event Processing">Java Implementation Model for Event Processing</A></P>


<P>The following page describes the Event Processing Assembly model:<BR>
<A href="assembly-model-for-event-processing.html" title="Assembly Model for Event Processing">Assembly Model for Event Processing</A></P>

<P>The following page describes the sandbox implementation of the SCA Event Processing Model:<BR>
<A href="sandbox-implementation-of-sca-event-processing.html" title="Sandbox Implementation of SCA Event Processing">Sandbox Implementation of SCA Event Processing</A></P>
							</DIV>
						</DIV>
					</DIV>	
		            <!-- pageContent macro end -->
					
                </TD>
            </TR>
        </TABLE>

		<!-- footer macro -->
				<SCRIPT src="http://www.google-analytics.com/urchin.js" type="text/javascript">
		</SCRIPT>
		<SCRIPT type="text/javascript">
		   _uacct = "UA-1174707-5";
		   urchinTracker();
		</SCRIPT>
		
				<A href="http://www.statcounter.com/" target="_blank"><IMG src="http://c26.statcounter.com/counter.php?sc_project=2619156&java=0&security=94bd7e7d&invisible=0" alt="website stats" border="0"></A>    

		<DIV class="footer">
			Copyright � 2003-2012, The Apache Software Foundation&nbsp;&nbsp;</BR>
                        Apache Tuscany and the Apache Tuscany project logo are trademarks of The Apache Software Foundation.
		</DIV>
		<!-- footer macro end -->

    </BODY>
</HTML>