<?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>let x=x &#187; jsr168</title>
	<atom:link href="http://www.crazymcphee.net/x/tag/jsr168/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.crazymcphee.net/x</link>
	<description>programming idiom and methodology</description>
	<lastBuildDate>Tue, 13 Jul 2010 21:56:44 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Building Oracle 10g portlets in a continuous integration environment</title>
		<link>http://www.crazymcphee.net/x/2009/04/29/building-oracle-10g-portlets-in-a-continuous-integration-environment/</link>
		<comments>http://www.crazymcphee.net/x/2009/04/29/building-oracle-10g-portlets-in-a-continuous-integration-environment/#comments</comments>
		<pubDate>Wed, 29 Apr 2009 07:15:37 +0000</pubDate>
		<dc:creator>Scot Mcphee</dc:creator>
				<category><![CDATA[professional practice]]></category>
		<category><![CDATA[tools and techniques]]></category>
		<category><![CDATA[build]]></category>
		<category><![CDATA[continuous integration]]></category>
		<category><![CDATA[jsr168]]></category>
		<category><![CDATA[oracle]]></category>
		<category><![CDATA[portal]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[wizards considered harmful]]></category>

		<guid isPermaLink="false">http://www.crazymcphee.net/x/?p=336</guid>
		<description><![CDATA[Ignoring all the hints (to use wizards and manual deployments) from the Oracle information as to how to go about creating JSR168 portlets for the Oracle 10g Portal server, we have successfully designed a continuous integration environment for the Oracle portal environment for a client. The Oracle 10g portal server is the old-school Oracle app-server [...]]]></description>
			<content:encoded><![CDATA[<p>Ignoring all the hints (to use wizards and manual deployments) from the Oracle information as to how to go about creating JSR168 portlets for the Oracle 10g Portal server, we have successfully designed a continuous integration environment for the Oracle portal environment for a client. The Oracle 10g portal server is the old-school Oracle app-server portal environment, not the BEA environment. As such it&#8217;s pretty old school (the database is the World), but it did surprise us with a command line utility (&#8216;<em>dcmctl</em>&#8216;) that allows us to programmatically deploy components such as portlet WARs into the application server using nothing but simple shell scripts. Unfortunately no such programmatic control has been found yet for the actual portal configuration, but we are working on that (if you know how to programmatically control the configuration of an Oracle 10g Portal with the command line please leave a comment!).</p>
<p>Simply put, using nothing but a <em>/bin/bash</em> script and <em>wget</em> we scrape the latest version of the relevant artefacts from the Artifactory Maven repository. These artefacts are deployed (published) into the repository by the Hudson continuous integration build.</p>
<p>As they say, a picture tells a thousand words and I&#8217;ve included a schematic of the environment we have created below (image links to PDF).</p>
<p> </p>
<p><a href="http://www.crazymcphee.net/x/wp-content/uploads/2009/04/build-process.pdf"><img class="alignnone size-full wp-image-338" title="build-process" src="http://www.crazymcphee.net/x/wp-content/uploads/2009/04/build-process.png" alt="build-process" width="418" height="281" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.crazymcphee.net/x/2009/04/29/building-oracle-10g-portlets-in-a-continuous-integration-environment/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JSR286 and vendor sales teams</title>
		<link>http://www.crazymcphee.net/x/2009/01/25/jsr286-and-vendor-sales/</link>
		<comments>http://www.crazymcphee.net/x/2009/01/25/jsr286-and-vendor-sales/#comments</comments>
		<pubDate>Sun, 25 Jan 2009 01:06:27 +0000</pubDate>
		<dc:creator>Scot Mcphee</dc:creator>
				<category><![CDATA[infrastructure and frameworks]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[jsr168]]></category>
		<category><![CDATA[jsr286]]></category>
		<category><![CDATA[portal]]></category>
		<category><![CDATA[spring]]></category>
		<category><![CDATA[tapestry5]]></category>
		<category><![CDATA[weblogic]]></category>
		<category><![CDATA[websphere]]></category>

		<guid isPermaLink="false">http://www.crazymcphee.net/x/?p=94</guid>
		<description><![CDATA[Eric Spiegelberg recently speculated that the new Java portal specification JSR286 was at the edge of irrelevance. And others agree. I think it&#8217;s worse than irrelevant &#8211; it&#8217;s a solution in search of a problem. I&#8217;ve worked on a successful (JSR168) portal implementation, just last year. I truly don&#8217;t see what the concept of &#8216;portal&#8217; brings [...]]]></description>
			<content:encoded><![CDATA[<p>Eric Spiegelberg recently speculated that the new Java portal specification JSR286 was at the <a title="The edge of irrelevance" href="http://today.java.net/pub/a/today/2009/01/20/jsr-286-portlet-irrelevance.html" target="_blank">edge of irrelevance</a>. And <a title="In response to JSR286" href="http://www.andypemberton.com/portal/in-response-to-jsr-286-the-edge-of-irrelevance/" target="_blank">others agree</a>. I think it&#8217;s worse than irrelevant &#8211; it&#8217;s a solution in search of a problem.</p>
<p>I&#8217;ve worked on a successful (JSR168) portal implementation, just last year. I truly don&#8217;t see what the concept of &#8216;portal&#8217; brings to a web application beyond what could be simply programmed into a customised web application. We used Spring MVC Portal running under Websphere Portal and calling back-end services deployed on a BEA Weblogic server using Spring remoting (note: not WSRP which would have probably massively increased complexity). The reason this mix of platforms (Websphere and Weblogic) was used was <em>political</em>, not technical. I believe the whole use of portals in general tends to follow organisation&#8217;s political and not technical needs.</p>
<p>Despite all that, overall the custom portlets and the project as a whole was quite successful and the customer satisfied with the result. However I felt the most difficult aspects of the project were the parts of the deployment that were left to the portal container to provide. These are the things that are touted as the &#8216;advantage&#8217; using a portal container over a simple custom-built web application. Content management features caused the team members delivering these enormous headaches (and late nights) and the same can be said of the authentication and authorisation mechanisms employed. I felt we could have easily delivered these components using known JEE development APIs with all the customisation required by the customer in at least an equal amount of time.</p>
<p>As a contrast, we used Tapestry 5 to develop (actually, completely rewrite from an earlier phase one version in dire need of improvement) an administration component as a straight web application deployed into the Weblogic server. This took a pair of us less than two weeks to write using a functional-test-driven approach and delivered a very nice web app.</p>
<p>The issue of portal containers and standards being a political rather than a technical concern is particularly pertinent to me at the moment because it looks likely in the near future I&#8217;ll be working on another portal implementation for another client. I can&#8217;t be more specific regarding this but this particular client had already bought the portal server from a vendor and then approached consultants in order to get an actual implementation completed. Of course, no requirements gathering or analysis was done to determine if the portal solution was indeed the right one &#8211; the vendor&#8217;s sales team effectively provided the assurances of product suitability. Because the money is already spent and reputations already staked on the portal platform there&#8217;s no possible way a better solution can be suggested by any technical expert at this stage.</p>
<p>In my view, that&#8217;s the &#8220;relevance&#8221; of portal servers in the Java world. Vendor sales teams love to sell them.</p>
<h4>Update</h4>
<p><span style="color: #000000; "><span style="text-decoration: none;"><a title="JSR286 versus reality" href="http://www.jroller.com/holy/entry/are_portlets_dead_jsr168_and" target="_blank">Jakub Holý makes an excellent observation</a></span></span> about validity of the <em>concept</em> of a portal server:</p>
<blockquote><p>It&#8217;s a pity that portals and portlets aren&#8217;t easier to use and haven&#8217;t made it into the mainstream, the abilities of content aggregation, personalization, uniform security etc. are promising and as we can see in the rise of personal mashups like iGoogle, the fundamental ideas behind portals are still valid and extremely attractive. I hope that some mashup technology will soon provide a viable, light-weight alternative to portals.</p></blockquote>
<p>That&#8217;s an important point: <a title="iGoogle" href="http://google.com/ig/" target="_blank">iGoogle</a> is the most widely used example of a &#8220;portal&#8221; architecture. The modern trend towards the &#8220;mashup&#8221; (especially in social software) also shows the idea to aggregate different web applications under a common view, with security and other features is a valid one: it&#8217;s just the bloated, slow specification process, and predatory vendor sales departments that are stopping real innovation in this space in the Java area. Hopefully some light weight technology will soon emerge from among something like Spring, Tapestry, and GWT to produce a &#8220;portal&#8221; server that delivers actual value, and ease of development, deployment and usage, in a corporate context.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.crazymcphee.net/x/2009/01/25/jsr286-and-vendor-sales/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
