<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<?xml-stylesheet type="text/xsl" href="http://www.eclipse.org/projects/project-plan.xsl"?>
<plan xmlns="http://www.eclipse.org/project/plan" xmlns:html="http://www.w3.org/1999/xhtml" plan-format="1.0" name="Eclipse SOA Runtime Framework (Swordfish)">
	<release projectid="soa.swordfish" version="0.10"/>
	<introduction>
		<html:div>The goal of the Swordfish project is to provide an extensible SOA framework based 
    on the proven Eclipse Equinox runtime technology. The framework is designed to be complemented 
    by additional open source components such as a service registry, a messaging system, a process 
    engine etc. to form a comprehensive open source SOA runtime environment based on both established 
    and emerging open standards.</html:div>
	</introduction>
	<release_deliverables>
		<html:div>
			<html:ul>
				<html:li><html:strong>Tooling</html:strong>:
          delivers tools to help the develepors create, test and deploy Swordfish enabled consumers
          and providers. Also included is a detailed documentation.
        </html:li>
				<html:li><html:strong>Runtime</html:strong>:
          delivers the core framework and exemplary implementation for the core framework's extension
          points to be used as target platform.
        </html:li>
			</html:ul>
		</html:div>
	</release_deliverables>
	<release_milestones>
		<preamble>
			<html:div>
        The Sowrdfish version 0.10 milestones and release candidates will be aligned with the release schedule
        of the Helios Simultaneous Release train (offset +3)
      </html:div>
		</preamble>
		<milestone date="11/11/2009" milestone="M3"><html:div>0.10 M3</html:div></milestone>
		<milestone date="12/16/2009" milestone="M4"><html:div>0.10 M4</html:div></milestone>
		<milestone date="02/03/2010" milestone="M5"><html:div>0.10 M5</html:div></milestone>
		<milestone date="03/17/2010" milestone="M6"><html:div>0.10 M6</html:div></milestone>
		<milestone date="05/05/2010" milestone="M7"><html:div>0.10 M6</html:div></milestone>
		<milestone date="19/05/2010" milestone="RC1"><html:div>0.10 RC1</html:div></milestone>
		<milestone date="26/05/2010" milestone="RC2"><html:div>0.10 RC2</html:div></milestone>
		<milestone date="02/06/2010" milestone="RC3"><html:div>0.10 RC3</html:div></milestone>
		<milestone date="09/06/2010" milestone="RC4"><html:div>0.10 RC4</html:div></milestone>
		<postamble><html:div><html:p>The ramp down policy is the following:</html:p>
		<html:p>With M6  we will freeze the API, no new features will be  
		added after M7 .
		Starting with RC3 only bugs with severity Blocker or Critical and  
		target milestone 0.10 may still be fixed. This has to be accompanied  
		with a notification to the swordfish-dev list.</html:p></html:div>
		</postamble>
		
	</release_milestones>
	<target_environments>
		<html:div>Swordfish 0.10 will depend on Equinox 3.6.. The sources will be compiled against 1.6 JDK and are
      designed to run on 1.6 Java Runtime Environment, Standard Edition.</html:div>
		<internationalization>
			<html:div>For Swordfish Tooling the plugins are developed following common rules  
		about string externalization to make the internationalization possible.</html:div>
		</internationalization>
	</target_environments>
	<compatibility_with_previous_releases>
		<html:div>The APIs are still provisional and are expected to further evolve based on the experience we get
        when implementing the exemplary plugins and the community feedback. Stabilization is planned after the 0.10  
        release targeted end of 2010</html:div>
	</compatibility_with_previous_releases>
	<themes_and_priorities>
		<!--
    <preamble>
     <html:p>
Since Swordfish 1.0 will be the first public release, the major focus of the development activities is to stabilize the framework APIs.
     </html:p>
    </preamble>
-->
		<theme name="Enhanced Policy Processing">
			<description>
				<html:div>Swordfish allows to define non functional aspects of a service call in a declarative way via so called
          policies. Non functional aspects that may be specified in a policy may be e.g. encryption or compression of  
          the  messages. Policy processing is implemented by providing policy based message interceptors  which can be
          pluged into the Swordfish framework invoked during message processing. A Message Interceptor is responsible for
          processing a message regarding one policy aspect. Currently we only have a very limited number of policy interceptor,  
          but aim to provide exemplary interceptors for the most common policies.
        </html:div>
			</description>
			<committed>
				<html:div>
					<html:ul>
						<html:li>Authentication interceptor (using Eclipse Higgins STS)</html:li>
						<html:li>Compression interceptor (using gzip)</html:li>
						<html:li>Validation interceptor (using XML Schema validation)</html:li>
						<html:li>Transformation interceptor (using XSLT)</html:li>
					</html:ul>
				</html:div>
			</committed>
			<proposed>
				<html:div>
					<html:ul>
						<html:li>Authorization interceptor</html:li>
						<html:li>Encryption interceptor</html:li>
						<html:li>Signature interceptor</html:li>
					</html:ul>
				</html:div>
			</proposed>
		</theme>
		<theme name="Remote Swordfish Provider Deployment">
			<description>
				<html:div>Initial support for an easy deployment of Swordfish Provider to a remote OSGI Application Server from within
	      the Eclipse IDE. This might be to a server on premise or within the Cloud.
        </html:div>
			</description>
			<committed>
				<html:div>
					<html:ul>
						<html:li>Equinox 3.6</html:li>
					</html:ul>
				</html:div>
			</committed>
			<proposed>
				<html:div>
					<html:ul>
						<html:li>SpringSource dm Server</html:li>
						<html:li>Eclipse Gemini</html:li>
					</html:ul>
				</html:div>
			</proposed>
		</theme>
		<theme name="Service Activity Monitoring (Metric data)">
			<description>
				<html:div>The current swordfish version already provides sporadic management information. We want
          systematically add measuring points to collect metrics and other management information and provide
          a unified JMX interface to retrieve the information and e.g. visualize it in a JMX enbaled management
          console.
        </html:div>
			</description>
			<committed>
				<html:div>
					<html:ul>
						<html:li>Min., Avg. and Max. Response Time for three configurable time periods e.g. 5, 15, 60 min</html:li>
						<html:li>Number of requests that failed due to application errors during the selected periods </html:li>
						<html:li>Number of failures due to communication problems during selected periods</html:li>
						<html:li>Total number of requests in the period</html:li>
					</html:ul>
				</html:div>
			</committed>
		</theme>
		<theme name="JMS Transport">
			<description>
				<html:div>Swordfish provides the abiltiy to change the transport binding dynamically 
          based on a transport policy for Swordfish 0.10 we will support additionally to 
          HTTP/HTTPs also JMS based tranport.
        </html:div>
			</description>
			<committed>
				<html:div>
					<html:ul>
						<html:li>Apache Active MQ</html:li>
					</html:ul>
				</html:div>
			</committed>
		</theme>
		<theme name="Stabilizing API's">
			<description>
				<html:div>When implementing the exemplary plugins for we realized that some parts of the API
          need improvement to ensure to ensure that a wide variety of plugins can be implemented and
          make it as convenient as possible to implement the plugins. We want to take the chance to  
          improve them as long as we are in incubation.
        </html:div>
			</description>
		</theme>
	</themes_and_priorities>
	<appendix/>
</plan>

