<?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>f3yourmind &#187; Java</title>
	<atom:link href="http://aslamkhan.net/tag/java/feed/" rel="self" type="application/rss+xml" />
	<link>http://aslamkhan.net</link>
	<description>Ubuntu coding ... for your friends</description>
	<lastBuildDate>Mon, 24 Oct 2011 07:07:12 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Reflections on the JCSE Agile and Architecture Talk</title>
		<link>http://aslamkhan.net/events/reflections-on-the-jcse-agile-and-architecture-talk/</link>
		<comments>http://aslamkhan.net/events/reflections-on-the-jcse-agile-and-architecture-talk/#comments</comments>
		<pubDate>Fri, 23 Jul 2010 10:25:31 +0000</pubDate>
		<dc:creator>Aslam</dc:creator>
				<category><![CDATA[Conferences]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[AOP]]></category>
		<category><![CDATA[architecture]]></category>
		<category><![CDATA[DDD]]></category>
		<category><![CDATA[DSL]]></category>
		<category><![CDATA[intentions]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://aslamkhan.net/?p=362</guid>
		<description><![CDATA[It was really good to be part of a very topical subject at the JCSE Architecture Forum last night.  While these discussion are so valuable, the things that surface can only be glossed over, largely because of time constraints.  I end up feeling a very satisfied and energised but a part of me feels a [...]]]></description>
			<content:encoded><![CDATA[<p>It was really good to be part of a very topical subject at the <a href="http://jcse.org.za/events/2010-07-22-architecture-forum">JCSE Architecture Forum</a> last night.  While these discussion are so valuable, the things that surface can only be glossed over, largely because of time constraints.  I end up feeling a very satisfied and energised but a part of me feels a bit hollow.</p>
<p>So here are some of the things that surfaced at the Forum, and my narrow, unworldly opinion on each (i.e. I&#8217;m just trying to fill that hollow feeling).</p>
<p><strong>When we talk about architecture, we need to define what we mean by architecture?</strong></p>
<p>In my talk it was a very simple view of architecture which, thinking back, I should have disclosed very early.  I am now applying from <a href="http://www.threeriversinstitute.org/blog/?page_id=379">Kent Beck</a> who talks about mutually beneficial relationships.   So I think of architecture as the mutually beneficial relationship between two or more things.  So what is a thing?  It could be  lines code in a method, methods in a class, classes in namespace, namespaces in code base, binaries in an application server, application servers in a cluster, &#8230; see where I am going?  Architecture is about creating beneficial relationships, and the 5 things I discussed are based on this view.  If you don&#8217;t know anything about the things, then you cannot create beneficial relationships.  From an agile perspective, the beneficial relationship that you create should only be beneficial based on your knowledge right now.  Tomorrow your knowledge changes, so the relationship may not be as beneficial as yesterday.  Time to change.</p>
<p><strong>Building infrastructural architecture independently of functional requirements&#8230;</strong></p>
<p>I am not convinced of the benefit of this approach.  In my limited experience, every business need defines the constraints or needs of the infrastructural architecture.  I find it hard to find the point of departure, yet there is a school of thought that suggests that function is orthogonal to the architecture.  Perhaps I just don&#8217;t understand this.  However from an agile perspective, I want to release early and there are many constraints on infrastructure from the business (for example, administrative processes like procurement of hardware).  I like to understand what these are early on, reach agreement on what we can release at the earliest and design accordingly.  Perhaps the first release is on lightweight infrastructure and that means we &#8220;limit&#8221; scalability.  So, I don&#8217;t design for beyond what I know is real.</p>
<p><strong>Model Driven Architecture &#8230;</strong></p>
<p>My view is more philosophical and abstract.  What is a <em>model</em>?  For me, a model is something intangible.  It is a way we understand something.  But we represent our models in many ways.  Through words in written or spoken conversation, in unstructured pictures, in structured notation like UML, even code is a representation of a model.</p>
<p>What do we mean by <em>driven</em>? I view it as a something that takes an input that produces an output.  In this case, we take an input, the model, and produce an output, an architecture.  So, I take an understanding of problem and use that to derive an architecture.  So, that&#8217;s nothing new here.  However, I don&#8217;t like to confuse driving out an architecture from a representation of the model.  That&#8217;s different.  Now we are going beyond thought processes  into mechanical processes.  Then the challenge is about how to apply the feedback to the representation of the model &#8211; and that is what will make you agile.  Too much for my small brain.</p>
<p><strong>Plumbing &#8230;</strong></p>
<p>Yup, we do too much hand crafted plumbing!  It&#8217;s something that we have been working on for a long, long time.  I think convention over configuration, dependency inversion, meta-programming are all attempts at addressing this problem.  Some early success that I have experienced is on taking a polyglot approach. I am not talking about mixing general purpose languages on one runtime only.  I am also including domain specific languages. I&#8217;ve had some early success where using DSL to describe functional intentions and then generating a large portion of the plumbing.  Where I&#8217;ve suffered is when I mix concepts from different domains.  There is the domain of plumbing and the domain of the business.  Whenever I&#8217;ve mixed the two, it pains later rather than sooner.  Right now, the only way I&#8217;ve had some success is with aspect orientation and meta-programming.</p>
<p><strong>@StatelessSessionBean &#8230;</strong></p>
<p><a href="http://www.psybergate.co.za/opencms/opencms/psybergate-pages/home1.html">Chris Naidoo</a> is right.  That thing called J2EE and subsequent versions is just horribly broken.  It&#8217;s broken encapsulation and a whole lot more.  The fact that we now must use an annotation and not implement an interface is immaterial.  Both result in the same pain &#8211; mixed concepts (see plumbing above).  Annotations should be specific to the business such as <em>@RecalculateCostsOnRerouteOfCargo</em> can be used as an interception point for injecting a rule on a class or method.</p>
<p>I would go even further and say that the POJO JavaBean specification is also broken.  Why on earth <em>must</em> I have a no-argument constructor and accessors and mutators.</p>
<p><strong>Last thoughts &#8230;</strong></p>
<p>I may have missed some of the other discussions but these are the ones that I woke up with this morning. In general, my observation is that we need to be very concrete very early if we want to be agile, even in architecture.</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Faslamkhan.net%2Fevents%2Freflections-on-the-jcse-agile-and-architecture-talk%2F&amp;title=Reflections%20on%20the%20JCSE%20Agile%20and%20Architecture%20Talk" id="wpa2a_2"><img src="http://aslamkhan.net/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://aslamkhan.net/events/reflections-on-the-jcse-agile-and-architecture-talk/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Beware the Big Industry Specification Up Front</title>
		<link>http://aslamkhan.net/software-development/beware-the-big-industry-specification-up-front/</link>
		<comments>http://aslamkhan.net/software-development/beware-the-big-industry-specification-up-front/#comments</comments>
		<pubDate>Mon, 08 Mar 2010 13:38:53 +0000</pubDate>
		<dc:creator>Aslam</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[IAA]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[OSGi]]></category>
		<category><![CDATA[SCA]]></category>

		<guid isPermaLink="false">http://aslamkhan.net/?p=320</guid>
		<description><![CDATA[If you have done any development in Java-land, then surely you came across the dreaded three letter word EJB.  And you were most likely duped into thinking it was great.  I did!  Then I realised it was just a specification.  It was a great big, furry, non-executable PDF.  A specification for managing objects but the [...]]]></description>
			<content:encoded><![CDATA[<p>If you have done any development in Java-land, then surely you came across the dreaded three letter word EJB.  And you were most likely duped into thinking it was great.  I did!  Then I realised it was just a specification.  It was a great big, furry, non-executable PDF.  A specification for managing objects but the creating of these objects were just horrid.  EJB3 was a clean-up exercise, but still far from nice.</p>
<p>A couple of months ago I ran into OSGi again, but with SCA on top of it.  Horrid!  SCA is yet another warm and huggable specification.  But it&#8217;s so ugly to work with.  Everything feels so over the top complicated and restrictive in expression.  And the tools that I saw built on this SCA implementation were just awful.  Beyond being buggy, the enforced paradigm was just counter-productive.  When will tool vendors realise that talented developers do not want a diagramming interface to write code?  But the root cause is that the SCA specification describes the diagramming notation. Yuck!  Same reason that I do UML sketches with a lot of bastardisations with no tie-in with my code.</p>
<p>And let me not go into domain specific big vendor specs, designs, blue prints, etc. like IBM&#8217;s Insurance Application Architecture (IAA). Nasty stuff.</p>
<p>More commonly, I see so many self-confessed agile teams fearing the dreaded big design up front, and the big requirements up front document thrown over the wall.  If there is such a fear for big-x-up-front, why is there no fear for big-industry-and-vendor-specs-up-front like EJB, SCA, IAA, etc?</p>
<p>Why?</p>
<p>There are deep lessons and principles lurking beneath this surface.  Agile demands you to be a lot more aware of actions, decisions and consequences.</p>
<p>So why do you choose not to be agile when you are trying so hard to be agile?</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Faslamkhan.net%2Fsoftware-development%2Fbeware-the-big-industry-specification-up-front%2F&amp;title=Beware%20the%20Big%20Industry%20Specification%20Up%20Front" id="wpa2a_4"><img src="http://aslamkhan.net/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://aslamkhan.net/software-development/beware-the-big-industry-specification-up-front/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gotcha! (side-effects really pain a lot)</title>
		<link>http://aslamkhan.net/software-development/gotcha-side-effects-really-pain-a-lot/</link>
		<comments>http://aslamkhan.net/software-development/gotcha-side-effects-really-pain-a-lot/#comments</comments>
		<pubDate>Mon, 28 Dec 2009 20:37:40 +0000</pubDate>
		<dc:creator>Aslam</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[buildr]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[rjb]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[side effects]]></category>

		<guid isPermaLink="false">http://aslamkhan.net/?p=286</guid>
		<description><![CDATA[I just upgraded to Snow Leopard and installed buildr which failed miserably. /Library/Ruby/Gems/1.8/gems/rjb-1.1.9/lib/rjbcore.bundle: dlopen(/Library/Ruby/Gems/1.8/gems/rjb-1.1.9/lib/rjbcore.bundle, 9): no suitable image found. Did find: (LoadError) /Library/Ruby/Gems/1.8/gems/rjb-1.1.9/lib/rjbcore.bundle: no matching architecture in universal wrapper - /Library/Ruby/Gems/1.8/gems/rjb-1.1.9/lib/rjbcore.bundle It turns out that I needed to rebuild rjb, the ruby-java bridge, but that failed too. extconf.rb:48: JAVA_HOME is not set. (RuntimeError) I was [...]]]></description>
			<content:encoded><![CDATA[<p>I just upgraded to Snow Leopard and installed <a href="http://buildr.apache.org">buildr</a> which failed miserably.</p>
<blockquote><p><code>/Library/Ruby/Gems/1.8/gems/rjb-1.1.9/lib/rjbcore.bundle: dlopen(/Library/Ruby/Gems/1.8/gems/rjb-1.1.9/lib/rjbcore.bundle, 9): no suitable image found.  Did find: (LoadError)<br />
/Library/Ruby/Gems/1.8/gems/rjb-1.1.9/lib/rjbcore.bundle: no matching architecture in universal wrapper - /Library/Ruby/Gems/1.8/gems/rjb-1.1.9/lib/rjbcore.bundle</code></p></blockquote>
<p>It turns out that I needed to rebuild <a href="http://rubyforge.org/projects/rjb/">rjb</a>, the ruby-java bridge, but that failed too.</p>
<blockquote><p><code>extconf.rb:48: JAVA_HOME is not set. (RuntimeError)</code></p></blockquote>
<p>I was certain that <code>JAVA_HOME</code> was definitely set and it was pointing to the 64-bit Apple 1.6 JDK.  Digging in <code>extconf.rb</code>, it finds <code>JAVA_HOME</code> from the <code>ENV</code> hash</p>
<blockquote><p><code>javahome = ENV['JAVA_HOME']</code></p></blockquote>
<p>So, nothing weird about that too!  What&#8217;s going on?  I was installing buildr like this</p>
<blockquote><p><code>sudo gem install buildr</code></p></blockquote>
<p>The problem is that once you <code>sudo</code>, you are running with another environment, one without the <code>JAVA_HOME</code> variable.  So, the quick fix is simply</p>
<blockquote><p><code>sudo env JAVA_HOME=$JAVA_HOME gem install '1.1.9' rjb<br />
sudo env JAVA_HOME=$JAVA_HOME gem install buildr</code></p></blockquote>
<p>I completely forgot about this side-effect.  Like all side-effects, it was painful &#8211; it just cost me an hour of  digging around looking at all sorts of other things.  But, more importantly, breaking fundamental assumptions (e.g. my environment is the <code>sudo</code>&#8216;s environment) and zoning in on the root cause of the problem resulted in a very simple solution.</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Faslamkhan.net%2Fsoftware-development%2Fgotcha-side-effects-really-pain-a-lot%2F&amp;title=Gotcha%21%20%28side-effects%20really%20pain%20a%20lot%29" id="wpa2a_6"><img src="http://aslamkhan.net/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://aslamkhan.net/software-development/gotcha-side-effects-really-pain-a-lot/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fast Track to Domain Driven Design</title>
		<link>http://aslamkhan.net/events/fast-track-to-domain-driven-design/</link>
		<comments>http://aslamkhan.net/events/fast-track-to-domain-driven-design/#comments</comments>
		<pubDate>Wed, 12 Aug 2009 18:56:40 +0000</pubDate>
		<dc:creator>Aslam</dc:creator>
				<category><![CDATA[Conferences]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[architecture]]></category>
		<category><![CDATA[DDD]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Patterns]]></category>
		<category><![CDATA[TDD]]></category>
		<category><![CDATA[Ubiquitous Language]]></category>

		<guid isPermaLink="false">http://aslamkhan.net/?p=217</guid>
		<description><![CDATA[I finally got out of neutral and pulled together the first public offering our Domain Driven Design courses in Cape Town, South Africa.  Normally we give these courses on-site with people on the same development team but I thought it may be fun and inspiring to open it up to everyone for a change.  Now I&#8217;m [...]]]></description>
			<content:encoded><![CDATA[<p>I finally got out of neutral and pulled together the first public offering our <a href="http://www.factor10.com/courses/DDDfasttrack/capetown/about_this_course.html">Domain Driven Design courses</a> in Cape Town, South Africa.  Normally we give these courses on-site with people on the same development team but I thought it may be fun and inspiring to open it up to everyone for a change.  Now I&#8217;m all excited again and really looking forward to a diverse mixture of people. Hopefully, I will see some old faces and lots of new people.</p>
<p>The one thing I can tell you is that the course is a very immersive experience.  I really hate lecturing but I enjoy probing conversations and that&#8217;s how I give the course. I don&#8217;t have answers to the practical work and concerns are addressed as we go along.  As a result, the day takes unexpected turns and routes.  But in the end I get you to the right destination.  Come along; you will leave exhausted, but inspired!</p>
<h2><strong>Take the Fast Track to Domain Driven Design</strong></h2>
<p><a href="http://www.factor10.com/courses/DDDfasttrack/capetown/about_this_course.html">about the course</a> /  <a href="http://www.factor10.com/courses/DDDfasttrack/capetown/course_contents.html">course contents</a> / <a href="http://www.factor10.com/courses/DDDfasttrack/capetown/should_you_attend.html">should you attend?</a> / <a href="http://www.factor10.com/courses/DDDfasttrack/capetown/register.html">register for the course</a></p>
<p><a href="http://www.factor10.com">factor10</a> has expanded its services in South Africa to include our advanced and<br />
expert level courses aimed for the software professional.  On September 8-9, 2009,<br />
we will be offering a fast track to DDD for Architects at the BMW Pavilion in<br />
Cape Town.</p>
<p><img class="alignleft size-full wp-image-218" title="zz485d34cf" src="http://aslamkhan.net/wp-content/uploads/2009/08/zz485d34cf.jpg" alt="zz485d34cf" width="450" height="96" /></p>
<h2></h2>
<h2></h2>
<h2>Who should attend?</h2>
<p>This course is for software professionals that want to take the right steps towards<br />
advanced and expert levels in their careers.  <a href="http://www.factor10.com/courses/DDDfasttrack/capetown/register.html">Register</a> for this course if you want to &#8230;</p>
<ul>
<li>learn more than just another syntax and set of tools</li>
<li>write software for large, long living systems</li>
<li>increase the quality and maintainability of your design</li>
<li>design high quality models and use code to represent those models effectively</li>
<li>develop applications with a good APIs</li>
<li>add a design edge to your skill set</li>
</ul>
<p><img class="alignleft size-full wp-image-219" title="zz3caeb696" src="http://aslamkhan.net/wp-content/uploads/2009/08/zz3caeb696.jpg" alt="zz3caeb696" width="455" height="137" /></p>
<h2></h2>
<h2></h2>
<h2></h2>
<h2></h2>
<h2>Why should you learn DDD?</h2>
<p>More and more developers and architects realise that learning every detail of a new<br />
API just isn&#8217;t the way to deliver the best business value. It’s such a tough balancing<br />
act; focus on the solving the business problem and focus on building working software<br />
with your frameworks.</p>
<p>One way of taking a big leap in the right direction is to learn and apply domain driven<br />
design. It is definitely not abstract and fluffy; it deals a lot with the code also. DDD<br />
leads us to focus on understanding and to communicate that understanding very well;<br />
in language, in design and in code. You will shift your focus away from designing for a<br />
technology, and you will learn to design for the business domain; to the core of the<br />
problems and solutions. Those are the most interesting parts and what your users<br />
and customers really care about.</p>
<p><a href="http://www.factor10.com/courses/DDDfasttrack/capetown/about_this_course.html">about the course</a> /  <a href="http://www.factor10.com/courses/DDDfasttrack/capetown/course_contents.html">course contents</a> / <a href="http://www.factor10.com/courses/DDDfasttrack/capetown/should_you_attend.html">should you attend?</a> / <a href="http://www.factor10.com/courses/DDDfasttrack/capetown/register.html">register for the course</a></p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Faslamkhan.net%2Fevents%2Ffast-track-to-domain-driven-design%2F&amp;title=Fast%20Track%20to%20Domain%20Driven%20Design" id="wpa2a_8"><img src="http://aslamkhan.net/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://aslamkhan.net/events/fast-track-to-domain-driven-design/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Learning Rules for Noobs</title>
		<link>http://aslamkhan.net/software-development/learning-rules-for-noobs/</link>
		<comments>http://aslamkhan.net/software-development/learning-rules-for-noobs/#comments</comments>
		<pubDate>Thu, 07 May 2009 14:42:41 +0000</pubDate>
		<dc:creator>Aslam</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[DDD]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[learning]]></category>

		<guid isPermaLink="false">http://aslamkhan.net/?p=172</guid>
		<description><![CDATA[The unfortunate human characteristic in all of us is that we like rules when we&#8217;re in a new and unfamiliar situation, and hate them the moment we think we are experts.  The problem is that rules are great for creating concrete things.  If you want to build this then: do a, then b, if you have [...]]]></description>
			<content:encoded><![CDATA[<p>The unfortunate human characteristic in all of us is that we like rules when we&#8217;re in a new and unfamiliar situation, and hate them the moment we think we are experts.  The problem is that rules are great for creating concrete things.  If you want to build this then: do a, then b, if you have a c then do d otherwise do e.  But it does not work with creating abstract things.  And software development is all about building abstractions.</p>
<p>In the past few weeks, I&#8217;ve had a few instances where I realized that some people were,  basically, asking me for DDD rules &#8211; steps for building an aggregate, when and how to use the specification pattern, etc.  There are no rules for the noobs for these things.  But I think I can constrain the environment so that the noobs can focus a bit more intimately with these aggregates and specifications.    One rule I put down was &#8220;When working with the following &#8230; don&#8217;t work outside of this Java package&#8221;</p>
<p>Essentially, my proposition is that rules for noobs should constrain the learning environment, not the subject being studied.</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Faslamkhan.net%2Fsoftware-development%2Flearning-rules-for-noobs%2F&amp;title=Learning%20Rules%20for%20Noobs" id="wpa2a_10"><img src="http://aslamkhan.net/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://aslamkhan.net/software-development/learning-rules-for-noobs/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Øredev Presentations</title>
		<link>http://aslamkhan.net/events/oredev-presentations/</link>
		<comments>http://aslamkhan.net/events/oredev-presentations/#comments</comments>
		<pubDate>Tue, 25 Nov 2008 21:30:43 +0000</pubDate>
		<dc:creator>Aslam</dc:creator>
				<category><![CDATA[Conferences]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[architecture]]></category>
		<category><![CDATA[aspects]]></category>
		<category><![CDATA[BDD]]></category>
		<category><![CDATA[DDD]]></category>
		<category><![CDATA[factor10]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[oredev]]></category>
		<category><![CDATA[Patterns]]></category>
		<category><![CDATA[Spring]]></category>
		<category><![CDATA[TDD]]></category>

		<guid isPermaLink="false">http://aslamkhan.net/?p=62</guid>
		<description><![CDATA[My presentations from Oredev are finally available.  After working through almost all the export options on Keynote, I have settled on QuickTime as the distro format.  The &#8220;flying code&#8221; in the aspects presentation worked out best with QuickTime.  Note that it&#8217;s not a continuous playback and you have to click-through each frame. Solving Domain Problems [...]]]></description>
			<content:encoded><![CDATA[<p>My presentations from Oredev are finally available.  After working through almost all the export options on Keynote, I have settled on QuickTime as the distro format.  The &#8220;flying code&#8221; in the aspects presentation worked out best with QuickTime.  Note that it&#8217;s not a continuous playback and you have to click-through each frame.</p>
<ul>
<li><strong>Solving Domain Problems with Aspects </strong>has a couple of slides with repeated transitions (courtesy of the export <img src='http://aslamkhan.net/wp-includes/images/smilies/icon_sad.gif' alt=':-(' class='wp-smiley' />  ).  This one has the <em>flying code</em>, as <a title="Claudio Perrone's Blog" href="http://www.claudioperrone.com">Claudio Perrone</a> calls it!  And it is the presentation that lead to the chat with <a href="http://ayende.com">Ayende Rahien</a>.  He has done something similar in C# <a href="http://ayende.com/Blog/archive/2008/11/23/aspects-of-domain-design.aspx">here</a>. <span style="color: #808080;">- 29.1MB @ <span style="color: #999999;"><a href="http://aslamkhan.net/wp-content/uploads/2008/11/SolvingDomainProblemsWithAspects.mov">http://aslamkhan.net/wp-content/uploads/2008/11/SolvingDomainProblemsWithAspects.mov</a></span> </span></li>
</ul>
<ul>
<li><strong>Managing Diversity in Agile Teams</strong> was inspired by Claudio&#8217;s presentation style.  Highly visual with minimal text.  It&#8217;s about story telling, movie script style and not about bullet point presentations.  Thanks, Claudio! <span style="color: #808080;">- 16.6MB @ </span><span style="color: #808080;"><span style="color: #999999;"><a href="http://aslamkhan.net/wp-content/uploads/2008/11/ManagingDiversityInAgileTeams.mov">http://aslamkhan.net/wp-content/uploads/2008/11/ManagingDiversityInAgileTeams.mov</a></span></span><a href="http://aslamkhan.net/wp-content/uploads/2008/11/ManagingDiversityInAgileTeams.mov"></a></li>
</ul>
<ul>
<li><strong>Bootstrapping your SOA Project</strong> has the slides for the workshop that I ran.  It&#8217;s a mixture of traditional and visual.  The traditional is used purely for reference / take-home material. <span style="color: #808080;">- 13.5MB @ </span><span style="color: #808080;"><span style="color: #999999;"><a href="http://aslamkhan.net/wp-content/uploads/2008/11/BootstrappingYourSOAProject.mov">http://aslamkhan.net/wp-content/uploads/2008/11/BootstrappingYourSOAProject.mov</a></span></span></li>
</ul>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Faslamkhan.net%2Fevents%2Foredev-presentations%2F&amp;title=%C3%98redev%20Presentations" id="wpa2a_12"><img src="http://aslamkhan.net/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://aslamkhan.net/events/oredev-presentations/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
<enclosure url="http://aslamkhan.net/wp-content/uploads/2008/11/SolvingDomainProblemsWithAspects.mov" length="30585840" type="video/quicktime" />
<enclosure url="http://aslamkhan.net/wp-content/uploads/2008/11/ManagingDiversityInAgileTeams.mov" length="17409202" type="video/quicktime" />
<enclosure url="http://aslamkhan.net/wp-content/uploads/2008/11/BootstrappingYourSOAProject.mov" length="14184983" type="video/quicktime" />
		</item>
		<item>
		<title>Øredev 2008</title>
		<link>http://aslamkhan.net/events/%c3%b8redev-2008/</link>
		<comments>http://aslamkhan.net/events/%c3%b8redev-2008/#comments</comments>
		<pubDate>Fri, 08 Aug 2008 11:50:51 +0000</pubDate>
		<dc:creator>Aslam</dc:creator>
				<category><![CDATA[Conferences]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[AOP]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[modularity]]></category>
		<category><![CDATA[SOA]]></category>

		<guid isPermaLink="false">http://aslamkhan.net/?p=44</guid>
		<description><![CDATA[I&#8217;ve mentioned it in bits and pieces before but now that the nice folk at Oredev have more or less finalised their program, I can put the down the talks I will be giving in November 2008. Architecture Track: Designing for Modularity &#8211; one of my pet frustration and, at the same time, fun challenges. [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve mentioned it in bits and pieces before but now that the nice folk at <span class="normal"><strong></strong></span><a href="http://www.oredev.org">Oredev</a> have more or less finalised their program, I can put the down the talks I will be giving in November 2008.</p>
<ul>
<li>Architecture Track: <a href="http://www.oredev.org/topmenu/program/trackarchitecture/aslamkhan.4.3efb083311ac562f9fe80009019.html">Designing for Modularity</a> &#8211; one of my pet frustration and, at the same time, fun challenges.</li>
<li>Agile Track: <a href="http://www.oredev.org/topmenu/program/trackaspectsofleadership/aslamkhan.4.3efb083311ac562f9fe800014992.html">Managing Diversity in Agile Teams</a> &#8211; based on two years of experiences at a rather tough client.</li>
<li>Java Track: <a href="http://www.oredev.org/topmenu/program/trackjava/aslamkhan.4.3efb083311ac562f9fe80009044.html">Solving Domain Problems with Aspects</a> &#8211; another big challenge for me since aspects are normally used to solve application infrastructure problems.</li>
<li>Workshop: <a href="http://www.oredev.org/topmenu/program/workshops/aslamkhan.4.3efb083311ac562f9fe800014227.html">Bootstrapping your SOA Project</a> &#8211; this is a modified version of the workshop I did for IQPC earlier this year.</li>
</ul>
<p>I certainly did not expect to be doing 4 sessions!  It&#8217;s going to be a busy conference but also immense fun.  I hope that I get the time to attend the other talks and learn from some amazing people.  I certainly will be catching up with old friends as well</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Faslamkhan.net%2Fevents%2F%25c3%25b8redev-2008%2F&amp;title=%C3%98redev%202008" id="wpa2a_14"><img src="http://aslamkhan.net/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://aslamkhan.net/events/%c3%b8redev-2008/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OSGi Article Part 2 on DZone</title>
		<link>http://aslamkhan.net/articles/osgi-article-part-2-on-dzone/</link>
		<comments>http://aslamkhan.net/articles/osgi-article-part-2-on-dzone/#comments</comments>
		<pubDate>Mon, 07 Apr 2008 14:51:30 +0000</pubDate>
		<dc:creator>Aslam</dc:creator>
				<category><![CDATA[Published Elsewhere]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[modularity]]></category>
		<category><![CDATA[OSGi]]></category>

		<guid isPermaLink="false">http://aslamkhan.net/articles/osgi-article-part-2-on-dzone/</guid>
		<description><![CDATA[The second part of my OSGi article is up on DZone. Here&#8217;s the URL&#8217;s for both parts. http://java.dzone.com/news/there-place-osgitm-enterprise- http://java.dzone.com/news/there-place-osgi-enterprise-ap-0 Enjoy!]]></description>
			<content:encoded><![CDATA[<p>The second part of my OSGi article is up on DZone.  Here&#8217;s the URL&#8217;s for both parts.</p>
<ol>
<li>   <a href="http://java.dzone.com/news/there-place-osgitm-enterprise-">http://java.dzone.com/news/there-place-osgitm-enterprise-</a></li>
<li>   <a href="http://java.dzone.com/news/there-place-osgi-enterprise-ap-0">http://java.dzone.com/news/there-place-osgi-enterprise-ap-0</a></li>
</ol>
<p>Enjoy!</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Faslamkhan.net%2Farticles%2Fosgi-article-part-2-on-dzone%2F&amp;title=OSGi%20Article%20Part%202%20on%20DZone" id="wpa2a_16"><img src="http://aslamkhan.net/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://aslamkhan.net/articles/osgi-article-part-2-on-dzone/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OSGi Article on DZone</title>
		<link>http://aslamkhan.net/articles/osgi-article-on-dzone/</link>
		<comments>http://aslamkhan.net/articles/osgi-article-on-dzone/#comments</comments>
		<pubDate>Mon, 31 Mar 2008 18:54:57 +0000</pubDate>
		<dc:creator>Aslam</dc:creator>
				<category><![CDATA[Published Elsewhere]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[modularity]]></category>
		<category><![CDATA[OSGi]]></category>

		<guid isPermaLink="false">http://aslamkhan.net/articles/osgi-article-on-dzone/</guid>
		<description><![CDATA[An article I wrote which questions the readiness of OSGi for enterprise development has been published in two parts on the EclipseZone at DZone.  Read the first part at http://eclipse.dzone.com/news/there-place-osgitm-enterprise-. Watch out for the hyphen at the end of the URL, it&#8217;s significant Many thanks to the kind folks at DZone for the publication.]]></description>
			<content:encoded><![CDATA[<p>
An article I wrote which questions the readiness of OSGi for enterprise development has been published in two parts on the <a href="http://eclipse.dzone.com">EclipseZone</a> at <a href="http://www.dzone.com">DZone</a>.  Read the first part at <a href="http://eclipse.dzone.com/news/there-place-osgitm-enterprise-">http://eclipse.dzone.com/news/there-place-osgitm-enterprise-</a>.  Watch out for the hyphen at the end of the URL, it&#8217;s significant <img src='http://aslamkhan.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Many thanks to the kind folks at <a href="http://www.dzone.com">DZone</a> for the publication.</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Faslamkhan.net%2Farticles%2Fosgi-article-on-dzone%2F&amp;title=OSGi%20Article%20on%20DZone" id="wpa2a_18"><img src="http://aslamkhan.net/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://aslamkhan.net/articles/osgi-article-on-dzone/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Looking after your domain model</title>
		<link>http://aslamkhan.net/software-development/looking-after-your-domain-model/</link>
		<comments>http://aslamkhan.net/software-development/looking-after-your-domain-model/#comments</comments>
		<pubDate>Thu, 03 Jan 2008 20:02:01 +0000</pubDate>
		<dc:creator>Aslam</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[AOP]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Patterns]]></category>
		<category><![CDATA[Spring]]></category>

		<guid isPermaLink="false">http://aslamkhan.net/software-development/looking-after-your-domain-model/</guid>
		<description><![CDATA[Mats Helander has written an excellent article on how to manage your domain model with some intelligent design trade-offs.  It&#8217;s a lengthy article that even manages to introduce AOP as well.  If you start reading it and wonder where it&#8217;s going, just carry on reading&#8230;it is written in an evolutionary style.  Nice article, Mats! UPDATE: I have written the Java [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.matshelander.com/wordpress/">Mats Helander</a> has written an excellent <a href="http://www.infoq.com/articles/aspects-of-domain-model-mgmt">article</a> on how to manage your domain model with some intelligent design trade-offs.  It&#8217;s a lengthy article that even manages to introduce AOP as well.  If you start reading it and wonder where it&#8217;s going, just carry on reading&#8230;it is written in an evolutionary style.  Nice article, Mats! <span style="font-weight: bold" class="Apple-style-span">UPDATE: </span>I have written the Java equivalent of the listing in Mats&#8217; article and <a href="http://aslamkhan.net/wp-content/uploads/2008/01/mats-dmm.zip" title="mats-dmm.zip">attached</a> it.  The AOP part uses <a href="http://www.springframework.org">SpringFramework</a> 2.5 and AspectJ.  </p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Faslamkhan.net%2Fsoftware-development%2Flooking-after-your-domain-model%2F&amp;title=Looking%20after%20your%20domain%20model" id="wpa2a_20"><img src="http://aslamkhan.net/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://aslamkhan.net/software-development/looking-after-your-domain-model/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

