<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Kaizen Driven Development</title>
	<atom:link href="http://imhoratiu.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://imhoratiu.wordpress.com</link>
	<description>Don&#039;t turn off your brain!</description>
	<lastBuildDate>Tue, 13 Apr 2010 08:10:45 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='imhoratiu.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Kaizen Driven Development</title>
		<link>http://imhoratiu.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://imhoratiu.wordpress.com/osd.xml" title="Kaizen Driven Development" />
	<atom:link rel='hub' href='http://imhoratiu.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Android Application Development at GTUG Bucharest</title>
		<link>http://imhoratiu.wordpress.com/2010/04/13/android-application-development-at-gtug-bucharest/</link>
		<comments>http://imhoratiu.wordpress.com/2010/04/13/android-application-development-at-gtug-bucharest/#comments</comments>
		<pubDate>Tue, 13 Apr 2010 08:10:13 +0000</pubDate>
		<dc:creator>horatiucd</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://imhoratiu.wordpress.com/?p=98</guid>
		<description><![CDATA[As part of Bucharest GTUG (Google Technology User Group) I will try to start a series of presentations on Google Android which are meant to constitute best practices in Android application development. Thus, after a short introduction on the technology itself, I will mainly focus on the hands- on aspects, that is how to start [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=imhoratiu.wordpress.com&amp;blog=9607853&amp;post=98&amp;subd=imhoratiu&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>As part of Bucharest <a href="http://www.gtugs.org/chapter.jsp?id=13002">GTUG</a> (Google Technology User Group) I will try to start a series of presentations on Google Android which are meant to constitute best practices in Android application development. Thus, after a short introduction on the technology itself, I will mainly focus on the hands- on aspects, that is how to start creating an actual application and continue improving it until it becomes mature enough to be used on personal Droids and why not, to be published to Android Market.</p>
<p>This first presentation will take about one hour and will be held at <a href="http://bucharesthubb.com/">Bucharest Hubb</a>.</p>
<p>Highlights:</p>
<ul>
<li>General Overview</li>
<li>SDK Features</li>
<li>Uniqueness</li>
<li>Application Architecture and Life Cycle</li>
<li>Activity Life Cycle</li>
<li>Creating Applications</li>
<li>Start building ATPNews &#8211; small application that brings the latest from APT World Tour</li>
</ul>
<p>See you there on April the 13th, at 6.30 PM!</p>
<br />Filed under: <a href='http://imhoratiu.wordpress.com/category/general/'>General</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/imhoratiu.wordpress.com/98/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/imhoratiu.wordpress.com/98/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/imhoratiu.wordpress.com/98/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/imhoratiu.wordpress.com/98/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/imhoratiu.wordpress.com/98/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/imhoratiu.wordpress.com/98/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/imhoratiu.wordpress.com/98/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/imhoratiu.wordpress.com/98/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/imhoratiu.wordpress.com/98/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/imhoratiu.wordpress.com/98/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/imhoratiu.wordpress.com/98/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/imhoratiu.wordpress.com/98/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/imhoratiu.wordpress.com/98/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/imhoratiu.wordpress.com/98/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=imhoratiu.wordpress.com&amp;blog=9607853&amp;post=98&amp;subd=imhoratiu&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://imhoratiu.wordpress.com/2010/04/13/android-application-development-at-gtug-bucharest/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/36efba9efdca57a96253fed7708c854e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">horatiucd</media:title>
		</media:content>
	</item>
		<item>
		<title>HttpURLConnection over HTTPS</title>
		<link>http://imhoratiu.wordpress.com/2010/03/22/httpurlconnection-over-https/</link>
		<comments>http://imhoratiu.wordpress.com/2010/03/22/httpurlconnection-over-https/#comments</comments>
		<pubDate>Mon, 22 Mar 2010 16:02:43 +0000</pubDate>
		<dc:creator>horatiucd</dc:creator>
				<category><![CDATA[Android]]></category>

		<guid isPermaLink="false">http://imhoratiu.wordpress.com/?p=92</guid>
		<description><![CDATA[In a nutshell, one of the projects I have been working for the last couple of months has a client-server architecture that involves an Android client and an enterprise SOAP Web Service. In order to make this communication possible I chose to use KSOAP2 and KXML libraries which proved to be very helpful when having [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=imhoratiu.wordpress.com&amp;blog=9607853&amp;post=92&amp;subd=imhoratiu&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>In a nutshell, one of the projects I have been working for the last couple of months has a client-server architecture that involves an Android client and an enterprise SOAP Web Service. In order to make this communication possible I chose to use KSOAP2 and KXML libraries which proved to be very helpful when having to work with SOAP messages that need to be unmarshalled. </p>
<p>This post documents two possible approaches on how to use HttpURLConnection and particularly KSOAP2 to repeatedly communicate with a server over HTTPS.</p>
<p>Briefly, KSOAP2 uses HttpURLConnection object to communicate with the remote source. First the connection is created and afterwards this connection is used to send requests and receive response information:</p>
<pre class="brush: java;">
.....
HttpURLConnection connection = (HttpURLConnection) new URL(url).openConnection();
.....
connection.setRequestProperty(&quot;Connection&quot;, &quot;close&quot;);
.....
connection.setRequestMethod(&quot;POST&quot;);
.....
connection.connect();

OutputStream os = connection.openOutputStream();
os.write(requestData, 0, requestData.length);
os.flush();
os.close();

InputStream is = connection.openInputStream();
.....
</pre>
<p>This mechanism proved to work without any issues when the communication was on HTTP. On HTTPS though, a quite strange behavior was experienced. The first call worked as expected, but on a second attempt, even if using the same class instance or creating a separate instance of it, the connection was not being made. Moreover, no data was sent to the server and an empty response came back without throwing any exception.</p>
<h3>What the documentation says</h3>
<p>Usually when an application finishes reading the response body or when an application calls close() on the InputStream returned by URLConnection.getInputStream(), the JDK&#8217;s HTTP protocol handler will try to clean up the connection and if successful, put the connection into a connection cache for reuse by future HTTP requests. </p>
<p>The support for HTTP keep-Alive is done transparently. However, it can be controlled by system properties http.keepAlive, and http.maxConnections, as well as by HTTP/1.1 specified request and response headers.</p>
<p>The system properties that control the behavior of Keep-Alive are:</p>
<ul>
<li>http.keepAlive<br />
default: true</p>
<p>Indicates if keep alive (persistent) connections should be supported.
</li>
<li>http.maxConnections<br />
default: 5</p>
<p>Indicates the maximum number of connections per destination to be kept alive at any given time.
</li>
</ul>
<p>HTTP header that influences connection persistence is:</p>
<ul>
<li>Connection: close
</li>
<p>If the &#8220;Connection&#8221; header is specified with the value &#8220;close&#8221; in either the request or the response header fields, it indicates that the connection should not be considered &#8216;persistent&#8217; after the current request/response is complete.
</ul>
<h3>Solutions</h3>
<p>Having read the previous section, there are two possible solutions:</p>
<ul>
<li>Set the http.keepAlive system property to &#8220;false&#8221; before creating the connection, if the “Connection” header specifies that the connection is not persistent.
<pre class="brush: java;">
.....
System.setProperty(&quot;http.keepAlive&quot;, &quot;false&quot;);
HttpURLConnection connection = (HttpURLConnection) new URL(url).openConnection();
.....
</pre>
</li>
<li>Do not set the “Connection” property to “close”.</li>
</ul>
<br />Filed under: <a href='http://imhoratiu.wordpress.com/category/android/'>Android</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/imhoratiu.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/imhoratiu.wordpress.com/92/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/imhoratiu.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/imhoratiu.wordpress.com/92/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/imhoratiu.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/imhoratiu.wordpress.com/92/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/imhoratiu.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/imhoratiu.wordpress.com/92/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/imhoratiu.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/imhoratiu.wordpress.com/92/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/imhoratiu.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/imhoratiu.wordpress.com/92/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/imhoratiu.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/imhoratiu.wordpress.com/92/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=imhoratiu.wordpress.com&amp;blog=9607853&amp;post=92&amp;subd=imhoratiu&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://imhoratiu.wordpress.com/2010/03/22/httpurlconnection-over-https/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/36efba9efdca57a96253fed7708c854e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">horatiucd</media:title>
		</media:content>
	</item>
		<item>
		<title>(Re)start Oracle Server on Linux</title>
		<link>http://imhoratiu.wordpress.com/2010/03/02/restart-oracle-server-on-linux/</link>
		<comments>http://imhoratiu.wordpress.com/2010/03/02/restart-oracle-server-on-linux/#comments</comments>
		<pubDate>Tue, 02 Mar 2010 09:32:00 +0000</pubDate>
		<dc:creator>horatiucd</dc:creator>
				<category><![CDATA[Databases]]></category>

		<guid isPermaLink="false">http://imhoratiu.wordpress.com/?p=87</guid>
		<description><![CDATA[Having been an active developer for quite a long period of time, it was very seldom when I had to work in a project that had no database tier or was not using a database. Although as a developer I should not be involved in the database administration and troubleshooting, there were a lot of [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=imhoratiu.wordpress.com&amp;blog=9607853&amp;post=87&amp;subd=imhoratiu&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Having been an active developer for quite a long period of time, it was very seldom when I had to work in a project that had no database tier or was not using a database. Although as a developer I should not be involved in the database administration and troubleshooting, there were a lot of situations when I had to accomplish some “prerequisites” in order to be able to continue my actual tasks.  One common situation is when a database server needs to be setup or an existing one needs to be restarted. </p>
<p>In this post I will pass the database server installation steps (that can be found in various other sources, e.g. Oracle Documentation) and focus on the final steps that need to be accomplished to actually start the server. If on a Windows server this job is automatic, as the Oracle database server (re)starts on its own, on a Linux box, there are a few manual command line commands that need to be provided in order to (re)start it.</p>
<p>Below there are the  exact steps a user must fulfill in order to (re)start an Oracle database server on a Linux machine, particularly on Ubuntu. The Oracle database server I am currently using is 10.2.0 but the steps are likely to be quite similar for newer versions.</p>
<ul>
<li>Change to <em>oracle</em> user. If not logged as <em>root</em>, the system will ask for the sudo password.
<pre class="brush: bash;">
$ sudo su oracle

Password:  &lt;enter the password&gt;
</pre>
</li>
<li>Start the LISTENER
<pre class="brush: bash;">
[oracle] $ lsnrctl start

LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 02-MAR-2010 10:09:10

Copyright (c) 1991, 2005, Oracle.  All rights reserved.

Starting /home/oracle/oracle/product/10.2.0/db_1//bin/tnslsnr: please wait...

TNSLSNR for Linux: Version 10.2.0.1.0 - Production
System parameter file is /home/oracle/oracle/product/10.2.0/db_1/network/admin/l istener.ora
Log messages written to /home/oracle/oracle/product/10.2.0/db_1/network/log/l istener.log
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=&lt;host.domain&gt;  )(PORT=1521)))

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 10.2.0.1.0 - Production
Start Date                02-MAR-2010 10:09:12
Uptime                    0 days 0 hr. 0 min. 0 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /home/oracle/oracle/product/10.2.0/db_1/network/admin/listener.ora
Listener Log File         /home/oracle/oracle/product/10.2.0/db_1/network/log/listener.log
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=&lt;host.domain&gt;)(PORT=1521)  ))
Services Summary...
Service &quot;PLSExtProc&quot; has 1 instance(s).
  Instance &quot;PLSExtProc&quot;, status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully

The above steps may be useful also after a new instance has been installed and the Oracle server needs to be launched.
</pre>
</li>
<li>Connect as <em>sysdba</em> to the instance
<pre class="brush: bash;">
[oracle]$ sqlplus connect as sysdba

SQL*Plus: Release 10.2.0.1.0 - Production on Tue Mar 2 10:10:52 2010

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

Enter password: &lt;enter the database password&gt;
Connected to an idle instance.
</pre>
</li>
<li>Start the server from SQL Plus command line
<pre class="brush: bash;">
SQL&gt; startup

ORACLE instance started.

Total System Global Area 4294967296 bytes
Fixed Size                  2026296 bytes
Variable Size             654312648 bytes
Database Buffers         3623878656 bytes
Redo Buffers               14749696 bytes
Database mounted.
Database opened.
</pre>
</li>
<li>After the above feed-back is obtained, exit SQL Plus
<pre class="brush: bash;">
SQL&gt; exit

Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options
</pre>
</li>
<li>Start SQL Plus
<pre class="brush: bash;">
[oracle] $ isqlplusctl start

iSQL*Plus 10.2.0.1.0
Copyright (c) 2003, 2005, Oracle.  All rights reserved.
Starting iSQL*Plus ...
iSQL*Plus started.
</pre>
</li>
<li>Start the Enterprise Management Console
<pre class="brush: bash;">
[oracle] $ emctl start dbconsole

TZ set to Europe/Bucharest
Oracle Enterprise Manager 10g Database Control Release 10.2.0.1.0
Copyright (c) 1996, 2005 Oracle Corporation.  All rights reserved.

http://host.domain:1158/em/console/aboutApplication

Starting Oracle Enterprise Manager 10g Database Control ........................... started.
------------------------------------------------------------------
Logs are generated in directory /home/oracle/oracle/product/10.2.0/db_1/host.domain_orcl/sysman/log
</pre>
</li>
<li>Exit <em>oracle</em> account
<pre class="brush: bash;">
[oracle] $ exit
</pre>
</li>
</ul>
<p>After performing all these steps and receiving command responses similar to the ones above, the Oracle database server should eventually be up and running.</p>
<br />Filed under: <a href='http://imhoratiu.wordpress.com/category/databases/'>Databases</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/imhoratiu.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/imhoratiu.wordpress.com/87/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/imhoratiu.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/imhoratiu.wordpress.com/87/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/imhoratiu.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/imhoratiu.wordpress.com/87/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/imhoratiu.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/imhoratiu.wordpress.com/87/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/imhoratiu.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/imhoratiu.wordpress.com/87/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/imhoratiu.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/imhoratiu.wordpress.com/87/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/imhoratiu.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/imhoratiu.wordpress.com/87/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=imhoratiu.wordpress.com&amp;blog=9607853&amp;post=87&amp;subd=imhoratiu&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://imhoratiu.wordpress.com/2010/03/02/restart-oracle-server-on-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/36efba9efdca57a96253fed7708c854e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">horatiucd</media:title>
		</media:content>
	</item>
		<item>
		<title>Troubleshooting javax.net.ssl.SSLHandshakeException</title>
		<link>http://imhoratiu.wordpress.com/2010/02/20/79/</link>
		<comments>http://imhoratiu.wordpress.com/2010/02/20/79/#comments</comments>
		<pubDate>Sat, 20 Feb 2010 17:08:39 +0000</pubDate>
		<dc:creator>horatiucd</dc:creator>
				<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://imhoratiu.wordpress.com/?p=79</guid>
		<description><![CDATA[A while ago I needed to access a secured SOAP Web Service using my own custom client application. The challenge was passing over the SSLHandshakeException I kept receiving while the communication was trying to be established. After several hits, I finally figured out what the problem was &#8211; the root security certificates used by the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=imhoratiu.wordpress.com&amp;blog=9607853&amp;post=79&amp;subd=imhoratiu&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>A while ago I needed to access a secured SOAP Web Service using my own custom client application. The challenge was passing over the SSLHandshakeException I kept receiving while the communication was trying to be established. After several hits, I finally figured out what the problem was &#8211; the root security certificates used by the server side appliaction were not in the local JRE <em>cacerts</em> file. The solution is a very simple one – import the files into <em>cacerts, </em>using <em>keytool</em>.</p>
<p>In this post I will give a short overview on Web Services security using digital certificates, a possible Web Services security approach and afterwards, the commands used to import the certificate files.</p>
<h3>Web Services Security Overview</h3>
<p>As is true of all network-oriented information technologies, the subject of security is a crucial one for web services. For web services, as for other information technologies, security consists of understanding the potential threats an attacker may mount and applying operational, physical, and technological counter measures to reduce the risk of a successful attack to an acceptable level. Because an &#8220;acceptable level of risk&#8221; varies hugely depending on the type of transaction, and due to the costs of implementing counter measures is also highly variable, there can be no universal &#8220;right answer&#8221; for securing web services. Choosing the absolutely correct balance of counter measures and acceptable risk can only be done on a case by case basis.</p>
<p>The confidentiality of the exchanged data must be always taken seriously and so the security measures that must be put in place to provide the appropriate security. The W3C (World Wide Web Consortium) Web Services Architecture Requirements outlines the following six important security considerations for a comprehensive security<br />
framework:</p>
<ul>
<li><strong>Authentication</strong>: guarantees that the service is accessible for anyone with a verified identity.</li>
<li><strong>Authorization</strong>: guarantees that the authenticated person has the right to access the service or data.</li>
<li><strong>Confidentiality</strong>: guarantees that the data passed between the requester and provider is protected from eavesdroppers.</li>
<li><strong>Integrity</strong>: offers that the message was not modified in its path from requestor to provider.</li>
<li><strong>Non-repudiation</strong>: guarantees that the sender of the message cannot deny that he/she sent it at a later point in time.</li>
<li><strong>Accessibility</strong>: ensures that the service is always accessible and that it is not impaired by attacks, like denial-of-service (DoS), from outside or inside of the system hosting the service.</li>
</ul>
<p>To address these requirements digital certificates are used. A digital certificate is an electronic “credit card” that establishes the credentials when doing business or other transactions on the Web. Usually, it is issued by a certification authority (CA) and contains information like the holder’s name, a serial number, expiration dates, a copy of the certificate holder&#8217;s public key (used for encrypting and decrypting messages, and digital signatures) and the digital signature of the certificate-issuing authority so that a recipient can verify that the certificate is real.</p>
<h3>Possible Web Services Security Policy</h3>
<p>Usually, the security provisions are put in place to address the above requirements, as well as:</p>
<ul>
<li>Peer Identification and Authentication</li>
<li>Data Origin Identification and Authentication</li>
<li>Data Integrity</li>
<li>Data Confidentiality</li>
</ul>
<p>Web Services transactions take place using SOAP over any transport protocol such as HTTP. The server security framework may consist of a transport protocol layer and a SOAP message layer.</p>
<p>Transport Protocol Layer Security may use the simple HTTPS with SSL encryption between consumer and provider and X.509 certificate issued by a verifiable Certificate Authority (CA). Mutual authentication facility of HTTPS may be also assured for more sensitive transactions permitting the server to authenticate the consumer for non repudiation.</p>
<p>The server interface may use digital certificates to verify the request received from the customer system. This may be performed by checking the digital signature provided with the request against the digital certificate information provided by the client application. The digital signature may be a hexadecimal string calculated by the client&#8217;s system based on the contents of the request and the digital certificate information. The server gateway can then perform the same calculations and verify whether the request is authentic.</p>
<h3>Importing the Server Root Certificates</h3>
<ol>
<li>Locate the local machine JRE file that is used to store the root certificates of signing authorities. It is usually located in JAVA_HOME/jre/lib/security/cacerts. It is stored in JKS format and should contain only certificates of the CAs that are trusted. Since it is a binary file it may be handled using the keytool utility. For viewing its content issue the following command:
<pre class="brush: bash;">
keytool -list -keystore JAVA_HOME\jre\lib\security\cacerts
</pre>
<p>The default password for the <em>cacerts</em> file is <em>changeit</em>. </p>
<pre class="brush: bash;">
Enter keystore password:

Keystore type: JKS
Keystore provider: SUN

Your keystore contains 67 entries

aolrootca2, Mar 26, 2008, trustedCertEntry, Certificate fingerprint (MD5): D6:ED:3C:CA:E2:66:0F:AF:10:43:0D:77:9B:04:09:BF
deutschetelekomrootca2, Nov 7, 2008, trustedCertEntry,	Certificate fingerprint (MD5): 	74:01:4A:91:B1:08:C4:58:CE:47:CD:F0:DD:11:53
………………
</pre>
</li>
<li>Import the server side root certificates into the <em>cacerts</em> file of the JRE’s client machine by issueing the following command:
<pre class="brush: bash;">
keytool -import -trustcacerts -keystore cacerts -file &lt;name_of_certificate&gt;.cer -alias &lt;file_alias&gt;
</pre>
</li>
</ol>
<br />Filed under: <a href='http://imhoratiu.wordpress.com/category/security/'>Security</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/imhoratiu.wordpress.com/79/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/imhoratiu.wordpress.com/79/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/imhoratiu.wordpress.com/79/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/imhoratiu.wordpress.com/79/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/imhoratiu.wordpress.com/79/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/imhoratiu.wordpress.com/79/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/imhoratiu.wordpress.com/79/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/imhoratiu.wordpress.com/79/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/imhoratiu.wordpress.com/79/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/imhoratiu.wordpress.com/79/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/imhoratiu.wordpress.com/79/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/imhoratiu.wordpress.com/79/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/imhoratiu.wordpress.com/79/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/imhoratiu.wordpress.com/79/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=imhoratiu.wordpress.com&amp;blog=9607853&amp;post=79&amp;subd=imhoratiu&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://imhoratiu.wordpress.com/2010/02/20/79/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/36efba9efdca57a96253fed7708c854e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">horatiucd</media:title>
		</media:content>
	</item>
		<item>
		<title>Resolving Byte Content Views</title>
		<link>http://imhoratiu.wordpress.com/2009/10/14/resolving-byte-content-views/</link>
		<comments>http://imhoratiu.wordpress.com/2009/10/14/resolving-byte-content-views/#comments</comments>
		<pubDate>Wed, 14 Oct 2009 13:33:15 +0000</pubDate>
		<dc:creator>horatiucd</dc:creator>
				<category><![CDATA[Spring MVC]]></category>

		<guid isPermaLink="false">http://imhoratiu.wordpress.com/?p=59</guid>
		<description><![CDATA[Some time ago, I found myself in the very common situation of having to deliver a picture from a web application to a certain client requesting it via HTTP POST &#8211; a very simple action, nothing to talk about apparently. Nevertheless, things proved to be not so straightforward when the web application consists in a [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=imhoratiu.wordpress.com&amp;blog=9607853&amp;post=59&amp;subd=imhoratiu&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Some time ago, I found myself in the very common situation of having to deliver a picture from a web application to a certain client requesting it via HTTP POST &#8211; a very simple action, nothing to talk about apparently. Nevertheless, things proved to be not so straightforward when the web application consists in a Spring MVC container.</p>
<p>Since Spring DispatcherServlet and Controllers treat views in an implementation-agnostic manner I thought of defining a view that presents the picture without impacting the Controller code which actually creates the picture object. This is possible by implementing the top most interface of the Spring views hierarchy &#8211; org.springframework.web.servlet.View.</p>
<pre class="brush: java;">
public interface View {
   void render(Map model, HttpServletRequest request, HttpServletResponse response) throws Exception;
}
</pre>
<p>By implementing the interface, it means that given the model and the information on the request a view will generate the output that is rendered in the response.</p>
<h3>Straightforward Approach</h3>
<p>The simple approach would be to directly implement the View interface and by this inside the render method to delegate the view to both generate the content and return it to the client.</p>
<pre class="brush: java;">
public class ByteArrayView implements View {
   public final void render(Map model, HttpServletRequest request, HttpServletResponse response) throws  Exception {
      File file = new File(&quot;C:\\image.jpg&quot;);
      FileInputStream fis = new FileInputStream(file);
      byte[] buffer = new byte[fis.available()];
      fis.read(buffer);
      fis.close();
      response.setContentType(&quot;image/jpeg&quot;);
      response.setContentLength(bytes.length);

      ServletOutputStream out = response.getOutputStream();
      out.write(bytes);
      out.flush();
   }
}
</pre>
<p>In this manner, the very basic requirement of the view is fulfilled, but the decoupling from the corresponding controller is not accomplished.</p>
<h3>Decoupled Approach</h3>
<p>Usually, creating the views programmatically is not a common option. Instead, views instances are defined in the configuration file and created automatically by the Spring framework.</p>
<p>Going into this direction, after researching among several blogs and Spring forums, I found a solution that creates an abstract Controller able to handle resources of any content type (image/jpeg, text/html, x-application/pdf).</p>
<pre class="brush: java;">
public abstract class AbstractContentTypeController extends AbstractController {
   private String viewName;
   private String contentType;

   protected abstract byte[] getData(HttpServletRequest req) throws Exception;

   @Override
   protected ModelAndView handleRequestInternal(HttpServletRequest req, HttpServletResponse resp) throws Exception {
      Map model = new HashMap();
      if (getContentType() == null)
         throw new IllegalArgumentException(&quot;contentType property must be set.&quot;);
      if (getViewName() == null)
         throw new IllegalArgumentException(&quot;viewName property must be set.&quot;);

      model.put(&quot;data&quot;, getData(req));
      model.put(&quot;contentType&quot;, getContentType());
      return new ModelAndView(getViewName(), model);
   }
   …
}
</pre>
<p>The controller that extends AbstractContentTypeController is injected two properties, one that specifies the content type of the resource (image/jpeg, here) and the view name that will render it (let’s call it img). Also, it defines the getData() method, that is entitled to create the resource (the image in this particular situation).</p>
<pre class="brush: java;">
public class ImageController extends AbstractContentTypeController {

   @Override
   protected byte[] getData(HttpServletRequest req) throws Exception {
      File file = new File(&quot;C:\\image.jpg&quot;);
      FileInputStream fis = new FileInputStream(file);
      byte[] buffer = new byte[fis.available()];
      fis.read(buffer);
      fis.close();
      return buffer;
   }
}
</pre>
<p>The corresponding custom view is extended from AbstractView  and has the responsibility of taking the image from the model and writing it to the response.</p>
<pre class="brush: java;">
public class ByteArrayView extends AbstractView {

   public ByteArrayView() {}

   @Override
   protected final void renderMergedOutputModel(Map model, HttpServletRequest request, HttpServletResponse response) throws Exception {
      byte[] bytes = (byte[]) model.get(&quot;data&quot;);
      String contentType = (String) model.get(&quot;contentType&quot;);
      response.setContentType(contentType);
      response.setContentLength(bytes.length);

      ServletOutputStream out = response.getOutputStream();
      out.write(bytes);
      out.flush();
   }
}
</pre>
<p>In this way, the generation of the resource is the task of the controller, making the view unaware of this operation and also the controller knows nothing of the view.</p>
<p>The content that needs to be added in the xml configuration file is provided below.</p>
<pre class="brush: xml;">
&lt;bean id=&quot;urlMapping&quot; class=&quot;org.springframework.web.servlet.handler.SimpleUrlHandlerMapping&quot;&gt;
   …
   &lt;property name=&quot;mappings&quot;&gt;
      &lt;props&gt;
       …
         &lt;prop key=&quot;/imgFile.htm*&quot;&gt;imageController&lt;/prop&gt;
         …
      &lt;/props&gt;
   &lt;/property&gt;
&lt;/bean&gt;

&lt;bean id=&quot;imageController&quot; class=&quot;com.asentinel.tem.mobile.ws.web.ImageController&quot;&gt;
   &lt;property name=&quot;contentType&quot; value=&quot;image/jpeg&quot;/&gt;
   &lt;property name=&quot;viewName&quot; value=&quot;img&quot;/&gt;
&lt;/bean&gt;
</pre>
<p>In order to completely decouple the view from the controller that is to make the controller totally unaware of what type of view will be used to render the model a ViewResolver will be configured in the xml configuration file.</p>
<pre class="brush: xml;">
&lt;bean id=&quot;byteViewResolver&quot; class=&quot;org.springframework.web.servlet.view.XmlViewResolver&quot;&gt;
   &lt;property name=&quot;order&quot; value=&quot;1&quot; /&gt;
   &lt;property name=&quot;location&quot; value=&quot;/WEB-INF/byte-views.xml&quot; /&gt;
&lt;/bean&gt;
</pre>
<p>Among the various types of view resolvers that Spring provides, XmlViewResolver was chosen. It creates views based on an XML definition file. This file (/WEB-INF/byte-views.xml) uses the Spring Beans DTD, which has the advantage of making view definitions both familiar and able to use the full power of Spring’s bean factories. The content added to the file for this view is below.</p>
<pre class="brush: xml;">
&lt;beans&gt;
   &lt;bean name=&quot;img&quot; class=&quot;com.asentinel.tem.mobile.ws.web.view.ByteArrayView&quot;/&gt;
&lt;/beans&gt;
</pre>
<p>With this implementation, when a picture is requested by the client application, it simply needs to invoke imgFile.htm URL. On the server sidethe following actions take place:</p>
<ul>
<li>DispatcherServlet selects based on the mapping, the ImageController by calling handleRequest() method.</li>
<li>ImageController creates the image and integrates it in the model object;</li>
<li>DispatcherServlet invokes the configured ViewResolver (byteViewResolver) which creates the image view configured in the byte-views.xml file;</li>
<li>DispatcherServlet renders the image found in the model in the corresponding view.</li>
</ul>
<p>The DispatcherServlet manages the entire operation and the Controller plays no part in resolving the view and is entirely oblivious of the operation.</p>
<h3>Conclusion</h3>
<p>This post documents and presents a Spring MVC style solution for rendering byte content resources (particularly images), from a server to its requesting clients in a totally decoupled manner.</p>
<br />Posted in Spring MVC  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/imhoratiu.wordpress.com/59/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/imhoratiu.wordpress.com/59/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/imhoratiu.wordpress.com/59/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/imhoratiu.wordpress.com/59/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/imhoratiu.wordpress.com/59/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/imhoratiu.wordpress.com/59/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/imhoratiu.wordpress.com/59/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/imhoratiu.wordpress.com/59/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/imhoratiu.wordpress.com/59/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/imhoratiu.wordpress.com/59/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/imhoratiu.wordpress.com/59/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/imhoratiu.wordpress.com/59/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/imhoratiu.wordpress.com/59/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/imhoratiu.wordpress.com/59/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=imhoratiu.wordpress.com&amp;blog=9607853&amp;post=59&amp;subd=imhoratiu&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://imhoratiu.wordpress.com/2009/10/14/resolving-byte-content-views/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/36efba9efdca57a96253fed7708c854e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">horatiucd</media:title>
		</media:content>
	</item>
		<item>
		<title>Configure Maven2 and Eclipse for Web Projects</title>
		<link>http://imhoratiu.wordpress.com/2009/10/06/configure-maven2-and-eclipse-for-web-projects/</link>
		<comments>http://imhoratiu.wordpress.com/2009/10/06/configure-maven2-and-eclipse-for-web-projects/#comments</comments>
		<pubDate>Mon, 05 Oct 2009 21:10:54 +0000</pubDate>
		<dc:creator>horatiucd</dc:creator>
				<category><![CDATA[Eclipse]]></category>

		<guid isPermaLink="false">http://imhoratiu.wordpress.com/?p=45</guid>
		<description><![CDATA[This post is a step by step guide to setting up the development environment for a web project using Eclipse IDE and Apache Maven2.  For exemplification we used Eclipse 3.4.0 and Maven2 v.2.0.9 running on a Microsoft Windows Vista machine. The configuration steps are slightly different from a Linux machine. Before configuring Eclipse and Maven2 [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=imhoratiu.wordpress.com&amp;blog=9607853&amp;post=45&amp;subd=imhoratiu&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>This post is a step by step guide to setting up the development environment for a web project using Eclipse IDE and Apache Maven2.  For exemplification we used Eclipse 3.4.0 and Maven2 v.2.0.9 running on a Microsoft Windows Vista machine. The configuration steps are slightly different from a Linux machine.</p>
<p>Before configuring Eclipse and Maven2 to work together, a few prerequisites are needed:</p>
<ul>
<li>Install Java 5 SDK or newer;</li>
<li>Add Java installation directory as a system variable &#8211; JAVA_HOME.</li>
<li>Include %JAVA_HOME%/bin the PATH system variable.</li>
</ul>
<h3>Installing Eclipse</h3>
<p>Usually the following steps need to be performed:</p>
<ul>
<li> Download Eclipse distribution from <a href="http://www.eclipse.org/downloads/">here</a>. The recommended package is Eclipse IDE for Java EE Developers, since it already contains the Eclipse Web Tools (usually needed in web applications).</li>
<li>Extract the distribution into a directory on your local hard drive. Note that unlike programs, Eclipse does not have an installation process. Once unzipped, it is basically installed.</li>
<li>Configure your workspace directory – the workspace directory contains the projects developed using the IDE.</li>
</ul>
<h3>Installing and Configuring Maven2</h3>
<p>Usually the following steps need to be performed:</p>
<ul>
<li> Download Maven2 distribution from <a href="http://maven.apache.org/download.html">here</a>.</li>
<li>Extract the distribution into a directory on your local hard drive.</li>
<li>Add Maven2 installation directory as a system variable – MAVEN2_HOME.</li>
<li>Include %MAVEN2_HOME%/bin into the PATH system variable.</li>
</ul>
<p>By now, the Maven2 installation it is complete and may be tested. If everything was configured as advised, when issuing</p>
<pre class="brush: bash;">
mvn –version
</pre>
<p>command in the system command prompt, an output similar to the below one should be displayed:</p>
<pre class="brush: bash;">
Maven version: 2.0.9
Java version: 1.5.0_15
OS name: &quot;windows vista&quot; version: &quot;6.0&quot; arch: &quot;x86&quot; Family: &quot;windows&quot;
</pre>
<p>After the previous steps are completed Maven2 will have created a local repository, usually under %HOME_PATH%/.m2</p>
<h3>Installing Maven2 Plug-in inside Eclipse</h3>
<p>Usually the following steps need to be performed:<strong> </strong></p>
<ul>
<li>Add the Maven2 repository (<em>%HOME_PATH%/.m2/repository</em>) as user variable – MAVEN2_REPOSITORY.</li>
<li>Create <em>settings.xml </em>file in the <em>%HOME_PATH%/.m2/</em> directory. This file usually contains user-specific parameters that should not be shared by all users. If the application development is behind a firewall with a proxy, the proxy settings need to be configured so that Maven can download JARs from repositories on the Web. Add the following content to the file:
<pre class="brush: xml;">
&lt;settings xmlns=&quot;http://maven.apache.org/POM/4.0.0&quot;
          xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;
          xsi:schemaLocation=&quot;http://maven.apache.org/POM/4.0.0

http://maven.apache.org/xsd/settings-1.0.0.xsd&quot;&gt;

   &lt;localRepository/&gt;
   &lt;interactiveMode/&gt;
   &lt;usePluginRegistry/&gt;
   &lt;offline/&gt;
   &lt;pluginGroups/&gt;
   &lt;servers/&gt;
   &lt;mirrors/&gt;
   &lt;proxies/&gt;
   &lt;profiles/&gt;
   &lt;activeProfiles/&gt;
&lt;/settings&gt;
</pre>
</li>
</ul>
<ul>
<li>From Eclipse:
<ul>
<li>Go to <em>Help – Software Updates</em>, <em>Available Software</em> tab and click the <em>Add Site</em> button.</li>
<li>Provide <a title="http://m2eclipse.sonatype.org/update/" href="http://m2eclipse.sonatype.org/update/" target="_blank">http://m2eclipse.sonatype.org/update/</a> URL.</li>
<li>After the sites appear, accept the license agreement and click <em>Install All.</em></li>
</ul>
</li>
</ul>
<ul>
<li>Open a command prompt window and inform Eclipse about the local repository by issuing:
<pre class="brush: bash;">
mvn -Declipse.workspace=&lt;path-to-eclipse-workspace&gt; eclipse:add-maven-repo
</pre>
</li>
</ul>
<p>Inside repository, a lot of JAR files are downloaded by maven.</p>
<h3>Creating the Web Project</h3>
<p>In order to perform this, both the command prompt and Eclipse will be used. Usually the following steps need to be performed:</p>
<ul>
<li> From command prompt, go to the workspace directory of Eclipse.</li>
<li>Perform:
<pre class="brush: bash;">
mvn archetype:create -DgroupId=com.mycompany.domain -DartifactId=proj_name -DarchetypeArtifactId=maven-archetype-webapp
</pre>
</li>
</ul>
<p>After the command finishes, a directory called <em>proj_name</em> is created inside the workspace. This directory contains a <em>pom.xml</em> (Project Object Model) file and a Maven2 project structure.</p>
<ul>
<li>Go to <em>proj_name</em> directory.</li>
<li>Perform
<pre class="brush: bash;">mvn compile</pre>
<p>to compile the project.</li>
<li>Perform
<pre class="brush: bash;">mvn package</pre>
<p>to create the application WAR file in the target directory.</li>
<li>Perform
<pre class="brush: bash;">mvn eclipse:eclipse</pre>
<p>to create the <em>.project</em> and <em>.classpath</em> files for Eclipse.</li>
<li>From Eclipse:
<ul>
<li>Press <em>File – Import</em>, select <em>Maven Projects</em> from the list of projects and select the <em>proj_name</em> directory.</li>
<li>In <em>Package Explorer</em> tab, right-click on <em>proj_name</em> project and chose <em>Maven – Enable dependency Management.</em></li>
<li>Right-click on <em>proj_name</em> project and chose <em>Maven – Update Project Configuration;</em></li>
</ul>
</li>
</ul>
<p>Some additional steps that may be required to successfully compile and run the project:</p>
<ul>
<li> Inform the project to use J2SE JDK as the JRE system library.</li>
<li>Set the Java Compiler compliance level to at least 1.5 and also synchronize the Java Project Facets to this version.</li>
</ul>
<p>For more information on Maven2 and its commands the following resources may be useful:</p>
<ul>
<li> <a href="http://www.javaworld.com/javaworld/jw-12-2005/jw-1205-maven.html?page=1"><em>An Introduction to Maven2</em></a>, a JavaWorld article by John Ferguson. <a href="http://www.javaworld.com/javaworld/jw-12-2005/jw-1205-maven.html?page=1"></a></li>
</ul>
<ul>
<li><a href="http://maven.apache.org/guides/index.html"><em>Maven Project Documentation</em></a></li>
</ul>
<br />Posted in Eclipse  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/imhoratiu.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/imhoratiu.wordpress.com/45/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/imhoratiu.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/imhoratiu.wordpress.com/45/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/imhoratiu.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/imhoratiu.wordpress.com/45/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/imhoratiu.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/imhoratiu.wordpress.com/45/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/imhoratiu.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/imhoratiu.wordpress.com/45/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/imhoratiu.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/imhoratiu.wordpress.com/45/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/imhoratiu.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/imhoratiu.wordpress.com/45/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=imhoratiu.wordpress.com&amp;blog=9607853&amp;post=45&amp;subd=imhoratiu&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://imhoratiu.wordpress.com/2009/10/06/configure-maven2-and-eclipse-for-web-projects/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/36efba9efdca57a96253fed7708c854e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">horatiucd</media:title>
		</media:content>
	</item>
		<item>
		<title>Tweak DNS Resolver on Android Emulator</title>
		<link>http://imhoratiu.wordpress.com/2009/09/23/tweak-dns-resolver-on-android-emulator/</link>
		<comments>http://imhoratiu.wordpress.com/2009/09/23/tweak-dns-resolver-on-android-emulator/#comments</comments>
		<pubDate>Tue, 22 Sep 2009 23:21:49 +0000</pubDate>
		<dc:creator>horatiucd</dc:creator>
				<category><![CDATA[Android]]></category>

		<guid isPermaLink="false">http://imhoratiu.wordpress.com/?p=16</guid>
		<description><![CDATA[Tweak DNS Resolver on Android Emulator Posted in Android<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=imhoratiu.wordpress.com&amp;blog=9607853&amp;post=16&amp;subd=imhoratiu&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Tweak DNS Resolver on Android Emulator</p>
<br />Posted in Android  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/imhoratiu.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/imhoratiu.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/imhoratiu.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/imhoratiu.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/imhoratiu.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/imhoratiu.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/imhoratiu.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/imhoratiu.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/imhoratiu.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/imhoratiu.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/imhoratiu.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/imhoratiu.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/imhoratiu.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/imhoratiu.wordpress.com/16/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=imhoratiu.wordpress.com&amp;blog=9607853&amp;post=16&amp;subd=imhoratiu&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://imhoratiu.wordpress.com/2009/09/23/tweak-dns-resolver-on-android-emulator/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/36efba9efdca57a96253fed7708c854e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">horatiucd</media:title>
		</media:content>
	</item>
		<item>
		<title>Spring Web Service Using Maven2 and Eclipse</title>
		<link>http://imhoratiu.wordpress.com/2009/09/23/spring-web-service-using-maven2-and-eclipse/</link>
		<comments>http://imhoratiu.wordpress.com/2009/09/23/spring-web-service-using-maven2-and-eclipse/#comments</comments>
		<pubDate>Tue, 22 Sep 2009 23:20:47 +0000</pubDate>
		<dc:creator>horatiucd</dc:creator>
				<category><![CDATA[Spring WS]]></category>

		<guid isPermaLink="false">http://imhoratiu.wordpress.com/?p=13</guid>
		<description><![CDATA[Spring Web Service Using Maven2 and Eclipse Posted in Spring WS<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=imhoratiu.wordpress.com&amp;blog=9607853&amp;post=13&amp;subd=imhoratiu&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Spring Web Service Using Maven2 and Eclipse</p>
<br />Posted in Spring WS  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/imhoratiu.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/imhoratiu.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/imhoratiu.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/imhoratiu.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/imhoratiu.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/imhoratiu.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/imhoratiu.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/imhoratiu.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/imhoratiu.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/imhoratiu.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/imhoratiu.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/imhoratiu.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/imhoratiu.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/imhoratiu.wordpress.com/13/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=imhoratiu.wordpress.com&amp;blog=9607853&amp;post=13&amp;subd=imhoratiu&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://imhoratiu.wordpress.com/2009/09/23/spring-web-service-using-maven2-and-eclipse/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/36efba9efdca57a96253fed7708c854e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">horatiucd</media:title>
		</media:content>
	</item>
		<item>
		<title>Secure Apache Tomcat with SSL Certificates</title>
		<link>http://imhoratiu.wordpress.com/2009/09/23/secure-apache-tomcat-with-ssl-certificates/</link>
		<comments>http://imhoratiu.wordpress.com/2009/09/23/secure-apache-tomcat-with-ssl-certificates/#comments</comments>
		<pubDate>Tue, 22 Sep 2009 23:19:41 +0000</pubDate>
		<dc:creator>horatiucd</dc:creator>
				<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://imhoratiu.wordpress.com/?p=11</guid>
		<description><![CDATA[Secure Apache Tomcat with SSL Certificates Posted in Security<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=imhoratiu.wordpress.com&amp;blog=9607853&amp;post=11&amp;subd=imhoratiu&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Secure Apache Tomcat with SSL Certificates</p>
<br />Posted in Security  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/imhoratiu.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/imhoratiu.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/imhoratiu.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/imhoratiu.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/imhoratiu.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/imhoratiu.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/imhoratiu.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/imhoratiu.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/imhoratiu.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/imhoratiu.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/imhoratiu.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/imhoratiu.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/imhoratiu.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/imhoratiu.wordpress.com/11/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=imhoratiu.wordpress.com&amp;blog=9607853&amp;post=11&amp;subd=imhoratiu&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://imhoratiu.wordpress.com/2009/09/23/secure-apache-tomcat-with-ssl-certificates/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/36efba9efdca57a96253fed7708c854e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">horatiucd</media:title>
		</media:content>
	</item>
	</channel>
</rss>
