<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
       "http://www.w3.org/TR/html4/loose.dtd">
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>ECF New and Noteworthy</title>
<link rel="stylesheet" href="http://www.eclipse.org/default_style.css"
	type="text/css">

</head>

<body bgcolor="#FFFFFF">
	<table border=0 cellspacing=5 cellpadding=2 width="100%">
		<tbody>
			<tr>
				<td width="69%" class="bannertext">
				<img src="https://wiki.eclipse.org/images/b/b8/Logo128x37.png" alt="ECF Logo"/>
				<font class="indextop style">Eclipse Communication Framework (ECF)</font>
						
						<br>
				<br> <font class="indexsub">an eclipse runtime project</font> <br>
				<br> <font class="indextop style2">New and Noteworthy</font><br>
					3.14.13 Release <br> <br>
				<br> Return to <a href="downloads.php">ECF download page</a><br>
					<br>

				<br><a
					href="NewAndNoteworthy_3.14.8.html">New and Noteworthy for 3.14.8</a><br>
					<br>
				<br></td>
				<td width="31%">
					<div align="center">
						<img src="images/Idea.jpg" width="120" height="86" hspace="50"
							align="middle" alt="Idea Icon">
					</div>
				</td>
			</tr>
		</tbody>
	</table>

	<hr>

	<table>
		 <tr>
			<td valign="top" align="left" width="15%">
				<p align="left">
					<b>New Distribution Provider using gRPC</b>
				</p>
			</td>
			<td valign="top" width="85%"><p>There is a new distribution provider available at ECF's 
			github repo <a href="https://github.com/ECF/grpc-RemoteServicesProvider">https://github.com/ECF/grpc-RemoteServicesProvider</a> that is based upon <a href="https://grpc.io/">gRPC</a>.  
			This provider, along with <a href="https://github.com/ECF/grpc-osgi-generator">another project for
			generating OSGi service interfaces</a> from the protocol buffers (.proto) definition of the service makes it very easy to generate the java service interface classes, and then export them (and import them) 
			as <a href="https://osgi.org/specification/osgi.cmpn/7.0.0/service.remoteservices.html">OSGi Remote Services</a>. 
			See also the <a href="https://wiki.eclipse.org/Distribution_Providers">ECF Distribution Providers</a> wiki page.</p>
		    <p></p>
		    <p></p>
			</td>
		</tr>
		 
		 <tr>
			<td valign="top" align="left" width="15%">
				<p align="left">
					<b>New Distribution and Discovery Provider using Hazelcast 4</a></b>
				</p>
			</td>
			<td valign="top" width="85%"><p>There is a new distribution provider available at ECF's 
			github repo <a href="https://github.com/ECF/HazelcastProvider">https://github.com/ECF/HazelcastProvider</a> that is based upon <a href="https://hazelcast.org/">Hazelcast 4</a>.  
			This provider makes it easy to export, discover, and import  
			as <a href="https://osgi.org/specification/osgi.cmpn/7.0.0/service.remoteservices.html">OSGi Remote Services</a> using Hazelcast 4. 
		    See also the <a href="https://wiki.eclipse.org/Distribution_Providers">ECF Distribution Providers</a> wiki page.</p>
		    <p></p>
		    <p></p>
			</td>
		</tr>
	
		 <tr>
			<td valign="top" align="left" width="15%">
				<p align="left">
					<b>New Distribution and Discovery Provider using Apache Dubbo</a></b>
				</p>
			</td>
			<td valign="top" width="85%"><p>There is a new distribution provider available at ECF's 
			github repo <a href="https://github.com/ECF/DubboProvider">https://github.com/ECF/DubboProvider</a> that is based upon <a href="http://dubbo.apache.org/en-us/">Apache Dubbo</a>.  
			This provider makes it easy to export and import  
			as <a href="https://osgi.org/specification/osgi.cmpn/7.0.0/service.remoteservices.html">OSGi Remote Services</a> using Apache Dubbo. 
            See also the <a href="https://wiki.eclipse.org/Distribution_Providers">ECF Distribution Providers</a> wiki page.</p> <p></p>
		    <p></p>
			</td>
		</tr>
	
		<tr>
			<td valign="top" align="left" width="15%">
				<p align="left">
					<b>Improved Support for R7 OSGi Remote Services and RSA</b>
				</p>
			</td>
			<td valign="top" width="85%"><p>ECF provides implementations of the <a href="https://osgi.org/specification/osgi.cmpn/7.0.0/service.remoteservices.html">Remote Services</a> 
			and <a href="https://osgi.org/specification/osgi.cmpn/7.0.0/service.remoteserviceadmin.html">Remote Service Admin OSGi specifications</a>.
			OSGi R7 includes some additions to the Remote Services specification, specifically focusing on 
			the use of <a href="https://osgi.org/specification/osgi.cmpn/7.0.0/service.remoteservices.html#i1693415">remote service intents</a>.
		    ECF Photon fully supports the R7 specification, and implements the OSGi standard intents via
		    several of the <a href="https://wiki.eclipse.org/Distribution_Providers">ECF distribution providers</a>.</p>
		    <p></p>
		    <p></p>
		    <p>
		    For more information about the use of service intents see 
		    <a href="http://eclipseecf.blogspot.com/2018/05/ecf-photon-supports-osgi-async-intent.html">ECF Photon supports OSGi Async Intent</a> 
		    and <a href="http://eclipseecf.blogspot.com/2018/04/ecf-photon-supports-osgi-r7.html">ECF Photon supports OSGi R7</a>
		    </p>
			</td>
		</tr>
		<tr>
			<td valign="top" align="left" width="15%">
				<p align="left">
					<b>Support for using Bndtools for Remote Services Development</b>
				</p>
			</td>
			<td valign="top" width="85%"><p><a href="http://bndtools.org/">Bndtools</a> is a set of Eclipse plugins that
			aid the development, testing, and deployment of OSGi bundles.  ECF's Photon release has added workspace, project, and bndrun
			templates to help the remote service developer define, implement, and test OSGi Remote Services.   </p>
			<p></p>
			<p></p>
			<p>
			See <a href="https://wiki.eclipse.org/Bndtools_Support_for_Remote_Services_Development">here</a> for
			a short tutorial on how to use bndtools and the new templates.</p>
			</td>
		</tr>
	
</table> 
 
</body> 
</html> 