<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	>

<channel>
	<title>Caucho Technology</title>
	<atom:link href="http://blog.caucho.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.caucho.com</link>
	<description>Inside info, thoughts, and opinions from Caucho engineers</description>
	<pubDate>Wed, 16 May 2012 21:09:15 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Does Resin Support EJB remoting?</title>
		<link>http://blog.caucho.com/2012/05/16/java-ee-resin-cdi-remoting-hessian/</link>
		<comments>http://blog.caucho.com/2012/05/16/java-ee-resin-cdi-remoting-hessian/#comments</comments>
		<pubDate>Wed, 16 May 2012 21:08:20 +0000</pubDate>
		<dc:creator>rick</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.caucho.com/?p=1062</guid>
		<description><![CDATA[The short answer is no. The longer answer is that Resin supports Hessian for remoting. And, in about 20 lines of code, you can expose all @Stateless/@Remote beans as remote services using the Hessian protocol using CDI and Servlet 3.0, which are part of Resin and part of Java EE Web Profile (as Resin 4 [...]]]></description>
			<content:encoded><![CDATA[<p>The short answer is no. The longer answer is that Resin supports Hessian for remoting. And, in about 20 lines of code, you can expose all @Stateless/@Remote beans as remote services using the Hessian protocol using CDI and Servlet 3.0, which are part of Resin and part of Java EE Web Profile (as Resin 4 is a Java EE Web Profile certified application server).</p>
<p>Hessian (now Hessian 2) predates many other forms of remoting and is a [http://daniel.gredler.net/2008/01/07/java-remoting-protocol-benchmarks/ wicked fast, binary protocol] (faster than CORBA, RMI, SOAP, XML-RPC, etc). You could think of Hessian as a high performance binary JSON. Hessian has been ported to many languages. Hessian is a remoting framework and a flexible Java serialization framework.</p>
<p>You can expose any bean as a Hessian remote bean quite easily. Hessian has been around for 10 years, and is very solid. (Both Hessian and Resin are development and maintained by Caucho).</p>
<p>Resin 4 documentation does not have Hessian documentation yet, but Hessian usage has not changed in years. You can find a good tutorial on getting started with Hessian from the [http://www.caucho.com/resin-3.0/protocols/hessian.xtp Resin 3 documentation]. I&#8217;ve tried these tutorial steps in Resin 4 and the tutorial works as advertised.</p>
<p>Resin 4 is Java EE Web Profile certified as such it does not support CORBA, EJB remoting, etc. However Resin does support Java Dependency Injection (CDI), which allows you to easily find beans with certain annotations. What follows is a simple example that finds all @Stateless beans that have @Remote interfaces and automatically exposes those beans as remote hessian objects.</p>
<p>To learn more go to our <a href="http://wiki4.caucho.com/Does_Resin_4_Support_Remoting%3F">wiki for Resin 4 Java EE WebProfile application server</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.caucho.com/2012/05/16/java-ee-resin-cdi-remoting-hessian/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Integrating with Resin REST: Graphs</title>
		<link>http://blog.caucho.com/2012/03/07/integrating-with-resin-rest-graphs/</link>
		<comments>http://blog.caucho.com/2012/03/07/integrating-with-resin-rest-graphs/#comments</comments>
		<pubDate>Wed, 07 Mar 2012 22:48:57 +0000</pubDate>
		<dc:creator>alex</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.caucho.com/?p=1059</guid>
		<description><![CDATA[I&#8217;ve added a cookbook that demonstrates how to create a Graph using Resin REST and flot graph plotting library. The sample php file works with Resin-Pro-4.0.26.
wiki: Application Server: REST Graphing
The sample page requires jquery.flot.js. You can copy the files from doc/admin/flot located in Resin distributable.
]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve added a cookbook that demonstrates how to create a Graph using Resin REST and flot graph plotting library. The sample php file works with Resin-Pro-4.0.26.</p>
<p><a href="http://wiki4.caucho.com/Application_Server:_REST_Graphing">wiki: Application Server: REST Graphing</a></p>
<p>The sample page requires jquery.flot.js. You can copy the files from doc/admin/flot located in Resin distributable.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.caucho.com/2012/03/07/integrating-with-resin-rest-graphs/feed/</wfw:commentRss>
		</item>
		<item>
		<title>PHP with CGI and FastCGI</title>
		<link>http://blog.caucho.com/2012/02/03/php-with-cgi-and-fastcgi/</link>
		<comments>http://blog.caucho.com/2012/02/03/php-with-cgi-and-fastcgi/#comments</comments>
		<pubDate>Sat, 04 Feb 2012 00:16:33 +0000</pubDate>
		<dc:creator>Paul Cowan</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.caucho.com/?p=1050</guid>
		<description><![CDATA[I&#8217;ve added 2 cookbooks to the Resin 4 Wiki demonstrating Resin&#8217;s capability to execute scripts via CGI and FastCGI.
 wiki: Native PHP With CGIServlet 
 wiki: Native PHP With FastCGIServlet 
The example use PHP as the CGI executable, but they can be easily adapted to any CGI script.  
Of course Resin includes Quercus, a [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve added 2 cookbooks to the <a href="http://wiki4.caucho.com">Resin 4 Wiki</a> demonstrating Resin&#8217;s capability to execute scripts via <a href="http://en.wikipedia.org/wiki/Common_Gateway_Interface">CGI</a> and <a href="http://en.wikipedia.org/wiki/FastCGI">FastCGI</a>.</p>
<li> <a href="http://wiki4.caucho.com/Application_Server:_Native_PHP_With_CGIServlet">wiki: Native PHP With CGIServlet</a> </li>
<li> <a href="http://wiki4.caucho.com/Application_Server:_Native_PHP_With_FastCGIServlet">wiki: Native PHP With FastCGIServlet</a> </li>
<p>The example use PHP as the CGI executable, but they can be easily adapted to any CGI script.  </p>
<p><i>Of course Resin includes <a href="http://quercus.caucho.com/">Quercus, a 100% pure Java PHP interpreter</a>.  These examples demonstrate how to execute the native PHP interpreter without the need for Apache.</i></p>
<p>I also included instruction on setting up <a href="http://wordpress.org/">WordPress</a> with CGI and FastCGI.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.caucho.com/2012/02/03/php-with-cgi-and-fastcgi/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Resin Custom URL Rewriting</title>
		<link>http://blog.caucho.com/2012/01/25/resin-custom-url-rewriting/</link>
		<comments>http://blog.caucho.com/2012/01/25/resin-custom-url-rewriting/#comments</comments>
		<pubDate>Wed, 25 Jan 2012 23:20:09 +0000</pubDate>
		<dc:creator>ferg</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.caucho.com/?p=1048</guid>
		<description><![CDATA[I added a new cookbook to create a custom URL rewrite rule.
wiki: Resin Application Server: Custom Rewrite Rules
Resin&#8217;s URL rewriting is similar to Apache&#8217;s mod_rewrite, using regexp matching and the CDI XML syntax for built-in rules like resin:Redirect, resin:MovedPermanently and resin:Dispatch. In addition to the build-in rules, you can create your own custom rules for [...]]]></description>
			<content:encoded><![CDATA[<p>I added a new cookbook to create a custom URL rewrite rule.</p>
<p><a href="http://wiki4.caucho.com/Resin:_Application_Server:_Custom_Rewrite_Rule">wiki: Resin Application Server: Custom Rewrite Rules</a></p>
<p>Resin&#8217;s URL rewriting is similar to Apache&#8217;s mod_rewrite, using regexp matching and the CDI XML syntax for built-in rules like resin:Redirect, resin:MovedPermanently and resin:Dispatch. In addition to the build-in rules, you can create your own custom rules for more sophisticated<br />
URL management. This wiki cookbook gives a quick example of one of those rules.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.caucho.com/2012/01/25/resin-custom-url-rewriting/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Resin Clustered Application Server Configuration</title>
		<link>http://blog.caucho.com/2012/01/19/resin-clustered-application-server-configuration/</link>
		<comments>http://blog.caucho.com/2012/01/19/resin-clustered-application-server-configuration/#comments</comments>
		<pubDate>Fri, 20 Jan 2012 02:44:34 +0000</pubDate>
		<dc:creator>ferg</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.caucho.com/?p=1046</guid>
		<description><![CDATA[A new cookbook showing the new parameterized configuration for resin.xml. The resin.xml can now import a properties file and use the properties as EL expressions like ${http} to create clean configurations. The example shows a simple, but complete cluster of three Resin servers acting as http servers, including the health system.
wiki4: Resin Application Server: Parameterized [...]]]></description>
			<content:encoded><![CDATA[<p>A new cookbook showing the new parameterized configuration for resin.xml. The resin.xml can now import a properties file and use the properties as EL expressions like ${http} to create clean configurations. The example shows a simple, but complete cluster of three Resin servers acting as http servers, including the health system.</p>
<p><a href="http://wiki4.caucho.com/Resin:_Application_Server:_Parameterized_Web_Server_Cluster">wiki4: Resin Application Server: Parameterized Web Server Cluster</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.caucho.com/2012/01/19/resin-clustered-application-server-configuration/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Resin Messaging: CDI and JMS configuration</title>
		<link>http://blog.caucho.com/2012/01/13/resin-messaging-cdi-and-jms-configuration/</link>
		<comments>http://blog.caucho.com/2012/01/13/resin-messaging-cdi-and-jms-configuration/#comments</comments>
		<pubDate>Sat, 14 Jan 2012 01:53:22 +0000</pubDate>
		<dc:creator>ferg</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.caucho.com/?p=1043</guid>
		<description><![CDATA[Another cookbook at wiki4: Resin Messaging: JMS Topic Configuration with CDI and JNDI as requested by a customer.
The cookbook will be interesting if you want to see a relatively-complicated Resin CDI configuration which includes JNDI for the purpose of Spring integration, and also showing how custom facades can be combined with a standard JMS Topic [...]]]></description>
			<content:encoded><![CDATA[<p>Another cookbook at <a href="http://wiki4.caucho.com/Resin_Messaging:_JMS_Memory_Topic_Configuration_with_CDI_and_JNDI">wiki4: Resin Messaging: JMS Topic Configuration with CDI and JNDI</a> as requested by a customer.</p>
<p>The cookbook will be interesting if you want to see a relatively-complicated Resin CDI configuration which includes JNDI for the purpose of Spring integration, and also showing how custom facades can be combined with a standard JMS Topic configuration. </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.caucho.com/2012/01/13/resin-messaging-cdi-and-jms-configuration/feed/</wfw:commentRss>
		</item>
		<item>
		<title>WebSocket and Hessian</title>
		<link>http://blog.caucho.com/2012/01/12/websocket-and-hessian/</link>
		<comments>http://blog.caucho.com/2012/01/12/websocket-and-hessian/#comments</comments>
		<pubDate>Fri, 13 Jan 2012 02:35:34 +0000</pubDate>
		<dc:creator>ferg</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.caucho.com/?p=1041</guid>
		<description><![CDATA[I&#8217;ve added a wiki cookbook on Resin WebSockets and Hessian.
wiki4: Resin Messaging: WebSockets with Hessian
Note, that this is a binary websocket protocol, so it would be used with a custom websocket client, not a browser. Since the browsers currently prefer speaking text websockets, the equivalent would be a JSON server.
]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve added a wiki cookbook on Resin WebSockets and Hessian.</p>
<p><a href="http://wiki4.caucho.com/Resin_Messaging_:_WebSockets_with_Hessian">wiki4: Resin Messaging: WebSockets with Hessian</a></p>
<p>Note, that this is a binary websocket protocol, so it would be used with a custom websocket client, not a browser. Since the browsers currently prefer speaking text websockets, the equivalent would be a JSON server.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.caucho.com/2012/01/12/websocket-and-hessian/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Resin Web Server: Using URL Write to Forbid non-SSL Requests</title>
		<link>http://blog.caucho.com/2012/01/11/resin-web-server-using-url-write-to-forbid-non-ssl-requests/</link>
		<comments>http://blog.caucho.com/2012/01/11/resin-web-server-using-url-write-to-forbid-non-ssl-requests/#comments</comments>
		<pubDate>Thu, 12 Jan 2012 01:49:27 +0000</pubDate>
		<dc:creator>ferg</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.caucho.com/?p=1039</guid>
		<description><![CDATA[As a request from a user, I&#8217;ve written up a short wiki cookbook for Resin 4.0&#8217;s URL rewrite for a security rule to require SSL for a section of a website.
Wiki: Resin Web Server: URL Rewrite Forbidding non-SSL Requests
The example is pretty simple, since it just needs the  as the action rule, and a [...]]]></description>
			<content:encoded><![CDATA[<p>As a request from a user, I&#8217;ve written up a short wiki cookbook for Resin 4.0&#8217;s URL rewrite for a security rule to require SSL for a section of a website.</p>
<p><a href="http://wiki4.caucho.com/Resin:_Web_Server:_URL_Rewrite_Forbidding_Non-SSL_Requests">Wiki: Resin Web Server: URL Rewrite Forbidding non-SSL Requests</a></p>
<p>The example is pretty simple, since it just needs the <resin:Forbidden> as the action rule, and a single predicate, <resin:IfSecure> to test the request. Because it&#8217;s simple, it&#8217;s a good introductory example of Resin&#8217;s URL rewriting for people who haven&#8217;t looked into it yet.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.caucho.com/2012/01/11/resin-web-server-using-url-write-to-forbid-non-ssl-requests/feed/</wfw:commentRss>
		</item>
		<item>
		<title>javax.cache and CDI</title>
		<link>http://blog.caucho.com/2012/01/05/javaxcache-and-cdi/</link>
		<comments>http://blog.caucho.com/2012/01/05/javaxcache-and-cdi/#comments</comments>
		<pubDate>Thu, 05 Jan 2012 19:24:22 +0000</pubDate>
		<dc:creator>ferg</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.caucho.com/2012/01/05/javaxcache-and-cdi/</guid>
		<description><![CDATA[I&#8217;ve written up a quick how-to for configuring a Resin jCache ClusterCache and injecting it with CDI. The application code uses standard classes and CDI annotations and uses the Resin jCache implementation.
http://wiki4.caucho.com/Resin_Java_Cache_using_CDI_Inject
]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve written up a quick how-to for configuring a Resin jCache ClusterCache and injecting it with CDI. The application code uses standard classes and CDI annotations and uses the Resin jCache implementation.</p>
<p><a href="http://wiki4.caucho.com/Resin_Java_Cache_using_CDI_Inject">http://wiki4.caucho.com/Resin_Java_Cache_using_CDI_Inject</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.caucho.com/2012/01/05/javaxcache-and-cdi/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Hessian2Output streaming</title>
		<link>http://blog.caucho.com/2012/01/03/hessian2output-streaming/</link>
		<comments>http://blog.caucho.com/2012/01/03/hessian2output-streaming/#comments</comments>
		<pubDate>Wed, 04 Jan 2012 01:11:31 +0000</pubDate>
		<dc:creator>ferg</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.caucho.com/2012/01/03/hessian2output-streaming/</guid>
		<description><![CDATA[When you&#8217;re using Hessian in a streaming environment like WebSockets, you can improve performance by saving the serialization reflection and reusing the input and output streams.
See  http://wiki4.caucho.com/Hessian_Performance_OutputStream for a short cookbook example.
]]></description>
			<content:encoded><![CDATA[<p>When you&#8217;re using Hessian in a streaming environment like WebSockets, you can improve performance by saving the serialization reflection and reusing the input and output streams.</p>
<p>See <a href="http://wiki4.caucho.com/Hessian_Performance_OutputStream"> http://wiki4.caucho.com/Hessian_Performance_OutputStream</a> for a short cookbook example.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.caucho.com/2012/01/03/hessian2output-streaming/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>

