<?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>AlienSource</title>
	<atom:link href="http://aliensource.org/feed/" rel="self" type="application/rss+xml" />
	<link>http://aliensource.org</link>
	<description>Java, Open Source &#38; Resource Planning</description>
	<lastBuildDate>Wed, 06 Oct 2010 14:50:12 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>General Logistic Concepts</title>
		<link>http://aliensource.org/2010/10/03/logistic-concepts/</link>
		<comments>http://aliensource.org/2010/10/03/logistic-concepts/#comments</comments>
		<pubDate>Sun, 03 Oct 2010 19:13:46 +0000</pubDate>
		<dc:creator>Michael Glandorf</dc:creator>
				<category><![CDATA[Transport and Logistics]]></category>

		<guid isPermaLink="false">http://aliensource.org/?p=530</guid>
		<description><![CDATA[Click on the title to read the post.]]></description>
			<content:encoded><![CDATA[<h2>Logistic Structures in Real Life</h2>
<p>The main components of Logistics structure focuses on the following elements:</p>
<ul>
<li>Network,</li>
<li>Communication,</li>
<li>Planning and</li>
<li>Integration.</li>
</ul>
<p>This concerns both functional and financial but also technical aspects.&nbsp;Such high complex and dynamic evolving systems can only be represented and supported in structured and well defined technical environments. These systems are prerequisites to guarantee a flexible and extendable Logistics structures consisting of different parties, locations, rules and processes.</p>
<h2>Technical Requirements of a Logistic Solution</h2>
<p>A logical framework with an appropriate technical foundation has the ability to support the various requirements of Logistics processes efficiently. Such framework contains:</p>
<ul>
<li>Flexible UIs.</li>
<li>A&nbsp;Service-Oriented Architecture with flexible, standardized components.</li>
<li>A communication layer or module.</li>
<li>An integration layer or module (technical and professional) where available standards can be implemented.</li>
<li>A standardized and public interfaces of external sources.</li>
</ul>
<h2>Business Requirements of a Logistic Solution</h2>
<p>To implement logistic processes not only technical requirements need to be fulfilled. Business experiences from logistics needs and projects are the quintessence for a successful logistic concept. It requires a balance and combination of individual functional requirements and standardized, technical implementation.</p>
<p>An example for this are our in-depth know how and experiences especially in the Railway area. From our experiences in many international projects we can use our expertise especially in two strategic areas. The areas are resource planning and communication in the process of logistic productions. Both areas have a significant influence of the efficiency of train operating companies.</p>
]]></content:encoded>
			<wfw:commentRss>http://aliensource.org/2010/10/03/logistic-concepts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Projects &#8211; how to arrive safely?</title>
		<link>http://aliensource.org/2010/09/24/projects-how-to-arrive-safely/</link>
		<comments>http://aliensource.org/2010/09/24/projects-how-to-arrive-safely/#comments</comments>
		<pubDate>Fri, 24 Sep 2010 19:57:27 +0000</pubDate>
		<dc:creator>Michael Glandorf</dc:creator>
				<category><![CDATA[Transport and Logistics]]></category>
		<category><![CDATA[Project Management]]></category>

		<guid isPermaLink="false">http://aliensource.org/?p=535</guid>
		<description><![CDATA[Click on the title to read the post.]]></description>
			<content:encoded><![CDATA[<p>&nbsp;</p>
<h2>Introduction</h2>
<p>Many projects are initiated too fast, only focusing at some parts of its feasibility, and fail. An assumed (or real) pressure, generated due to time and budget reasons, forces to a fast and unprepared project kick off. This is the start of failure.</p>
<p>Our projects are not only technically prepared and executed but also with necessary methodologies and business know how.</p>
<p>This guarantees a successful, efficient and professional project realization.</p>
<h2>Analysis and Specification</h2>
<p>Basis of a project kick off is a clear overall understanding about project methodologies, its set up and execution where the customer is tightly involved. This makes the project transparent and controllable through every step.</p>
<p>The project methodology consists mainly of the following steps:</p>
<ul>
<li><strong>A feasibility study</strong>: Based on the main processes, use cases and the overall technical architecture.<br />
		<strong>Result</strong>: an initial project plan as basis for required resources and project deliverables. Only when the customer has approved the project plan the next step can be tackled.</li>
<li><strong>A specification phase</strong>: Based on the Use Cases the functional, non-functional and technical specifications are detailed. The test scenarios and test cases are defined in parallel.<br />
		<strong>Result</strong>: the test documents will be the basis for the final acceptance test of the solution. This phase requires a tight and active involvement of the customer.</li>
</ul>
<p>Has the customer approve this phase the development of the solution can be triggered.</p>
<h2>Development and Approval of the Solution</h2>
<p>This phase starts with a pilot. Here it the customer gets a hands-on of the user interfaces (as detailed as possible) and allows simultaneously to do first (&ldquo;desktop&rdquo;) tests of the key functionalities. After the validation of the pilot by the customer the project plan will be fixed and the development starts.</p>
]]></content:encoded>
			<wfw:commentRss>http://aliensource.org/2010/09/24/projects-how-to-arrive-safely/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Michael Glandorf joins AlienSource Management</title>
		<link>http://aliensource.org/2010/09/13/michael-glandorf-joins-aliensource-management/</link>
		<comments>http://aliensource.org/2010/09/13/michael-glandorf-joins-aliensource-management/#comments</comments>
		<pubDate>Mon, 13 Sep 2010 18:11:30 +0000</pubDate>
		<dc:creator>Tai Truong</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Transport und Logistik]]></category>

		<guid isPermaLink="false">http://aliensource.org/?p=498</guid>
		<description><![CDATA[Click on the title to read the post.]]></description>
			<content:encoded><![CDATA[<p>Michael Glandorf joins AlienSource Ltd. lia. Co as a new member of the management team affective October1st, 2010. AlienSource does development and consultancy in software solutions based on Java and Open Source. His experiences as a project and program manager will be a&nbsp;huge contribution to us, our partners and customers.</p>
<p>He brings more than 30 years of&nbsp;business experiences especially in the areas of Railway, Logistics and Merchandise Information Systems. He started his business in the retail industry as consultant and project manager developing Merchandise Information Systems and appropriate Logistics applications especially in the warehousing and transportation area. As a senior management consultant and program manager at CSC Germany and within spin offs of CSC he was mainly focused on logistic projects. Within this business area he built up relationships to near shore partners responsible for the technical part of the projects. Organizational structures and procedures has been created and installed to handle large-scale projects successfully. These projects have been successfully performed for international customers in the postal and railway area.</p>
<p>AlienSource and its team has more than 20 years experience and best contacts in the software, Railway and Logistics industries. The team has successfully executed projects implementing large-scale software solutions and products in several countries like Switzerland, Germany, Belgium and Sweden.</p>
]]></content:encoded>
			<wfw:commentRss>http://aliensource.org/2010/09/13/michael-glandorf-joins-aliensource-management/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Optimization &amp; Logistics: Theory in Practice</title>
		<link>http://aliensource.org/2010/05/08/optimization-logistics-theory-in-practice/</link>
		<comments>http://aliensource.org/2010/05/08/optimization-logistics-theory-in-practice/#comments</comments>
		<pubDate>Sat, 08 May 2010 06:23:17 +0000</pubDate>
		<dc:creator>Kris Dockx</dc:creator>
				<category><![CDATA[Planning and Optimization]]></category>
		<category><![CDATA[Logistics]]></category>
		<category><![CDATA[Optimization]]></category>
		<category><![CDATA[Process Modelling]]></category>
		<category><![CDATA[Resource Planning]]></category>
		<category><![CDATA[Transport]]></category>

		<guid isPermaLink="false">http://aliensource.org/?p=481</guid>
		<description><![CDATA[Click on the title to read the post.]]></description>
			<content:encoded><![CDATA[<h2>Introduction</h2>
<p>Within a logistics area, optimality is an obvious concern. But optimality in this context is often con-fused with pure mathematical optimality.</p>
<p>The real challenge of solving real-life industrial logistics problems is balancing the following criteria:</p>
<ul>
<li>Response-time,</li>
<li>Robustness,</li>
<li>User-friendliness,</li>
<li>Maintainability and of course</li>
<li>Mathematical optimality.</li>
</ul>
<p>This is in fact a meta-optimization problem imposed to us by commercial/customer requirements.</p>
<p>Optimization taking hours to run are usually not acceptable, because in a dynamic logistics setting both reactive capabilities as well as a predictive capabilities are important. Small variations in the in-put data should not cause big variations in the outcome of the algorithm (aka no bull whip effect). Al-so the produced results should be clear and explainable at end-user level of understanding. The need for reconfiguration of the optimization algorithm every time something changes in the problem de-scription should be kept as minimal as possible. Since many of the mathematical optimization prob-lems within logistics are known to be NP-hard (not solved to proven optimality in polynomial com-plexity), optimality of the solution usually cannot be guaranteed.</p>
<p>We tackle the above described challenge by the hybrid use of different optimization techniques com-ing from different schools of thought ranging from:</p>
<ul>
<li>Mathematical programming techniques to</li>
<li>Greedy heuristic solving techniques to</li>
<li>Constraint logic programming techniques and to</li>
<li>Neighborhood search techniques.</li>
</ul>
<p>Packaged in a solver, such algorithms is ideal for an intelligent and interactive support for planning tools. For this we have defined the term &ldquo;Planning Assistance Support System (PASS)&rdquo;.</p>
<h2>Designing Solvers for a Planning Assistance Support System (PASS)</h2>
<h3>A Meta Optimization Problem</h3>
<p><img alt="Meta_Optimization_Problem" class="aligncenter size-full wp-image-486" height="362" src="http://aliensource.org/wp-content/uploads/2010/05/Meta_Optimization_Problem.png" title="Meta_Optimization_Problem" width="614" /></p>
<p>Balancing potentially conflicting objectives is the nature of any optimization problem. Hence one could say that the design of a good logistics solver is in fact an optimization problem on its own, alt-hough it plays at a meta level. The following concerns need to be balanced against each other when designing a solver for a logistics environment.</p>
<h4>Response Time Concerns</h4>
<p>In a logistics area we are typically facing a big variety in problem sizes. An optimization problem could range from a 100 activities to 100 000 activities (or even more), depending on the level of decision making (yearly, monthly, weekly or daily decision making) the optimization is focusing on. At the same time fast response times are required because of a high degree of interactivity between end-user and planning tool. Also response time requirements can vary from seconds until minutes until hours, depending on the level of decision making the opti-mization is focusing on. Daily decision making obviously has much more a reactive nature than a pre-dictive nature while yearly decision making has more a predictive than reactive nature.</p>
<h4>Robustness Concerns</h4>
<p>A logistics environment is by its very nature a dynamic environment. In contrast to a production en-vironment its activities do not take place in a closed world like a factory, but it takes place in the world outside. On the one hand a solver must be quick to respond to such dynamic changes (see re-sponse time concerns above), on the other hand one does not want the solver to produce very dif-ferent results when only a relatively small part of the input data has changed. In a pure mathematical optimization context this is exactly what would happen. This effect is commonly known as the bull whip effect (aka butterfly effect). Since pure mathematical solvers are solely focused on reaching an optimum they have no concern for previous results. Making sure that the solver &ldquo;remembers&rdquo; previ-ously generated solutions and tries to stick to them as closely as possible are very important con-cerns.</p>
<h4>User-Friendliness Concerns</h4>
<p>Because of a high degree of interactivity between end-user and planning tool it is also important that the solver produces clear results which are explainable and justifiable at end-user level of understand-ing of the logistics problem.</p>
<p>Even stronger we would like to give the (advanced) end-user also control over the nature and out-come of the produced results. This can be realized by letting the (advanced) end-user determine the balance between different cost objectives via a mechanism of relative weight control. These relative weight settings could be saved under different simulation scenarios. The (advanced) end-user could then produce different solver results: one per each scenario. Comparing those different solver results and choosing the most adequate one for the given situation we see as an important form of interac-tion between solver and end-user.</p>
<h4>Maintenance Concerns</h4>
<p>A logistics environment is also dynamic at an organizational level. Its organization is constantly in flux undergoing streamlining as well as expansion changes.</p>
<p>A solver with a black box (pure mathematical) model would have to be revisited each time a substan-tial reorganization takes place. The black box model does not have the ability to automatically adapt itself to such fundamental changes which would require a remodeling of the solver by the original de-signer. We try to aim for better forms of maintainability where in most cases the solver automatically adapts itself to the change or where the end-user is capable on his own to perform the necessary maintenance tasks without having to deeply dive into the engine of the solver, but by allowing him to maintain master data in a layer above the solver engine. This of course puts some strong require-ments towards the design of the solver.</p>
<h4>Optimality Concerns</h4>
<p>Last but not least (mathematical) optimality remains a valuable concern in a logistics environment. But one has to realize that most of its real-live optimization problems translate into so-called Non Poly-nomial mathematical optimization problems (NP in short), which means that there are no known al-gorithms that can reach a proven optimum in polynomial time complexity. In layman&rsquo;s terms: the search space basically explodes from the vast amount of combinatorial possibilities such that an exact approach would take almost infinite time to reach a conclusion. Therefore it is very important to set yourself realistic goals of near optimality instead of proven optimality when designing a solver for a logistics environment.</p>
<h3>Hybrid Algorithms</h3>
<p>In order to be able to balance the different meta-objectives (described above), one is forced to make hybrid use of different kinds of optimization techniques. Each of the techniques in their pure form prescribes a too strict paradigm. Only through hybridization can one create enough flexibility for such a balancing act.</p>
<p>The following overview of techniques and concepts are the candidates we are considering for hybrid design of solvers:</p>
<ul>
<li>Mathematical programming techniques: This is the oldest and most mature category. For solv-ing optimization problems.</li>
<li>Heuristic techniques: Both domain specific rules of thumb as well as generic heuristics belong to this category.</li>
<li>Constraint logic programming techniques.<span style="white-space: pre;">&acute;</span></li>
<li>Neighborhood/local search techniques: These techniques are also called meta-heuristics. They have in common that they are metaphors of natural phenomenon of optimization.</li>
<li>Multi-agent techniques: These are techniques of distributing a problem amongst multiple col-laborating agents. Such that each agent on its own has a simpler problem to solve than the global problem. Through the collaboration of the agents this is not just a simple problem sub-division but the overall global problem remains in sight.</li>
</ul>
<h4>Mathematical Programming Techniques</h4>
<p>Mathematical programming looks at the problem as solving a set of equations (and inequalities) com-bined with an objective function to minimize or maximize. It is deterministic by nature and complete. Some examples of mathematical techniques are:</p>
<ul>
<li>Linear Programming</li>
<li>Mixed Integer Linear Programming</li>
<li>Lagrangian Relaxation</li>
<li>Column Generation</li>
</ul>
<h4>Heuristic Techniques</h4>
<p>Heuristic techniques get their inspiration from Operations Research, Artificial Intelligence, Common sense problem solving using domain specific rules of thumb. Heuristics try to address real-life indus-trial size problems by using deterministic and prescriptive techniques. They usually do not perform a complete search but try to cut corners by choosing parts of the search space which have a high like-lihood of containing good solutions. Some examples of techniques:</p>
<ul>
<li>The Greedy Traveling Salesman heuristics</li>
<li>Expert Systems</li>
<li>Sorting and Grouping</li>
<li>A priori bottleneck identification</li>
</ul>
<h4>Constraint Logic Programming Techniques</h4>
<p>Constraint logic programming techniques get their inspiration from logic programming, later devel-opments in AI, Graph theory. Constraints in this context are a descriptive generalization of an equa-tion (mathematical) and a rule (heuristic). The algorithms used are constructive (variable sequence and value sequence) using a priori consistency checking techniques (test and generate) and backtrack-ing (generate and test) techniques. Some examples of techniques:</p>
<ul>
<li>Variable and value ordering heuristics</li>
<li>Arc Consistency checking</li>
<li>Constraint Propagation</li>
<li>Cut-Set methods</li>
</ul>
<h4>Neighborhood / Local Search Techniques</h4>
<p>Neighborhood/local search techniques get their inspiration from the computational intelligence community, chaos theory, and natural phenomenon of self-organization. The algorithms feature a lo-cal repair metaphor with a strong random &ldquo;trial and error&rdquo; flavor. It is a non deterministic search with no specific constraint model support. In general no explicit memory of previously visited solutions is maintained. Some examples of techniques:</p>
<ul>
<li>Simulated annealing</li>
<li>Tabu search</li>
<li>Genetic algorithms</li>
<li>Swarm</li>
<li>Ant colony</li>
</ul>
<h4>Multi-Agent Techniques</h4>
<p>Multi-agent techniques get their inspiration from the worldwide internet community. The key con-cept behind multi-agent techniques are to let distributed autonomous processes (agents) solve the problem through collaboration and/or competition and/or communication in a distributed model. It follows a distributed model with limited formal model support. It is a non deterministic search with no specific constraint model support. Some examples of techniques:</p>
<ul>
<li>Hierarchical: delegation, conflict resolution, etc.</li>
<li>Tight collaboration: e.g. the 3-agent constraint satisfaction algorithm</li>
<li>Self-organizing: broadcast, bid, optimal brokering</li>
<li>Colony Optimization: Ant Colony, swarms or flocks</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://aliensource.org/2010/05/08/optimization-logistics-theory-in-practice/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Kris Dockx joins AlienSource Board</title>
		<link>http://aliensource.org/2010/03/26/kris-dockx-joins-aliensource-board/</link>
		<comments>http://aliensource.org/2010/03/26/kris-dockx-joins-aliensource-board/#comments</comments>
		<pubDate>Fri, 26 Mar 2010 03:45:51 +0000</pubDate>
		<dc:creator>Tai Truong</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://aliensource.org/?p=476</guid>
		<description><![CDATA[Click on the title to read the post.]]></description>
			<content:encoded><![CDATA[<p>Kris Dockx joins AlienSource Ltd. lia. Co as a new board member affective since March 26, 2010. AlienSource does development and consultancy in software solutions based on Java and Open Source. He will strenghten AlienSource with his expertise on plan agent technology and optimization.</p>
<p>Kris Dockx holds a fellowship at the Katholieke Universiteit Leuven, Hogenheuvelcollege, Belgium. He&nbsp;brings 20 years of experience in supply chain optimization technology in various industries and is specialized in mathematical programming, constraint satisfaction, meta-heuristics and other local search optimization algorithms for planning, scheduling and campaigning applications.</p>
<p>He was the intellectual co-founder and key architect of the university spin off TFP Engineering, a Belgian supply chain software vendor for the process industry, which commercialized his PhD results. TFP Engineering was acquired by SAP in 1996.</p>
<p>At SKYVA International, a US-based supply chain software vendor for manufacturing, services and logistics, he was the key architect of the plan agent framework. SKYVA was acquired by ABB in 2001. Its agent framework used at a project for the customer BLS formed the basis for Qnamic. Qnamic is a swiss based software vendor in the area of intelligent resource management for railway applications. Kris Dockx is currently employed as product manager of optimization at OM Partners. OM Partners is a Belgium based software vendor for supply chain applications for mill products, semi-process, paper and corrugated board industry.</p>
<p>AlienSource and its team has more than 20 years experience and best contacts in the software, Railway and Logistics industries. The team has successfully executed projects implementing large-scale software solutions and products in several countries like Switzerland, Germany, Belgium and Sweden.</p>
]]></content:encoded>
			<wfw:commentRss>http://aliensource.org/2010/03/26/kris-dockx-joins-aliensource-board/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Teaser: “What does AlienSource stand for?”</title>
		<link>http://aliensource.org/2009/10/21/new-teaser/</link>
		<comments>http://aliensource.org/2009/10/21/new-teaser/#comments</comments>
		<pubDate>Wed, 21 Oct 2009 10:57:32 +0000</pubDate>
		<dc:creator>Tai Truong</dc:creator>
				<category><![CDATA[Transport und Logistik]]></category>

		<guid isPermaLink="false">http://aliensource.org/?p=365</guid>
		<description><![CDATA[Click on the title to read the post.]]></description>
			<content:encoded><![CDATA[<p>AlienSource stands for the sustainability and cooperation to our customers and partners:</p>
<ol>
<li><strong><span style="color: #800000;">Alien</span></strong>: How do you aim future-oriented solutions?<br />
		Our strategy is to <strong><span style="color: #800000;">explore and achieve concepts and solutions!</span></strong></li>
<li><strong><span style="color: #800000;">Source</span></strong>: How do you deliver the best solution and highest quality?<br />
		Our operations is to <strong><span style="color: #800000;">benefit from Open Source and proven solutions!</span></strong></li>
</ol>
<p><object classid="clsid:02bf25d5-8c17-4b23-bc80-d3488abddc6b" codebase="http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0" height="360" width="480"><param name="src" value="http://aliensource.org/wp-content/uploads/2009/10/AlienSource_clip1s_1Mbps_Stream.mp4" /><param name="autoplay" value="true" /><param name="controller" value="false" /><param name="loop" value="false" /><param name="bgcolor" value="#000000" /><embed autoplay="true" bgcolor="#000000" controller="false" height="360" loop="false" src="http://aliensource.org/wp-content/uploads/2009/10/AlienSource_clip1s_1Mbps_Stream.mp4" type="video/quicktime" width="480"></embed></object><br />
	<a href="http://aliensource.org/wp-content/uploads/2009/10/AlienSource_clip1_shortA2.mov">Watch in full size.</a><br />
	<a href="http://www.apple.com/quicktime/download/">Download Quicktime to view this video.</a></p>
<p>Since this is only a teaser there is more to come! We keep you informed.</p>
<p>Tai Truong<br />
	CEO</p>
]]></content:encoded>
			<wfw:commentRss>http://aliensource.org/2009/10/21/new-teaser/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://aliensource.org/wp-content/uploads/2009/10/AlienSource_clip1_shortA2.mov" length="7895045" type="video/quicktime" />
<enclosure url="http://aliensource.org/wp-content/uploads/2009/10/AlienSource_clip1s_1Mbps_Stream.mp4" length="3242655" type="video/mp4" />
		</item>
		<item>
		<title>New Site Design!</title>
		<link>http://aliensource.org/2009/10/14/the-saucer-has-landed/</link>
		<comments>http://aliensource.org/2009/10/14/the-saucer-has-landed/#comments</comments>
		<pubDate>Wed, 14 Oct 2009 13:00:34 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://aliensource.org/?p=332</guid>
		<description><![CDATA[The new AlienSource site has been launched. We hope you like the sleek new design of the AlienSource website.  Tell us what you think. You are not alone.]]></description>
			<content:encoded><![CDATA[<p>The new AlienSource site has been launched. We hope you like the sleek new design of the AlienSource website.  Tell us what you think.</p>
<p>You are not alone.</p>
<input id="gwProxy" type="hidden" />
<input id="jsProxy" onclick="jsCall();" type="hidden" />
<input id="gwProxy" type="hidden" />
<input id="jsProxy" onclick="jsCall();" type="hidden" />
<input id="gwProxy" type="hidden" />
<input id="jsProxy" onclick="jsCall();" type="hidden" />
<input id="gwProxy" type="hidden" />
<input id="jsProxy" onclick="jsCall();" type="hidden" />
]]></content:encoded>
			<wfw:commentRss>http://aliensource.org/2009/10/14/the-saucer-has-landed/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Enterprise Integration &#8211; Part I: Concepts of Messaging Solutions And Enterprise Integration Patterns</title>
		<link>http://aliensource.org/2009/04/20/enteprise_integration_part_one/</link>
		<comments>http://aliensource.org/2009/04/20/enteprise_integration_part_one/#comments</comments>
		<pubDate>Mon, 20 Apr 2009 13:36:21 +0000</pubDate>
		<dc:creator>Tai Truong</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Asynchronous]]></category>
		<category><![CDATA[Community]]></category>
		<category><![CDATA[EAI]]></category>
		<category><![CDATA[EIP]]></category>
		<category><![CDATA[Enterprise Integration]]></category>
		<category><![CDATA[Enterprise Integration Patterns]]></category>
		<category><![CDATA[ESB]]></category>
		<category><![CDATA[Integration]]></category>
		<category><![CDATA[JBI]]></category>
		<category><![CDATA[Loosely Coupling]]></category>
		<category><![CDATA[Messaging]]></category>
		<category><![CDATA[Spring Framework]]></category>

		<guid isPermaLink="false">http://taitruong.wordpress.com/?p=197</guid>
		<description><![CDATA[Click on the title to read the post.]]></description>
			<content:encoded><![CDATA[<p>In a loose series of Blogs I will write about the present state on messaging and enterprise integration. In this first part I will write about:</p>
<ol>
<li><a href="#Today">Today&#39;s IT infrastructure</a></li>
<li><a href="#MessagingBestPractice">Messaging as a best practice</a></li>
<li><a href="#MessagingKeyConcepts">Messaging key concepts</a></li>
<li><a href="#EnterpriseIntegrationPatterns">Using Enterprise Integration Patterns for Messaging</a></li>
<li><a href="#NextPostSpringIntegration">Next Blog: Spring Integration</a></li>
</ol>
<p>I try to give a deeper explanation based on my experience since 2000 of doing integration for several customers. I am happy for further input and discussions. Please feel free to comment this Blog or contact me.</p>
<p><a id="Today" name="Today"></a></p>
<h2><span class="mw-headline">Today&#39;s IT infrastructure</span></h2>
<p>Nowadays almost every enterprise is dealing with a heterogeneous system landscape. Its infrastructure is a conglomerate of applications:</p>
<ul>
<li>running on different platforms</li>
<li>spread on different locations</li>
<li>connected in a network</li>
</ul>
<p>Within this landscape there are multiple applications exchanging data with another back and forth.<br />
	This integration of several applications are facing with the same challenges [EIP]:</p>
<ul>
<li>Networks are unreliable and slow</li>
<li>Any application is different (by its programming language, operating platforms, and data format)</li>
<li>Any application is changing on the long run</li>
</ul>
<p><a id="MessagingBestPractice" name="MessagingBestPractice"></a></p>
<h2><span class="mw-headline">Messaging as a best practice</span></h2>
<p>In an enterprise there are many applications integrating data from another. Ideally each integration scenario are implemented on the same centralized platform.<br />
	Integration where data are send to or received from another application can be seen as a communication of two or more applications.<br />
	There are 4 different integration styles of how communication can be achieved[EIP]:</p>
<ol>
<li>File Transfer: an application exports data into a file which is then read by the target application(s).</li>
<li>Shared database: several applications are sharing the same database.</li>
<li>Remote Procedure Invocation: An application sends data directly to the target application(s).</li>
<li>Messaging: An application sends a message to a (queued) channel. Other applications listening to the channel can received the message. The communication is asynchronous since the message can be received at a later time.</li>
</ol>
<p>Hohpe and Woolf points out why messaging is superior compared to the other approaches:<br />
	&ldquo;The quick answer is that messaging is more immediate than File Transfer, better encapsulated than Shared Database, and more reliable than Remote Procedure Invocation.&rdquo;, <a href="http://www.amazon.com/Enterprise-Integration-Patterns-Designing-Addison-Wesley/dp/0321200683/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1240239769&amp;sr=1-1">&ldquo;Why Use Messaging?&rdquo; on page xxxiii</a></p>
<p>Messaging (indirect communication) is the direct opposite of a remote procedure invocation where a sender and a receiver are connected through a queue. The responsibility of this message-oriented middleware is taken by a messaging system: it is responsible for receiving incoming messages from source applications, processing the messages through several channels and sending them to the target applications. Among this there are other responsibilities a messaging system is taking care of: system management, error logging and security.</p>
<p><a id="MessagingKeyConcepts" name="MessagingKeyConcepts"></a></p>
<h2><span class="mw-headline">Messaging key concepts</span></h2>
<p>The messaging approach outlines two concepts where (1) applications are loosely coupled and (2) the messaging (communication) is asynchronously:</p>
<ol>
<li>Loosely coupling: <a href="http://en.wikipedia.org/wiki/Loose_coupling">&ldquo;Each [application] makes its requirements explicit and makes few assumptions about the other [application].&rdquo;</a></li>
<li>Asynchronous communication: <a href="http://en.wikipedia.org/wiki/Asynchronous_communication">&ldquo;Asynchronous communication is a mediated form of communication in which the sender and receiver are not concurrently engaged in communication.&rdquo;</a></li>
</ol>
<p>When talking about messaging I use the terms of Enterprise Integration Patterns as described below. At this point it is sufficient to know that messaging is an integration flow between several applications. Each integration flow is a process description using channels and endpoints. The first and latter endpoint are normally interfaces to an application.<br />
	Comparing the messaging approach with the other integration styles and in the context of a heterogeneous system landscape the advantages of loosely coupling and asynchronous communication are:<br />
	1. Loosely coupling</p>
<ul>
<li>There are legacy applications and their data format which cannot be directly influenced. In this case a messaging system can act as a mediator dealing with the given data and translates it into a common data format for further processing.</li>
<li>On the long run applications in a system landscape are changing. This has an impact only on the application endpoint within the integration flow that needs to be changed in the messaging system. The remaining components of the integration flow keeps unchanged.<br />
		A similar scenario is that an application might be replaced by or merged into another application. Here only the application endpoint needs to be changed or replaced.</li>
</ul>
<p>2. Asynchronous communication</p>
<ul>
<li>Unlike a direct communication a messaging system follows a fire-and-forget principle: a sender can send a message and continue working without waiting for the processing of the receiver. The messaging system takes the responsibility for a reliable transmission. Even if the sender needs a reply (receiving another data) the messaging system can use a callback. Also in this case the sender does not have to wait for a response.</li>
<li>In a system landscape applications might be for many reasons not available. A messaging system can queue messages and re-send them when an application is available.</li>
<li>Another advantage of queuing messages is in case of high frequent data requests (like real-time scenarios) where the sender is flooded with lots of small message requests. A messaging system can control such an integration flow an aggregate all the messages into a single one.</li>
<li>Since sender and receiver do not need to rely on each other their tasks on both sides are performed with a maximum. Just imagine both applications are running on servers with different CPUs. Each application can process on their best speed. There is no bottleneck to each other.</li>
</ul>
<p><a id="EnterpriseIntegrationPatterns" name="EnterpriseIntegrationPatterns"></a></p>
<h2><span class="mw-headline">Using Enterprise Integration Patterns for Messaging</span></h2>
<p>There are many possibilities to implement messaging for integration. When dealing with messaging there is no better way than using the Enterprise Integration Patterns (EIP). The book &ldquo;Enterprise Integration Patterns&rdquo; from Gregor Hohpe and Bobby Woolf is the de facto book about messaging solutions for enterprise integration.<br />
	EIP breaks down an integration scenario into into several parts. Each part is a pattern describing a specific solution. A pattern is a prescription of what needs to be done to solve a limited variety of problems. In that sense an integration scenario using the EIP pattern as a language is a combination of patterns guiding a message (of one or more applications) from the beginning to the end of the integration flow (to other applications).<br />
	A very good starting point is Hohpe&#39;s Site <a href="http://www.enterpriseintegrationpatterns.com">www.enterpriseintegrationpatterns.com</a>. For a detailed description I strongly recommend Hohpe&#39;s and Woolf&#39;s book.<br />
	EIP provides patterns for the following messaging concepts:</p>
<table border="0" cellpadding="1" cellspacing="1" width="500">
<tbody>
<tr>
<td><img alt="Message Endpoint" src="http://www.enterpriseintegrationpatterns.com/img/MessageEndpointIcon.gif" /><br />
				<a href="http://www.enterpriseintegrationpatterns.com/MessageEndpoint.html">(Message) Endpoints</a></td>
<td>This is the interface for communication between an application and the messaging system. In Spring Integration for example every component in the messaging system connected to the channel is an endpoint (like Router, Splitter, Translator, Aggregator etc.).</td>
</tr>
<tr>
<td><img src="http://www.enterpriseintegrationpatterns.com/img/ChannelIcon.gif" /><br />
				<a href="http://www.enterpriseintegrationpatterns.com/MessageChannel.html">Message Channels<br />
				</a></td>
<td>Data are transported within the messaging system through channels. There are various kinds of channels like: Point-to-Point-Channel, Publish-Subscribe-Channel, Datatype Channel, Deadletter Channel, Channel Adapter, Message Bus etc.</td>
</tr>
<tr>
<td><img alt="Message" src="http://www.enterpriseintegrationpatterns.com/img/MessageIcon.gif" /><br />
				<a href="http://www.enterpriseintegrationpatterns.com/Message.html">Messages</a></td>
<td>A message consists of two parts containing a header and a body. The body is the actual data an endpoint is sending to or receiving from a channel. A body message carries meta data like message id, origin and destination. Messages within the integration flow can be split, aggregated, routed, changed or trashed by endpoints.</td>
</tr>
<tr>
<td><img alt="Pipes and Filters" src="http://www.enterpriseintegrationpatterns.com/img/PipesAndFiltersIcon.gif" /><br />
				<a href="http://www.enterpriseintegrationpatterns.com/PipesAndFilters.html">Pipes and Filters</a></td>
<td>This architecture describes a chain of processing steps (Filters) that are connected by channels (Pipes).</td>
</tr>
<tr>
<td><img src="http://www.enterpriseintegrationpatterns.com/img/ContentBasedRouterIcon.gif" /><br />
				<a href="http://www.enterpriseintegrationpatterns.com/MessageRouter.html">Message Routers</a></td>
<td>This special endpoint navigates a message to a certain channel. A simple example is a routing based on the message itself. Depending on whether it is a CSV or XML message it routes it either to a CSV or XML channel.</td>
</tr>
<tr>
<td><img alt="Message Translator" src="http://www.enterpriseintegrationpatterns.com/img/MessageTranslatorIcon.gif" /><br />
				<a href="http://www.enterpriseintegrationpatterns.com/MessageTranslator.html">Message Translators</a></td>
<td>Within an integration flow a message can be converted or changed for further processing and delivering in an appropriate data format for a target application.</td>
</tr>
</tbody>
</table>
<p><a id="NextPostSpringIntegration" name="NextPostSpringIntegration"></a></p>
<h2><span class="mw-headline">Next Blog: Spring Integration</span></h2>
<p>In my next blog I will write my experiences I have made with <a href="http://www.springsource.org/spring-integration">Spring Integration</a> (SI). It made quite a lot of changes from the milestone releases until the current version 1.0.<br />
	I will try to outline:</p>
<ul>
<li>how consequently the Enterprise Integration Patterns is implemented by using a message bus with various kinds of channels and endpoints.</li>
<li>advantages of SI using the Spring Framework like AOP, Dependency Injection, Annotation- or XML-based configuration.</li>
</ul>
<p>By using and evaluating other integration frameworks I enjoyed the ease of use which I didn&#39;t know better since using Spring and Spring Integration. I can implement and use my existing integration components with no need of using or deriving from any Spring class. SI encapsulates all the message processing. POJOs can be used directly to send to any channels. No wrapping in a Message class is needed. But more about that will follow in my next Blog.</p>
<p>Tai<br />
	P.S.: Please share your opinion and feel free to leave a comment below (emails are not published) or contact me.</p>
]]></content:encoded>
			<wfw:commentRss>http://aliensource.org/2009/04/20/enteprise_integration_part_one/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Hello World!</title>
		<link>http://aliensource.org/2009/04/15/hello-world-en/</link>
		<comments>http://aliensource.org/2009/04/15/hello-world-en/#comments</comments>
		<pubDate>Wed, 15 Apr 2009 08:40:51 +0000</pubDate>
		<dc:creator>Tai Truong</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Clustering]]></category>
		<category><![CDATA[Community]]></category>
		<category><![CDATA[EAI]]></category>
		<category><![CDATA[EIP]]></category>
		<category><![CDATA[ESB]]></category>
		<category><![CDATA[High Availability]]></category>
		<category><![CDATA[Integration]]></category>
		<category><![CDATA[JBI]]></category>
		<category><![CDATA[JDO]]></category>
		<category><![CDATA[JEE]]></category>
		<category><![CDATA[JPA]]></category>
		<category><![CDATA[Logistic Processes]]></category>
		<category><![CDATA[Logistics]]></category>
		<category><![CDATA[Optimization]]></category>
		<category><![CDATA[ORM]]></category>
		<category><![CDATA[Process Modelling]]></category>
		<category><![CDATA[Railway]]></category>
		<category><![CDATA[Resource Planning]]></category>
		<category><![CDATA[Spring Framework]]></category>
		<category><![CDATA[Transport]]></category>

		<guid isPermaLink="false">http://taitruong.wordpress.com/2009/04/02/hello-world/</guid>
		<description><![CDATA[Click on the title to read the post.]]></description>
			<content:encoded><![CDATA[<p>There is an exciting time ahead. Everywhere I look I see changes around:</p>
<p>1. There is my professional life: employeed since 1995 I dare my first entrepreneurship as a consultant for software development and logistic processes.</p>
<p>2. The Java world: IBM will (most likely) takeover of Sun and Oracle in return will (most likely) takeover of Red Hat. There you might forget that JEE6 and Spring 3.0 is upon us. [Those were the days when Solarmetric came along without BEA and BEA without Oracle <img src='http://aliensource.org/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> ]</p>
<p>From a global and political point of view we are sailing in different waters as well. Last year Barack Obama made a swept into a historic victory. The message he sent has reached many people all over the world: <span style="text-decoration: underline;"><a href="http://www.youtube.com/watch?v=Q-9ry38AhbU">Yes we can!</a></span></p>
<p>And yes, we are also facing a financial and economical crisis. Yes, we are good in moaning and complaining about things that went wrong and could be done better.</p>
<p>Though I am optimistic about my future and those close to me.</p>
<p><span style="text-decoration: underline;"><a href="http://www.zillah.org/old/faust_synopsis2.htm">And here I am, for all my lore</a></span>: healthy, standing on my own feet, with basic equipment and ready to build something new with my bare hands.</p>
<p>With this blog I will share my opinions about:</p>
<p>1. Open Source and its Community<br />
	2. Java<br />
	3. Transport and Logistics</p>
<p>Java what? Isn&#39;t that some unknown big island? Yes, right. That&#39;s why I will ONLY focus on:</p>
<p>- JEE (and its upcoming major release 6)<br />
	- Spring (and its upcoming major release 3)<br />
	- Clustering and HA solutions<br />
	- Integration (with the usual suspects EIP, ESB, EAI and JBI)<br />
	- ORM (like JDO and JPA)</p>
<p>And what&#39;s so interesting about Transport and Logistics? Well this is the business I am doing since the last 9 years &#8211; with a soft spot for:</p>
<p>- Resource Planning<br />
	- Process Modelling (like trains on drivers and locomotives)<br />
	- Optimization and its goals in the strategic, tactical and operative planning process</p>
<p>So long Tai</p>
<p>
<input id="gwProxy" type="hidden" />
<input id="jsProxy" onclick="jsCall();" type="hidden" /></p>
]]></content:encoded>
			<wfw:commentRss>http://aliensource.org/2009/04/15/hello-world-en/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
	</channel>
</rss>

