<?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"
	>

<channel>
	<title>Blogging about Software Development</title>
	<atom:link href="http://www.bloggingaboutjava.org/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.bloggingaboutjava.org</link>
	<description>Blogging about Software Development</description>
	<pubDate>Tue, 04 Aug 2009 08:02:17 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.2</generator>
	<language>en</language>
			<item>
		<title>APEX seminar in Aarhus, Denmark</title>
		<link>http://www.bloggingaboutjava.org/2009/08/apex-seminar-in-aarhus-denmark/</link>
		<comments>http://www.bloggingaboutjava.org/2009/08/apex-seminar-in-aarhus-denmark/#comments</comments>
		<pubDate>Tue, 04 Aug 2009 07:56:09 +0000</pubDate>
		<dc:creator>Peter Lorenzen</dc:creator>
		
		<category><![CDATA[Apex]]></category>

		<category><![CDATA[Databases]]></category>

		<category><![CDATA[Oracle]]></category>

		<category><![CDATA[PL/SQL]]></category>

		<category><![CDATA[seminar]]></category>

		<guid isPermaLink="false">http://www.bloggingaboutjava.org/?p=470</guid>
		<description><![CDATA[Logica Denmark is proud to announce an free full day APEX seminar. Come by and hear Anthony Rayner from the APEX Development team introduce the product and demo some of the features coming in release 4.0. Erik Birklund Andersen and Peter Lorenzen will talk about Logica&#8217;s experience with APEX and the business opportunities they see. [...]]]></description>
			<content:encoded><![CDATA[<p>Logica Denmark is proud to announce an free full day APEX seminar. Come by and hear Anthony Rayner from the APEX Development team introduce the product and demo some of the features coming in release 4.0. Erik Birklund Andersen and Peter Lorenzen will talk about Logica&#8217;s experience with APEX and the business opportunities they see. The seminar takes place in Aarhus 15 of September.</p>
<p>For registration and more information check <a href="http://logica.dk/apex">logica.dk/apex</a></p>
<p><img class="alignnone" src="http://www.bloggingaboutjava.org/cms/wordpress2/wp-content/uploads/2009/08/tog2009.jpg" alt="" width="514" height="171" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.bloggingaboutjava.org/2009/08/apex-seminar-in-aarhus-denmark/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Oracle Fusion Middleware 11g released</title>
		<link>http://www.bloggingaboutjava.org/2009/07/oracle-fusion-middleware-11g-released/</link>
		<comments>http://www.bloggingaboutjava.org/2009/07/oracle-fusion-middleware-11g-released/#comments</comments>
		<pubDate>Mon, 06 Jul 2009 07:26:44 +0000</pubDate>
		<dc:creator>Jorn Schurink</dc:creator>
		
		<category><![CDATA[Nice to know]]></category>

		<category><![CDATA[Oracle Fusion Middleware]]></category>

		<category><![CDATA[BPEL]]></category>

		<category><![CDATA[CEP]]></category>

		<category><![CDATA[EDA]]></category>

		<category><![CDATA[Fusion]]></category>

		<category><![CDATA[Middleware]]></category>

		<category><![CDATA[OFM]]></category>

		<category><![CDATA[SOA]]></category>

		<guid isPermaLink="false">http://www.bloggingaboutjava.org/?p=459</guid>
		<description><![CDATA[
Finally on Wednesday 1st of July Oracle released their highly promoted new version of Oracle Fusion Middleware.
A lot of new stuff and concepts to play with like Composites, Event Driven Architectur (EDA), Complex Event Processing (CEP)&#8230;
AND now based on the Oracle Weblogic Server (from the BEA acquisition) which will for sure make all better performing [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft" src="http://event.on24.com/event/15/02/99/rt/images/banner.jpg" alt="" width="714" height="99" /></p>
<p>Finally on Wednesday 1st of July Oracle released their highly promoted new version of Oracle Fusion Middleware.</p>
<p>A lot of new stuff and concepts to play with like Composites, Event Driven Architectur (EDA), Complex Event Processing (CEP)&#8230;<br />
AND now based on the Oracle Weblogic Server (from the BEA acquisition) which will for sure make all better performing and stable.</p>
<p>Based on my Beta findings it will be a great step forward for Service Oriented Architecture.<br />
It is now all highly integrated and all Java based (also Business Activity Monitoring - BAM).</p>
<p>Hopefully upcoming time I will have more possibility to try things out and share the findings.</p>
<p>For now try it out yourself and tell me your findings <img src='http://www.bloggingaboutjava.org/cms/wordpress2/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /><br />
All stuff as well as the webcast on the release can be found via:<br />
<a href="http://www.oracle.com/technology/products/middleware/index.html" target="_blank">Introduction to Oracle Fusion Middleware 11g</a></p>
<p>Greetz,<br />
Jørn</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bloggingaboutjava.org/2009/07/oracle-fusion-middleware-11g-released/feed/</wfw:commentRss>
		</item>
		<item>
		<title>First steps into the Cloud (App Engine)</title>
		<link>http://www.bloggingaboutjava.org/2009/06/first-steps-into-the-cloud-app-engine/</link>
		<comments>http://www.bloggingaboutjava.org/2009/06/first-steps-into-the-cloud-app-engine/#comments</comments>
		<pubDate>Tue, 16 Jun 2009 20:29:33 +0000</pubDate>
		<dc:creator>Arjen van Schie</dc:creator>
		
		<category><![CDATA[Development]]></category>

		<category><![CDATA[J2ee]]></category>

		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://www.bloggingaboutjava.org/?p=452</guid>
		<description><![CDATA[



For quite some time I have been thinking about trying out that &#8216;Cloud-thing&#8216; and see what all the fuzz is about. Because at first I was very skeptic, &#8216;how is this any different then a normal hosting service&#8217; or &#8216;how does this any different than a grid&#8217;. Because depending on the used definition, or cloud [...]]]></description>
			<content:encoded><![CDATA[<table border="0">
<tbody>
<tr>
<td><img class="alignnone" title="app engine" src="http://code.google.com/intl/nl-NL/appengine/images/appengine_lowres.gif" alt="" width="142" height="109" /></td>
<td>For quite some time I have been thinking about trying out that &#8216;<a href="http://en.wikipedia.org/wiki/Cloud_computing" target="_blank">Cloud-thing</a>&#8216; and see what all the fuzz is about. Because at first I was very skeptic, &#8216;how is this any different then a normal hosting service&#8217; or &#8216;how does this any different than a grid&#8217;. Because depending on the used definition, or cloud provider, those difference are subtle.</td>
</tr>
</tbody>
</table>
<p><span id="more-452"></span></p>
<p>Then Google came along and launched their Java version of their Cloud environment(<a href="http://code.google.com/intl/nl-NL/appengine/" target="_blank">Google App<br />
Engine</a>). Since this one seemed to be easy and free to try, <a href="http://code.google.com/intl/nl-NL/appengine/docs/java/gettingstarted/" target="_blank">I decided to give it a try with the tutorial</a>. ( App Engine the java platform , so not only the java language is supported, but languages like groovy and jruby also work, but I stayed with &#8216;just&#8217; Java)  </p>
<p>Within a time span of 5 to 10 minutes I had registered my cloud application and was ready to get started. <a href="http://appengine.google.com/">The registration</a> is not much different than for a Gmail account. Then I decided to install the <a href="http://code.google.com/appengine/docs/java/tools/eclipse.html" target="_blank">eclipse plugins</a>, this also worked as a charm.<br />
Next, I generated a GWT App engine project with hello-world example code and pressed deploy and my ‘hello world’ was running in the cloud.</p>
<p>The total time taken for this test run was less than 15 minutes and additional applications would be deployed even faster because the environment is all ready installed.</p>
<p>The benefits of this over a normal hosting provider for me are ease of use (the java hosting providers i am used to take a lot more time for installing a build), and scalability (the app engine requires you to work in way no local file access to enable distributed computing which enables them to scale your application).</p>
<p>And just as an exercise I decided to port a normal small java project of mine into my cloud project. Not much had to be changed, the local property file access was replaced by a classpath resource, and I had to hack my way into GWT which i never had used before. And that last part cost me the most time.</p>
<p>For the few interested in my IMDB profile compare tool see: <a href="http://film-freak.appspot.com/">http://film-freak.appspot.com/</a> It&#8217;s supposed to help film freaks compare which films they both saw and which the other didn&#8217;t saw. (If you have an imdb vote history you need to make it public first before you can use your profile number, and some large profiles are not handled right but the feature this service uses is not yet supported by IMDB)</p>
<p>Is the app engine flawless? yeah, well even though app engine comes with a local environment that resembles the real app engine, I had a bug that occurred in the real one but not the local one. The bug was related to the character parsing of the app engine (the bug is still in my application btw)</p>
<p>Also this application didn’t use the datastore, but I heard quite some troubles with the use of frameworks and standards (JPA) on the appengine. To summarize this; the appengine has a special datastore, BigTable, which is fast but not a RDBMS, and to use JPA or JDO plugins for frameworks have to be created and the quality of those plugins define what part of JPA and JDO is available and at this moment this seem to be quite limited. Maybe later this year I’ll take some time to play around with this datastore.</p>
<p>Also see:<br />
<a href="http://www.theserverside.com/news/thread.tss?thread_id=54919">http://www.theserverside.com/news/thread.tss?thread_id=54919</a></p>
<p><a href="http://groups.google.com/group/google-appengine-java/web/will-it-play-in-app-engine">http://groups.google.com/group/google-appengine-java/web/will-it-play-in-app-engine</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.bloggingaboutjava.org/2009/06/first-steps-into-the-cloud-app-engine/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Domain Driven Design, the start of the workshop season</title>
		<link>http://www.bloggingaboutjava.org/2009/05/domain-driven-design-the-start-of-the-workshop-season/</link>
		<comments>http://www.bloggingaboutjava.org/2009/05/domain-driven-design-the-start-of-the-workshop-season/#comments</comments>
		<pubDate>Tue, 19 May 2009 08:36:40 +0000</pubDate>
		<dc:creator>Arjen van Schie</dc:creator>
		
		<category><![CDATA[Events]]></category>

		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://www.bloggingaboutjava.org/?p=448</guid>
		<description><![CDATA[A few weeks ago there was a kick-off for the ‘workshop season’ at Logica. The IDT Java department made a very broad roadmap of workshop topics of which Domain Driven Design (DDD) was the first to be held. On May 5th and 7th the DDD workshop was held in Rotterdam. The workshop was centered around [...]]]></description>
			<content:encoded><![CDATA[<p>A few weeks ago there was a kick-off for the ‘workshop season’ at Logica. The IDT Java department made a very broad roadmap of workshop topics of which Domain Driven Design (DDD) was the first to be held. On May 5th and 7th the DDD workshop was held in Rotterdam. The workshop was centered around the philosophy of DDD and some practice with the material.</p>
<p><span id="more-448"></span></p>
<p>The first day we had some discussions about what DDD is and how it relates to normal Object Oriented Design. This led to some very interesting discussions, that helped a lot at creating a shared view on what a model is and what design is and what DDD is.  Although I can imagine that a bit of background in OOD was a prerequisite in order to participate in these discussions.</p>
<p>To make a long story short; the center of domain driven design for us was:  a design strategy where the design of the application is centered around the (problem) domain of the customer, written down in a model with an Ubiquitous Language and that this domain model should be used as a language among all/most stakeholders. Also noted as important, was the emphasis on the refactoring of the model, the agile iterative approach for creating this artifact. With this definition the difference with OOD is that DDD is broader, it favors the agile development approach and at the same time it is more strict (it gives more guidance in how your class model should be created). So some of us realized that parts of the DDD philosophy were already part of their current process.</p>
<p>The second session was a ‘modeling out loud session’ where we created a model for a business case using the theory of the first session. This also led to better understanding of the patterns of DDD with entities, value objects, services, repositories and factories. During this session our definitions of these patterns were refined, and also the gap between these abstract terms and for instance the Spring Framework was crossed. This held back the progress of creating the model for the business case, but of course led to a deeper understanding of the material. Eventually, with the help of the experienced DDD trainers, we made a nice domain driven design for the business case. And all participants received a copy of <a href="http://www.domaindrivendesign.org/books#DDD">Eric Evans’ DDD bible</a> so they can further expand their knowledge on this subject <img src='http://www.bloggingaboutjava.org/cms/wordpress2/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>More info on domain driven design can be found <a href="http://www.infoq.com/minibooks/domain-driven-design-quickly">here</a>.</p>
<p>( Logica employees interested in these kind of sessions should contact the manager of the Java IDT competence, but be aware that most sessions are very popular and  the number of available places are limited. Other workshops that are coming up: Spring essentials, jQuery and Java Performance Tuning ).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bloggingaboutjava.org/2009/05/domain-driven-design-the-start-of-the-workshop-season/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Oracle meets &#8216;the&#8217; Sun</title>
		<link>http://www.bloggingaboutjava.org/2009/04/oracle-meets-the-sun/</link>
		<comments>http://www.bloggingaboutjava.org/2009/04/oracle-meets-the-sun/#comments</comments>
		<pubDate>Mon, 20 Apr 2009 16:30:40 +0000</pubDate>
		<dc:creator>Arjen van Schie</dc:creator>
		
		<category><![CDATA[Java]]></category>

		<category><![CDATA[Oracle]]></category>

		<guid isPermaLink="false">http://www.bloggingaboutjava.org/?p=443</guid>
		<description><![CDATA[Most people probably all ready noticed that this blog has been pretty quiet for a while. But that doesn’t mean that there is not much going on in the java/oracle world !
For instance, today Oracle announced to take-over sun ! Last weeks rumors were all around, about IBM trying to buy Sun, but it turns [...]]]></description>
			<content:encoded><![CDATA[<p>Most people probably all ready noticed that this blog has been pretty quiet for a while. But that doesn’t mean that there is not much going on in the java/oracle world !<br />
For instance, today Oracle announced to take-over sun ! Last weeks rumors were all around, about IBM trying to buy Sun, but it turns out that Oracle won the fight.<br />
So actually when last year we merged our oracle and java blog into one blog, we were just ahead of the curve <img src='http://www.bloggingaboutjava.org/cms/wordpress2/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><span id="more-443"></span></p>
<p><a href="http://www.sun.com/third-party/global/oracle/index.jsp">See this link for more info on the takeover http://www.sun.com/third-party/global/oracle/index.jsp</a></p>
<p>On the other hand there has been a lot of fuzz about the release of java 7, for instance closures are not likely to enter java after all in java 7, but all kinds of other things are. <a href="http://tech.puredanger.com/java7/">See this link for more information about java 7 </a>. Also take notice of <a href="http://blogs.sun.com/darcy/entry/project_coin_call_for_proposals">project coin</a> where developers brought in some very interesting ideas (small improvements) for the new java version.</p>
<table border="0" bgcolor="#ffffff">
<tbody>
<tr>
<td><img src="http://upload.wikimedia.org/wikipedia/en/thumb/3/39/Java_logo.svg/100px-Java_logo.svg.png" border="0" alt="" width="100" height="186" /></td>
<td><img src="http://www.pocketpcmag.com/blogs/media/java_duke_mascot.jpg" alt="" /></td>
<td><img src="http://oracleimg.com/admin/images/ocom/hp/oralogo_small.gif" alt="" /></td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://www.bloggingaboutjava.org/2009/04/oracle-meets-the-sun/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Java 1.4 is officially obsolete</title>
		<link>http://www.bloggingaboutjava.org/2008/11/java-14-is-officially-obsolete/</link>
		<comments>http://www.bloggingaboutjava.org/2008/11/java-14-is-officially-obsolete/#comments</comments>
		<pubDate>Tue, 25 Nov 2008 13:37:52 +0000</pubDate>
		<dc:creator>Jesper de Jong</dc:creator>
		
		<category><![CDATA[Development]]></category>

		<category><![CDATA[Java]]></category>

		<category><![CDATA[j2se]]></category>

		<guid isPermaLink="false">http://www.bloggingaboutjava.org/?p=417</guid>
		<description><![CDATA[Sun&#8217;s Java 1.4 has quietly gone end-of-life since 30 October; see Sun&#8217;s Java SE 1.4.2 page:
J2SE 1.4.2 is in its Java Technology End of Life (EOL) transition period. The EOL transition period began Dec, 11 2006 and will complete October 30th, 2008, when J2SE 1.4.2 will have reached its End of Service Life (EOSL).
This doesn&#8217;t [...]]]></description>
			<content:encoded><![CDATA[<p>Sun&#8217;s Java 1.4 has quietly gone end-of-life since 30 October; see <a title="Sun Java SE 1.4.2" href="http://java.sun.com/j2se/1.4.2/">Sun&#8217;s Java SE 1.4.2 page</a>:</p>
<blockquote><p><strong>J2SE 1.4.2 is in its Java Technology End of Life (EOL) transition period</strong>. The EOL transition period began Dec, 11 2006 and will complete October 30th, 2008, when J2SE 1.4.2 will have reached its End of Service Life (EOSL).</p></blockquote>
<p>This doesn&#8217;t mean that Sun doesn&#8217;t support Java 1.4 anymore - with Sun&#8217;s <a title="Java SE for Business" href="http://www.sun.com/software/javaseforbusiness/index.jsp">Java SE for Business</a> you can get up to 15 years of support for older Java versions.</p>
<p>However, if you&#8217;re on a project that still uses Java 1.4 you should really upgrade to Java 6, if you have any say into which Java version is being used. Besides the new features added in Java 5 and 6, you&#8217;ll enjoy the <a href="http://java.sun.com/performance/reference/whitepapers/6_performance.html">performance enhancements</a> and bug fixes.</p>
<p>If you&#8217;re a Java programmer and you still didn&#8217;t learn the new Java 5 features&#8230; then you&#8217;re in trouble.</p>
<p>The SCJP exam for Java 1.4 has been discontinued this month.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bloggingaboutjava.org/2008/11/java-14-is-officially-obsolete/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Process Acceleration</title>
		<link>http://www.bloggingaboutjava.org/2008/11/process-acceleration/</link>
		<comments>http://www.bloggingaboutjava.org/2008/11/process-acceleration/#comments</comments>
		<pubDate>Sun, 23 Nov 2008 23:46:45 +0000</pubDate>
		<dc:creator>Michel Klabbers</dc:creator>
		
		<category><![CDATA[Development]]></category>

		<category><![CDATA[General]]></category>

		<category><![CDATA[Methodologies]]></category>

		<category><![CDATA[acceleration]]></category>

		<category><![CDATA[process]]></category>

		<guid isPermaLink="false">http://www.bloggingaboutjava.org/?p=408</guid>
		<description><![CDATA[Last thursday I visited a presentation about Process Acceleration (PA) [1]. PA is a Business Change method that also uses separation of concerns: it separates the end result from anything else in the business process. The end result of the process is the success state, i.e. all employees correctly submitted their billing forms and all [...]]]></description>
			<content:encoded><![CDATA[<p>Last thursday I visited a presentation about Process Acceleration (PA) [1]. PA is a Business Change method that also uses separation of concerns: it separates the end result from anything else in the business process. The end result of the process is the success state, i.e. all employees correctly submitted their billing forms and all team managers got a correct summary by mail. The emphasis lies primarely on getting the definition of the end result as accurate as possible.</p>
<p><span id="more-408"></span>I will try to give more insight into PA by using a more formal approach. In the section below I will use the definitions &#8220;success state&#8221; and &#8220;system&#8221; a lot. I will define these first:</p>
<blockquote><p>Success state: P_1 and P_2 and &#8230; P_N</p>
<p>P_x (1 &lt;= x &lt;= N) is a predicate, for example: P_1 == (All timesheets employees are submitted), P_2 == (All submitted timesheets are correct).</p>
<p>System: S</p>
<p>S =&gt; P_i and P_i+1 and &#8230; P_i+m and Q_j and Q_j+1 and &#8230; Q_j+n</p>
<p>where P_i and P_i+1 and &#8230; P_i+m is a subset of our success state P_1 and P_2 and &#8230; P_N</p>
<p>Q_j and Q_j+1 and &#8230; Q_j+n are additional predicates, not in our success state.</p></blockquote>
<p>Instead of system you can also read solution. A system can be an already existing system or something that can be built. To illustrate the difference between traditional strategies and the PA strategy, we will do a step by step construction towards an at first unknown success state T_success. We will start from an empty state T_empty.</p>
<blockquote><p>Traditional strategy 1:<br />
Step 1) Design new component C_1.<br />
Step 2) Check new state T_1 with customer: is this state the success state? Yes: done, No: proceed.<br />
Step 3) Design new component C_2, connect C_2 to C_1.<br />
Step 4) Check new state T_2 with customer: is this state the success state? Yes: done, No: proceed.<br />
Step 5) Design new component C_3, connect C_3 to C_2 and C_1.<br />
Step 6) Check new state T_3 with customer: is this state the success state? Yes: done, No: proceed.<br />
&#8230;</p></blockquote>
<p>The first strategy starts building new components, one at a time. After each component is finished we check if success state is reached. This is not unlike many hobby projects where you start from scratch and build a component at a time. Once you are happy with result you have reached T_success.</p>
<blockquote><p>Traditional strategy 2:<br />
Step 1) Apply systems S_q, S_q+1, &#8230; , S_q+k (short: S_q&#8217;) to T_empty.<br />
Step 2) Check new state T_k&#8217; with customer: is this state the success state? Yes: done, No: proceed.<br />
Step 3) Design new component C_1, add this component to S_q&#8217;.<br />
Step 4) Check new state T_k1&#8242; with customer: is this state the success state? Yes: done, No: proceed.<br />
Step 5) Design new component C_2, add this component to S_q+1&#8242;.<br />
Step 6) Check new state T_k2&#8242; with customer: is this state the success state? Yes: done, No: proceed.<br />
&#8230;</p></blockquote>
<p>The second strategy starts from a combination of, most likely existing, systems. We then add components one at a time. After each component we check if we have reached the success state. This is a way of building systems which is used often when adding functionality to legacy systems.</p>
<blockquote><p>Traditional strategy 3:<br />
Step A.1) Apply a permutation of systems S_q, S_q+1, &#8230; , S_q+k (short: S_q&#8217;) to T_empty.<br />
Step A.2) Check new state T_k&#8217; with customer: is this state a good enough approximation of the success state? Yes: proceed to B.1), No: proceed.<br />
Step A.3) Apply a different permutation of systems S_q, S_q+1, &#8230; , S_q+k (short: S_q1&#8242;) to T_empty.<br />
Step A.4) Check new state T_k1&#8242; with customer: is this state a good enough approximation of the success state? Yes: proceed to B.1), No: proceed.<br />
Step A.5) Apply a different permutation of systems S_q, S_q+1, &#8230; , S_q+k (short: S_q2&#8242;) to T_empty.<br />
&#8230;<br />
Step B.1) Design new component C_1, add this component to previously found near success system permutation S_q&#8221;.<br />
Step B.2) Check new state T_k1&#8221; with customer: is this state the success state? Yes: done, No: proceed.<br />
Step B.3) Design new component C_2, add this component to previously found near success system permutation S_q&#8221;.<br />
Step B.4) Check new state T_k1&#8221; with customer: is this state the success state? Yes: done, No: proceed.<br />
&#8230;</p></blockquote>
<p>The third, somewhat less traditional, starts by finding a good combination of systems. This combination should give a good approximation of the final state the customer wants to achieve. Only then you start adding new components.</p>
<blockquote><p>Classic PA strategy:<br />
Step A.1) Create a definition of T_success, called T_success&#8217;.<br />
Step A.2) Check T_success&#8217; with customer: is this state the success state? Yes: proceed to B.1), No: proceed.<br />
Step A.3) Change the definition of T_success&#8217; resulting in a new definition called T_success1&#8242;.<br />
Step A.4) Check T_success1&#8242; with customer: is this state the success state? Yes: proceed to B.1), No: proceed.<br />
&#8230;<br />
Step B.1) Directly derive definitions of components C_1, &#8230; C_u from best definition T_success&#8221;.<br />
Note that C_1, &#8230;, C_u =&gt; P_1 and P_2 and &#8230; P_N must hold.<br />
Step B.2) Match components C_1, &#8230; C_u with systems S_q, S_q+1, &#8230; , S_q+k.<br />
Step B.3) Choose best matching(s). For these matchings T_success&#8221; must be a subset of resulting state T_matching.</p></blockquote>
<p>PA first creates a state definition as close as possible to the success state. It then reviews and alters this state iteratively. Only when the definition is satisfactory the next phase starts. In this phase component definitions are derived from the success state definition. These component definitions are then matched with systems and the best matchings are chosen. Simplicity is important in PA: we always strive for a correct succes state with minimal size.</p>
<p>Note that the first two traditional strategies have no real focus on the final success state. This means that during development the chosen success state might actually be (a lot) different than the real success state. The biggest difference between the third strategy and the PA strategy is that in PA we disregard existing systems (read: solutions) until a really good success state definition has been found. Also, we extract as much information as we can from the success state definition. We then use this information to define components. Each component definition should represent a part of the success state. These component definitions should be mutually exclusive (i.e. no overlap) and all component definitions together should imply the success state. Next we match the component definitions with all known systems and come up with the best matchings. Classic PA is almost done here. We now compare the best matchings and present them, with cost figures, to the customer.</p>
<p>As mentioned earlier an important aspect of PA is the separation of the success state from any solution. This is important because of the reduced effort needed: anyone involved in the process can just think about the success state and can forget about (existing) systems. Depending on the number of systems this can be a serious advantage.</p>
<p>When there are only few solutions and the customer really doesn&#8217;t know what he or she wants, starting from an existing solution and building from that is the way to go. However, when there is one clear success state and many possible (existing) solutions PA will shine.</p>
<ul>
<li>[1]: <a title="http://www.procesacceleratie.nl/" href="http://www.procesacceleratie.nl/" target="_blank">http://www.procesacceleratie.nl/</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.bloggingaboutjava.org/2008/11/process-acceleration/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Separation of Concerns and SOA</title>
		<link>http://www.bloggingaboutjava.org/2008/11/separation-of-concerns-and-soa/</link>
		<comments>http://www.bloggingaboutjava.org/2008/11/separation-of-concerns-and-soa/#comments</comments>
		<pubDate>Sun, 23 Nov 2008 23:39:27 +0000</pubDate>
		<dc:creator>Michel Klabbers</dc:creator>
		
		<category><![CDATA[Development]]></category>

		<category><![CDATA[General]]></category>

		<category><![CDATA[SOA]]></category>

		<guid isPermaLink="false">http://www.bloggingaboutjava.org/?p=402</guid>
		<description><![CDATA[According to Google Trends SOA is not as &#8220;hot&#8221; as it was a year ago. According to a recent poll by Finalist [0] at the J-Fall [1] SOA is actually very &#8220;not&#8221;. Does this mean that companies are already preparing or even using SOA? Or are they abandoning SOA?

The idea behind SOA is actually very [...]]]></description>
			<content:encoded><![CDATA[<p>According to Google Trends SOA is not as &#8220;hot&#8221; as it was a year ago. According to a recent poll by Finalist [0] at the J-Fall [1] SOA is actually very &#8220;not&#8221;. Does this mean that companies are already preparing or even using SOA? Or are they abandoning SOA?</p>
<p><span id="more-402"></span></p>
<p>The idea behind SOA is actually very good. It loosely couples the service and the front-end, thus separating our concerns. The term seperation of concerns (SoC) was first introduced by Edsger Dijkstra about 35 years ago. The Wiki has an interesting qoute on SoC [2]:</p>
<blockquote><p>&#8220;All programming paradigms aid developers in the process of improving separation of concerns. For example, object-oriented programming languages can separate concerns into objects, and a design pattern like MVC can separate content from presentation and data-processing (model) from content. Service-oriented design can separate concerns into services.&#8221;</p></blockquote>
<p>In this context SOA really looks like the next step in programming.</p>
<p>Assuming your company is planning to &#8220;go SOA&#8221; in near future, what challenges await?<br />
Here are some of the implications that come to mind when using SOA:</p>
<ul>
<li> use of external services means higher internet bandwidth usage</li>
<li> exposure of internal services to external companies means additional security measures become necessary</li>
<li> using just a single connection to external services means a higher chance of losing messages</li>
<li> use of possibly badly written external services means additional infrastructure and code measures, such as timeouts, become necessary</li>
<li> when chaining services complex behaviour can emerge and message based testing tools are highly advised</li>
</ul>
<p>Using SOA we also have to be more aware of:</p>
<ul>
<li>connection failure</li>
<li> message loss</li>
<li>service failure</li>
</ul>
<p>By using a polling mechanism we could improve our awareness, but the transition to a Service Oriented Architecture will still be a step-by-step process [3], where we will learn by doing.</p>
<ul>
<li>[0]: <a title="http://www.finalist.com/content/19787/hot_or_not_contest_vermaakt_bezoekers_j-fall_" href="http://www.finalist.com/content/19787/hot_or_not_contest_vermaakt_bezoekers_j-fall_" target="_blank">http://www.finalist.com/content/19787/hot_or_not_contest_vermaakt_bezoekers_j-fall_</a></li>
<li>[1]: <a title="http://www.nljug.org/jfall/" href="http://www.nljug.org/jfall/" target="_blank">http://www.nljug.org/jfall/</a></li>
<li>[2]: <a title="http://en.wikipedia.org/wiki/Separation_of_concerns" href="http://en.wikipedia.org/wiki/Separation_of_concerns" target="_blank">http://en.wikipedia.org/wiki/Separation_of_concerns</a></li>
<li>[3]: <a title="http://it.toolbox.com/blogs/the-soa-blog/soa-benefits-challenges-and-risk-mitigation-8075" href="http://it.toolbox.com/blogs/the-soa-blog/soa-benefits-challenges-and-risk-mitigation-8075">http://it.toolbox.com/blogs/the-soa-blog/soa-benefits-challenges-and-risk-mitigation-8075</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.bloggingaboutjava.org/2008/11/separation-of-concerns-and-soa/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Pro4Pro season starting tomorrow</title>
		<link>http://www.bloggingaboutjava.org/2008/10/pro4pro-season-starting-tomorrow/</link>
		<comments>http://www.bloggingaboutjava.org/2008/10/pro4pro-season-starting-tomorrow/#comments</comments>
		<pubDate>Mon, 27 Oct 2008 09:31:07 +0000</pubDate>
		<dc:creator>Arjen van Schie</dc:creator>
		
		<category><![CDATA[Events]]></category>

		<category><![CDATA[General]]></category>

		<category><![CDATA[Java]]></category>

		<category><![CDATA[Oracle]]></category>

		<category><![CDATA[Pro4Pro]]></category>

		<guid isPermaLink="false">http://www.bloggingaboutjava.org/?p=392</guid>
		<description><![CDATA[



 Tomorrow is the start of a new &#8216;Pro4Pro season&#8217;. Pro4Pro sessions are given by some of the best professionals of Logica.
“Extreem RAD : Live Web Applicatie Ontwikkeling met Oracle Application Express”
“Standardizing SOA with Oracle&#8217;s Application Integration Architecture&#8221;
“Practical Approach to SOA Adoption”




Subject: “Extreem RAD : Live Web Applicatie Ontwikkeling met Oracle Application Express”
Pro: Roel Hartman
Office: [...]]]></description>
			<content:encoded><![CDATA[<table>
<tr>
<td>
<img class="alignleft" style="padding:4px;" src="http://www.bloggingaboutjava.org/cms/wordpress2/wp-content/themes/LogicaCMG/images/pro4pro-200x85.gif" alt="" width="160" align="left" /></td>
<td> Tomorrow is the start of a new &#8216;Pro4Pro season&#8217;. Pro4Pro sessions are given by some of the best professionals of Logica.</p>
<li><strong>“Extreem RAD : Live Web Applicatie Ontwikkeling met Oracle Application Express”</strong></li>
<li><strong>“Standardizing SOA with Oracle&#8217;s Application Integration Architecture&#8221;</strong></li>
<li><strong>“Practical Approach to SOA Adoption”</strong></li>
</td>
</tr>
</table>
<p><span id="more-392"></span></p>
<p><strong>Subject: “Extreem RAD : Live Web Applicatie Ontwikkeling met Oracle Application Express”</strong><br />
Pro: Roel Hartman<br />
Office: Arnhem, the Netherlands<br />
Date: 28 oktober 2008</p>
<p><strong>Subject: “Standardizing SOA with Oracle&#8217;s Application Integration Architecture&#8221;</strong><br />
Pro: Adri Greeve<br />
Office: Rotterdam<br />
Date: 13 november 2008</p>
<p><strong>Subject: “Practical Approach to SOA Adoption”</strong><br />
Pro: Edwin van Dis<br />
Office: Amstelveen<br />
Date: 27 november 2008</p>
<p><a href="http://www.logica.nl/pro4pro/">Register for a Pro4Pro session</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.bloggingaboutjava.org/2008/10/pro4pro-season-starting-tomorrow/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Guru4Pro: Thomas Erl @ Logica</title>
		<link>http://www.bloggingaboutjava.org/2008/10/guru4pro-thomas-erl-logica-nl/</link>
		<comments>http://www.bloggingaboutjava.org/2008/10/guru4pro-thomas-erl-logica-nl/#comments</comments>
		<pubDate>Mon, 13 Oct 2008 09:21:03 +0000</pubDate>
		<dc:creator>Arjen van Schie</dc:creator>
		
		<category><![CDATA[Events]]></category>

		<category><![CDATA[General]]></category>

		<category><![CDATA[Guru4Pro]]></category>

		<category><![CDATA[Java]]></category>

		<category><![CDATA[Oracle]]></category>

		<guid isPermaLink="false">http://www.bloggingaboutjava.org/?p=378</guid>
		<description><![CDATA[
Guru4Pro Thomas Erl - - ‘How to overcome the key challenges within SOA’.
Date: 20 oktober 2008
On Monday the 20th of October Logica has invited Thomas Erl to speak on the Principles of Service Design and Patterns to transform the most important challenges into a successful realization of a Service Oriented Architecture. Business analyst, functional designers [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft" style="padding:4px;" src="http://www.logica.nl/file/10754" alt="" width="160" align="left" /><br />
<strong>Guru4Pro Thomas Erl - - ‘How to overcome the key challenges within SOA’.<br />
Date: 20 oktober 2008</strong></p>
<p>On Monday the 20th of October Logica has invited Thomas Erl to speak on the Principles of Service Design and Patterns to transform the most important challenges into a successful realization of a Service Oriented Architecture. Business analyst, functional designers and architects will gain new valuable insights on the modeling of services and supporting architecture.</p>
<p><span id="more-378"></span></p>
<p><strong>About Thomas Erl:</strong><br />
Thomas Erl is the world&#8217;s top-selling SOA author, Series Editor of the &#8220;Prentice Hall Service-Oriented Computing Series from Thomas Erl&#8221; (www.soabooks.com), and Editor of The SOA Magazine (www.soamag.com). With over 95,000 copies in print world-wide, his books have become international bestsellers. His most recent titles “SOA Design Patterns” (www.soapatterns.com) and “Web Service Contract Design and Versioning for SOA” were co-authored with a series of industry experts and are being released in the latter half of 2008.</p>
<p>Thomas is also the founder of SOA Systems Inc. (www.soasystems.com), a company specializing in SOA training, certification, and strategic consulting services with a vendor-agnostic focus. For more information, visit www.thomaserl.com.</p>
<p><strong>Program</strong><br />
18.00 uur Welcome &#038; diner<br />
19.00 uur Welcome speach<br />
19.15 uur Thomas Erl – ‘How to overcome the key challenges within SOA’<br />
20.30 uur Drinks</p>
<p><em><strong>The presentation will be in English of course.</strong></em></p>
<p><strong>Location</strong><br />
Logica, Prof. W.H. Keesomlaan 14 in Amstelveen</p>
<p>There is more info on the Logica site (in Dutch). <a href="http://www.logica.nl/guru4pro+-+thomas+erl/400013044">You can also register (”aanmeldingsformulier”) there</a>.</p>
<p><img src="http://www.logica.nl/file/3192" alt="Guru4Pro" width="200" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.bloggingaboutjava.org/2008/10/guru4pro-thomas-erl-logica-nl/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
