<?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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Carlos Guerrero</title>
	<atom:link href="http://blogs.adobe.com/cguerrero/feed/" rel="self" type="application/rss+xml" />
	<link>http://blogs.adobe.com/cguerrero</link>
	<description>Adobe technologies for the enterprise</description>
	<lastBuildDate>Thu, 28 Oct 2010 07:17:55 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>Configuring a Reverse Proxy with Apache that handles HTTPS connections</title>
		<link>http://blogs.adobe.com/cguerrero/2010/10/27/configuring-a-reverse-proxy-with-apache-that-handles-https-connections/</link>
		<comments>http://blogs.adobe.com/cguerrero/2010/10/27/configuring-a-reverse-proxy-with-apache-that-handles-https-connections/#comments</comments>
		<pubDate>Wed, 27 Oct 2010 09:10:03 +0000</pubDate>
		<dc:creator>Carlos Guerrero</dc:creator>
				<category><![CDATA[LC configuration]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[JBoss]]></category>
		<category><![CDATA[LiveCycle]]></category>
		<category><![CDATA[SSL]]></category>

		<guid isPermaLink="false">http://blogs.adobe.com/cguerrero/?p=21</guid>
		<description><![CDATA[There is a great post on the LiveCycle Product Blog here that explains how to set up a reverse proxy to filter the URLs of our LiveCycle server that we want to expose. In the case we want our server &#8230; <a href="http://blogs.adobe.com/cguerrero/2010/10/27/configuring-a-reverse-proxy-with-apache-that-handles-https-connections/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>There is a great post on the LiveCycle Product Blog <a href="http://blogs.adobe.com/livecycle/2009/04/fronting_livecyclejboss_with_a.html">here</a> that explains how to set up a reverse proxy to filter the URLs of our LiveCycle server that we want to expose. In the case we want our server to be accessed over SSL, there are some additional steps we will need to follow. Here, I am going to cover this additional piece of configuration required for your Apache reverse proxy to handle HTTPS traffic.</p>
<p style="padding-left: 30px;">1.  Download and install the Apache server from <a href="http://httpd.apache.org/">http://httpd.apache.org</a>. I used Apache 2.2 with OpenSSL when I was writing this. Also, this post is based on JBoss 4.2.1 (Turnkey) running on Windows.</p>
<p style="padding-left: 30px;">2.  Edit the Tomcat configuration file <em>$JBOSS_HOME</em><em>\server\lc_turnkey\deploy\jboss-web.deployer/</em><em>server.xml</em> of your JBoss server, adding the <em>proxyName</em> and <em>proxyPort</em> parameters with the name and port of the LiveCycle server. It should look something like this:</p>
<address style="padding-left: 60px;"><em>&lt;Connector port=&#8221;8443&#8243; protocol=&#8221;HTTP/1.1&#8243; SSLEnabled=&#8221;true&#8221;</em></address>
<address style="padding-left: 60px;"><em>proxyName=&#8221;cg-w2k8-lces2.eur.adobe.com&#8221; proxyPort=&#8221;443&#8243;</em></address>
<address style="padding-left: 60px;"><em>maxThreads=&#8221;150&#8243; scheme=&#8221;https&#8221; secure=&#8221;true&#8221;</em></address>
<address style="padding-left: 60px;"><em>keystoreFile=&#8221;C:/Adobe/Adobe LiveCycle ES2/jboss/server/lc_turnkey/conf/lces.keystore&#8221;</em></address>
<address style="padding-left: 60px;"><em>keystorePass=&#8221;password&#8221;</em></address>
<address style="padding-left: 60px;"><em>clientAuth=&#8221;false&#8221; sslProtocol=&#8221;TLS&#8221; /&gt;</em></address>
<p style="padding-left: 60px;">
<p style="padding-left: 30px;">3.  Use the <em>openssl </em>command to generate a certificate and key that our Apache server will need to handle SSL connections. Open a command prompt, go to <em>Apache2.2\bin</em> and run the <em>openssl</em> command with values matching your environment:</p>
<address style="padding-left: 60px;"><em>openssl req -new -x509 -days 365 -sha1 -newkey rsa:1024 -nodes -keyout server.key -out server.crt -subj &#8220;/O=CompanyXYZ/OU=PS/CN=yourserver.companyxyz.com&#8221; -config  &#8220;C:\Program Files (x86)\Apache Software Foundation\Apache2.2\conf\openssl.cnf&#8221;</em></address>
<address style="padding-left: 60px;"><em><br />
</em></address>
<p style="padding-left: 30px;">4.  Copy the generated <em>server.key</em> and <em>server.crt</em> files to the <em>Apache2.2\conf</em> folder.</p>
<p style="padding-left: 30px;">5.  Open <em>Apache2.2\conf\httpd.conf</em> and uncomment the following lines, which will enable proxying and SSL on the Apache server.:</p>
<address style="padding-left: 60px;"><em>LoadModule proxy_module modules/mod_proxy.so</em></address>
<address style="padding-left: 60px;"><em>LoadModule proxy_http_module modules/mod_proxy_http.so</em></address>
<address style="padding-left: 60px;"><em>LoadModule ssl_module modules/mod_ssl.so</em></address>
<address style="padding-left: 60px;"><em>Include conf/extra/httpd-ssl.conf</em></address>
<address style="padding-left: 60px;"><em><br />
</em></address>
<p style="padding-left: 30px;">6.  Also add the following lines to the <em>httpd.conf</em>:</p>
<address style="padding-left: 60px;"><em># Prevent Apache from acting like a forward proxy<br />
</em><em>ProxyRequests Off<br />
</em></address>
<address style="padding-left: 60px;"><em># Control Client Access<br />
</em><em>&lt;Proxy https://jboss.company.com:8443/&gt;</em><em>Order Deny,Allow<br />
Allow from all</em><em><br />
&lt;/Proxy&gt;</em><em> </em></address>
<address style="padding-left: 60px;"><em># Set TCP/IP network buffer size for better throughput (bytes)<br />
ProxyReceiveBufferSize 4096</em></address>
<address style="padding-left: 60px;"><em><br />
</em></address>
<p style="padding-left: 30px;">7.  Add the reverse proxy configuration at the end of the <em>httpd.conf</em> file:</p>
<address style="padding-left: 60px;"><em>ProxyPass / https://yourserver.companyxyz.com:8443/<br />
ProxyPassReverse / https:// yourserver.companyxyz.com:8443/</em></address>
<address style="padding-left: 60px;"><em><br />
</em></address>
<p style="padding-left: 60px;">As explained in the post I referenced at the beginning, this configuration won’t filter any URL, and it will just redirect every request (/) to the SSL port of the JBoss server. If we want to be more restrictive and only allow specific URLs, we will need to configure that. For example, here we only allow access to the Rights Management UI:</p>
<address style="padding-left: 60px;"><em>ProxyPass /edc https://jboss.company.com:8443/edc</em><em><br />
ProxyPassReverse /edc https://jboss.company.com:8443/edc<br />
</em><em>ProxyPass /um https://jboss.company.com:8443/um</em><em><br />
ProxyPassReverse /um https://jboss.company.com:8443/um<br />
ProxyPass /rightsmgmt_help_en https://jboss.company.com:8443/rightsmgmt_help_en<br />
ProxyPassReverse /rightsmgmt_help_en https://jboss.company.com:8443/rightsmgmt_help_en</em></address>
<p style="padding-left: 30px;">
<p style="padding-left: 30px;">8.  We also need to configure the SSL connection for the Apache server. Open <em>Apache2.2\conf\extra\httpd-ssl.conf </em>and perform the following modifications:</p>
<p style="padding-left: 60px;">- Uncomment the following line:</p>
<address style="padding-left: 60px;"><em>SSLSessionCache         &#8220;dbm:C:/Program Files (x86)/Apache Software Foundation/Apache2.2/logs/ssl_scache&#8221;</em></address>
<address style="padding-left: 60px;"><em><br />
</em></address>
<p style="padding-left: 60px;">- Comment out the following line:</p>
<address style="padding-left: 60px;"><em>SSLSessionCache        &#8220;shmcb:C:/Program Files (x86)/Apache Software Foundation/Apache2.2/logs/ssl_scache(512000)&#8221;</em></address>
<address style="padding-left: 60px;"><em><br />
</em></address>
<p style="padding-left: 60px;">- Locate the <em>&lt;VirtualHost _default_:443&gt;</em> block and insert the following line in it:<em> </em></p>
<address style="padding-left: 60px;"><em>SSLProxyEngine on</em></address>
<address style="padding-left: 60px;"><em><br />
</em></address>
<p style="padding-left: 60px;">The block should look something like the following:</p>
<address style="padding-left: 60px;"><em>…</em></address>
<address style="padding-left: 60px;"><em>##</em></address>
<address style="padding-left: 60px;"><em>## SSL Virtual Host Context</em></address>
<address style="padding-left: 60px;"><em>##</em></address>
<address style="padding-left: 60px;"><em> </em></address>
<address style="padding-left: 60px;"><em>&lt;VirtualHost _default_:443&gt;</em></address>
<address style="padding-left: 60px;"><em> </em></address>
<address style="padding-left: 60px;"><em>#   General setup for the virtual host</em></address>
<address style="padding-left: 60px;"><em>DocumentRoot &#8220;C:/Program Files (x86)/Apache Software Foundation/Apache2.2/htdocs&#8221;</em></address>
<address style="padding-left: 60px;"><em>ServerName yourserver.companyxyz.com:443</em></address>
<address style="padding-left: 60px;"><em>ServerAdmin admin@companyxyz.com</em></address>
<address style="padding-left: 60px;"><em>ErrorLog &#8220;C:/Program Files (x86)/Apache Software Foundation/Apache2.2/logs/error.log&#8221;</em></address>
<address style="padding-left: 60px;"><em>TransferLog &#8220;C:/Program Files (x86)/Apache Software Foundation/Apache2.2/logs/access.log&#8221;</em></address>
<address style="padding-left: 60px;"><em> </em></address>
<address style="padding-left: 60px;"><em>#   SSL Engine Switch:</em></address>
<address style="padding-left: 60px;"><em>#   Enable/Disable SSL for this virtual host.</em></address>
<address style="padding-left: 60px;"><em>SSLEngine on</em></address>
<address style="padding-left: 60px;"><em> </em></address>
<address style="padding-left: 60px;"><em>SSLProxyEngine on</em></address>
<address style="padding-left: 60px;"><em>…</em></address>
<p style="padding-left: 30px;"><em><br />
</em></p>
<p style="padding-left: 30px;"><em> </em></p>
<p style="padding-left: 30px;">9.  Restart JBoss and Apache servers.</p>
<p style="padding-left: 30px;">
]]></content:encoded>
			<wfw:commentRss>http://blogs.adobe.com/cguerrero/2010/10/27/configuring-a-reverse-proxy-with-apache-that-handles-https-connections/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>LC Workbench ES Component Development Tool</title>
		<link>http://blogs.adobe.com/cguerrero/2010/08/19/lc-workbench-es-component-development-tool/</link>
		<comments>http://blogs.adobe.com/cguerrero/2010/08/19/lc-workbench-es-component-development-tool/#comments</comments>
		<pubDate>Thu, 19 Aug 2010 14:44:17 +0000</pubDate>
		<dc:creator>Carlos Guerrero</dc:creator>
				<category><![CDATA[LC Workbench]]></category>
		<category><![CDATA[Custom Component]]></category>
		<category><![CDATA[Eclipse]]></category>

		<guid isPermaLink="false">http://blogs.adobe.com/cguerrero/?p=8</guid>
		<description><![CDATA[I decided to start with a post about the LC Workbench ES Component Development Tool, which makes the generation of a custom component an easier task. You can download the prerelease of the tool from Adobe Labs (http://labs.adobe.com/technologies/lcwcdtool). The Development &#8230; <a href="http://blogs.adobe.com/cguerrero/2010/08/19/lc-workbench-es-component-development-tool/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>I decided to start with a post about the LC Workbench ES Component Development Tool, which makes the generation of a custom component an easier task. You can download the prerelease of the tool from Adobe Labs (<a href="http://labs.adobe.com/technologies/lcwcdtool">http://labs.adobe.com/technologies/lcwcdtool</a>). The Development Tool is essentially a plug-in for Eclipse that provides a new type of project with a component.xml file, pre-generated service classes and an Ant script to finally generate the custom component JAR.</p>
<p>The thing that I really like about the tool is that it allows you to configure your custom component without the need of manually editing the component.xml file.</p>
<p>Before installing the Development Tool you need to make sure you have the following Eclipse frameworks installed:</p>
<p>-          Eclipse Modeling Framework Project (EMF)</p>
<p>-          Eclipse Graphical Editing Framework (GEF)</p>
<p>-          Web Tools Platform (WTP SDK)</p>
<p>After installing these 3 frameworks, you can download the Development Tool from Adobe Labs and install it on your Eclipse (<a href="http://labs.adobe.com/downloads/lcwcdtool.html">http://labs.adobe.com/downloads/lcwcdtool.html</a>).</p>
<p>Now, once installed, you will follow the following steps to create your custom component:</p>
<ol>
<li>Create your new Component Project. You will see that under the “New Project” wizard of Eclipse, there is now a new category called “Adobe LiveCycle” with a “Component Project” within it.<br />
<a class="lightbox" title="2010-08-17_135459" href="http://blogs.adobe.com/cguerrero/files/2010/08/2010-08-17_135459.jpg"><img class="aligncenter size-medium wp-image-9" title="2010-08-17_135459" src="http://blogs.adobe.com/cguerrero/files/2010/08/2010-08-17_135459-272x300.jpg" alt="" width="272" height="300" /></a></li>
<li>On the first screen you will be prompted to enter the name of the new  project, the package name where your service classes will be, and the  unique ID of the component.<br />
<a class="lightbox" title="2010-08-17_140244" href="http://blogs.adobe.com/cguerrero/files/2010/08/2010-08-17_140244.jpg"><img class="aligncenter size-medium wp-image-11" title="2010-08-17_140244" src="http://blogs.adobe.com/cguerrero/files/2010/08/2010-08-17_140244-272x300.jpg" alt="" width="272" height="300" /></a></li>
<li>This dialog also allows you to specify the services your custom component will provide.
<p><a class="lightbox" title="2010-08-17_141316" href="http://blogs.adobe.com/cguerrero/files/2010/08/2010-08-17_141316.jpg"><img class="aligncenter size-medium wp-image-12" title="2010-08-17_141316" src="http://blogs.adobe.com/cguerrero/files/2010/08/2010-08-17_141316-300x266.jpg" alt="" width="300" height="266" /></a><br />
… by defining its operations:</p>
<p><a class="lightbox" title="2010-08-17_140959" href="http://blogs.adobe.com/cguerrero/files/2010/08/2010-08-17_140959.jpg"><img class="aligncenter size-medium wp-image-13" title="2010-08-17_140959" src="http://blogs.adobe.com/cguerrero/files/2010/08/2010-08-17_140959-300x246.jpg" alt="" width="300" height="246" /></a><br />
and configuration parameters:</p>
<p><a class="lightbox" title="2010-08-17_141308" href="http://blogs.adobe.com/cguerrero/files/2010/08/2010-08-17_141308.jpg"><img class="aligncenter size-medium wp-image-14" title="2010-08-17_141308" src="http://blogs.adobe.com/cguerrero/files/2010/08/2010-08-17_141308-300x202.jpg" alt="" width="300" height="202" /></a></li>
<li>This “New Project” wizard will generate your project with the   component.xml file already configured, and your service classes and Ant   script generated. The project tree should look something like this:
<p><a class="lightbox" title="2010-08-18_121029" href="http://blogs.adobe.com/cguerrero/files/2010/08/2010-08-18_121029.jpg"><img class="aligncenter size-full wp-image-15" title="2010-08-18_121029" src="http://blogs.adobe.com/cguerrero/files/2010/08/2010-08-18_121029.jpg" alt="" width="274" height="259" /></a></li>
<li>If you need to add additional configuration to the component.xml file,  you can edit it with the component editor provided by the Development  Tool. Just open the component.xml in Eclipse and you won’t get the plain  XML file content, but the following edit dialog that should make the  edition of the file much easier.
<p><a class="lightbox" title="2010-08-18_102320" href="http://blogs.adobe.com/cguerrero/files/2010/08/2010-08-18_102320.jpg"><img class="aligncenter size-medium wp-image-16" title="2010-08-18_102320" src="http://blogs.adobe.com/cguerrero/files/2010/08/2010-08-18_102320-300x226.jpg" alt="" width="300" height="226" /></a></li>
<li>The next step would be to implement the business logic of your service classes already pre-generated for you</li>
<li>Once you finish coding your Java classes, you can run the provided Ant  build.xml to finally generate the JAR file, and voila!&#8230; your custom  component is ready to be imported in LC Workbench to get it installed on  your LC server.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://blogs.adobe.com/cguerrero/2010/08/19/lc-workbench-es-component-development-tool/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
