<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
xmlns:rawvoice="http://www.rawvoice.com/rawvoiceRssModule/"
	>
<channel>
	<title>Comments on: Episode 87: Software Components</title>
	<atom:link href="http://www.se-radio.net/2008/02/episode-87-software-components/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.se-radio.net/2008/02/episode-87-software-components/</link>
	<description>The Podcast for Professional Software Developers</description>
	<lastBuildDate>Tue, 14 May 2013 01:48:59 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
	<item>
		<title>By: ChristianDietrich</title>
		<link>http://www.se-radio.net/2008/02/episode-87-software-components/#comment-61</link>
		<dc:creator>ChristianDietrich</dc:creator>
		<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">#comment-61</guid>
		<description><![CDATA[Hello SE-Radio,

first i want to say thank you for the great job you do on the Podcast. Software Components is a very interesting topic for me. What i have missed in your listing of technologies was OSGi. In my opinion it is a easy way to extend the Java Class and Jar Stuff with just a few additional means to get a good and useful java based component model. And as you look at e.g. the new Application servers, they are built on top of this component model. ]]></description>
		<content:encoded><![CDATA[<p>Hello SE-Radio,</p>
<p>first i want to say thank you for the great job you do on the Podcast. Software Components is a very interesting topic for me. What i have missed in your listing of technologies was OSGi. In my opinion it is a easy way to extend the Java Class and Jar Stuff with just a few additional means to get a good and useful java based component model. And as you look at e.g. the new Application servers, they are built on top of this component model. </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Markus</title>
		<link>http://www.se-radio.net/2008/02/episode-87-software-components/#comment-62</link>
		<dc:creator>Markus</dc:creator>
		<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">#comment-62</guid>
		<description><![CDATA[Hi Christian,

you are right, I should have mentioned OSGi in this episode. I simply forgot it :-)
&lt;a href=&quot;http://www.se-radio.net/podcast/2007-12/episode-80-osgi-peter-kriens-and-bj-hargrave&quot;&gt;Here&#039;s&lt;/a&gt; more on it: ]]></description>
		<content:encoded><![CDATA[<p>Hi Christian,</p>
<p>you are right, I should have mentioned OSGi in this episode. I simply forgot it <img src='http://www.se-radio.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /><br />
<a href="http://www.se-radio.net/podcast/2007-12/episode-80-osgi-peter-kriens-and-bj-hargrave">Here&#8217;s</a> more on it: </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: PeterM</title>
		<link>http://www.se-radio.net/2008/02/episode-87-software-components/#comment-65</link>
		<dc:creator>PeterM</dc:creator>
		<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">#comment-65</guid>
		<description><![CDATA[Hi SE-Radio

This is an excellent episode. It has given me a better understanding of using components as a high level absraction to break a system down.

I have started using the principles this week and it has really helped clean our system structure.

I have the sense that Michael has more to say on this topic and I would be interested to hear more of his thoughts. 

Thanks for the effort you put in.

Regards,
Peter]]></description>
		<content:encoded><![CDATA[<p>Hi SE-Radio</p>
<p>This is an excellent episode. It has given me a better understanding of using components as a high level absraction to break a system down.</p>
<p>I have started using the principles this week and it has really helped clean our system structure.</p>
<p>I have the sense that Michael has more to say on this topic and I would be interested to hear more of his thoughts. </p>
<p>Thanks for the effort you put in.</p>
<p>Regards,<br />
Peter</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Douglas M dos Santos</title>
		<link>http://www.se-radio.net/2008/02/episode-87-software-components/#comment-68</link>
		<dc:creator>Douglas M dos Santos</dc:creator>
		<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">#comment-68</guid>
		<description><![CDATA[Hello SERadio !
Since I found these website , I just cant stop listening it in backgroung while working.
Best regards,
Douglas from Brazil]]></description>
		<content:encoded><![CDATA[<p>Hello SERadio !<br />
Since I found these website , I just cant stop listening it in backgroung while working.<br />
Best regards,<br />
Douglas from Brazil</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Michael</title>
		<link>http://www.se-radio.net/2008/02/episode-87-software-components/#comment-71</link>
		<dc:creator>Michael</dc:creator>
		<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">#comment-71</guid>
		<description><![CDATA[Hi Peter

Thanks for your comment and your question about my further opinions. To respond to this: Markus and I have for large parts the same opinions about software components and how to use them.  It is just that I mostly used the concept of component more pragmatic, less formal, but that is because my projects where not using any model-based stuff.  So to me it was important to define for my team(s) how to decompose the overall architecture in something like subsystems and components. I defined the granularity of a subsystem and a component on a per project basis. What always stayed the same was the explicit documentation and enforcement of (architectural) dependencies, and using explicit interfaces for this. With the strong focus on enforcing the definition of contracts - decoupling the interface from the implementation - I was able to enforce clean design with minimal dependencies.
To be honest, in many past projects, I did not call the usage of components with their required and provided interfaces a &#039;domain language&#039; - a architecture language - as recommend in the episode. I mostly enforced the kind of thinking through talking, reviews, guidelines, and sometimes by (middleware) technology, such as CORBA or ICE, which require you to explicitly model your intefaces in some form of IDL. Nevertheless, reflecting about it: today it helps making this kind of thinking more explicit, e.g. as a language, at the beginning of a project.

Regards,
Michael]]></description>
		<content:encoded><![CDATA[<p>Hi Peter</p>
<p>Thanks for your comment and your question about my further opinions. To respond to this: Markus and I have for large parts the same opinions about software components and how to use them.  It is just that I mostly used the concept of component more pragmatic, less formal, but that is because my projects where not using any model-based stuff.  So to me it was important to define for my team(s) how to decompose the overall architecture in something like subsystems and components. I defined the granularity of a subsystem and a component on a per project basis. What always stayed the same was the explicit documentation and enforcement of (architectural) dependencies, and using explicit interfaces for this. With the strong focus on enforcing the definition of contracts &#8211; decoupling the interface from the implementation &#8211; I was able to enforce clean design with minimal dependencies.<br />
To be honest, in many past projects, I did not call the usage of components with their required and provided interfaces a &#8216;domain language&#8217; &#8211; a architecture language &#8211; as recommend in the episode. I mostly enforced the kind of thinking through talking, reviews, guidelines, and sometimes by (middleware) technology, such as CORBA or ICE, which require you to explicitly model your intefaces in some form of IDL. Nevertheless, reflecting about it: today it helps making this kind of thinking more explicit, e.g. as a language, at the beginning of a project.</p>
<p>Regards,<br />
Michael</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: fbouchet</title>
		<link>http://www.se-radio.net/2008/02/episode-87-software-components/#comment-86</link>
		<dc:creator>fbouchet</dc:creator>
		<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">#comment-86</guid>
		<description><![CDATA[Hi Peter/Markus,

This episode is really helpful to setup the scene. 

I would have been interested to also get your opinion from both deployment and operation perspectives. If SOA is not new, when it is applied to enterprise applications infrastructure these aspects become really challenging. For example,

a) deploy a new version of a component (and restaure the original version in case of problem) without interrupting the other components using it.

b) keep control of the performance of a component and its dependencies when its number of clients increases rapidely (it is difficult to predict in advance the usage model of the component).

c) identify the cause of a SLA alert when the component raising it depends upon other components and the  ressources they use (OS, network, DB, ...).

People in charge of these activities are going to exposed to much more complexities (smaller manageable elements with much more dependencies). This complexity will have an impact on ITIL processes (release management, change management, ...) that most large companies are currently using.

When a software vendor takes the responsability to bundle components, it usually provide an appropriate set of tools. When components provided by different vendors have to be re integrated, the story is different. Tools are usually complex and expensive to put in place and maintain.

Thanks for the quality of your podcasts.

Best Regards.
Frédéric
]]></description>
		<content:encoded><![CDATA[<p>Hi Peter/Markus,</p>
<p>This episode is really helpful to setup the scene. </p>
<p>I would have been interested to also get your opinion from both deployment and operation perspectives. If SOA is not new, when it is applied to enterprise applications infrastructure these aspects become really challenging. For example,</p>
<p>a) deploy a new version of a component (and restaure the original version in case of problem) without interrupting the other components using it.</p>
<p>b) keep control of the performance of a component and its dependencies when its number of clients increases rapidely (it is difficult to predict in advance the usage model of the component).</p>
<p>c) identify the cause of a SLA alert when the component raising it depends upon other components and the  ressources they use (OS, network, DB, &#8230;).</p>
<p>People in charge of these activities are going to exposed to much more complexities (smaller manageable elements with much more dependencies). This complexity will have an impact on ITIL processes (release management, change management, &#8230;) that most large companies are currently using.</p>
<p>When a software vendor takes the responsability to bundle components, it usually provide an appropriate set of tools. When components provided by different vendors have to be re integrated, the story is different. Tools are usually complex and expensive to put in place and maintain.</p>
<p>Thanks for the quality of your podcasts.</p>
<p>Best Regards.<br />
Frédéric</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Markus</title>
		<link>http://www.se-radio.net/2008/02/episode-87-software-components/#comment-87</link>
		<dc:creator>Markus</dc:creator>
		<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">#comment-87</guid>
		<description><![CDATA[&gt; I would have been interested to also get your opinion from both deployment and operation perspectives. 

right. These are additional topics we didn&#039;t really cover.

&gt; If SOA is not new, when it is applied to enterprise applications infrastructure these aspects 
&gt; become really challenging. 

I agree absolutely.

&gt; a) deploy a new version of a component (and restaure the original version in case of problem) 
&gt; without interrupting the other components using it.

right. An important precondition is to be able to tell statically whether the system will still 
work. This results in a requirements for &quot;versioning&quot; in the models. I think we talked about
that briefly. Being able to replace it at runtime is typically something that is done via dynamic 
connectors and a clever lookup service where, for new lookups, the new version is returned.
Combined with Leasing (see Resource Management Episode), you can make sure that after 
a given period of time all clients talk to the new one.

&gt; b) keep control of the performance of a component and its dependencies when its number 
&gt; of clients increases rapidely (it is difficult to predict in advance the usage model of the component).

this is actually relatively easy, because the component (or better: it&#039;s container) can do measurements
and statistics over usage patterns and the resulting performance. While this does not guarantee
the performance over time, it can be used to alarm administrators of looming problems. They can 
then deploy additional instances for load balancing.

&gt; c) identify the cause of a SLA alert when the component raising it depends upon other components 
&gt; and the ressources they use (OS, network, DB, ...).

right. This can become really tricky. I guess the only idea I have here is to have good statistics and
logging....

&gt; People in charge of these activities are going to exposed to much more complexities (smaller 
&gt; manageable elements with much more dependencies). This complexity will have an impact on 
&gt; ITIL processes (release management, change management, ...) that most large companies are 
&gt; currently using.

right. For really large installations you&#039;ll need a management tool that really provides an
overview over what is actually going on.

&gt; When a software vendor takes the responsability to bundle components, it usually provide an 
&gt; appropriate set of tools. When components provided by different vendors have to be re integrated, 
&gt; the story is different. Tools are usually complex and expensive to put in place and maintain.

agreed, but: the tools&#039; lifes are significantly easier the more metadata you have for a component.
Using the modeling approach outlined in the episode provides this metadata. While this does not
solve all problems, it is a really useful incremental improvement!

&gt; Thanks for the quality of your podcasts.

thank *you* for the really good points you&#039;ve raised in this comment :-)

Markus]]></description>
		<content:encoded><![CDATA[<p>> I would have been interested to also get your opinion from both deployment and operation perspectives. </p>
<p>right. These are additional topics we didn&#8217;t really cover.</p>
<p>> If SOA is not new, when it is applied to enterprise applications infrastructure these aspects<br />
> become really challenging. </p>
<p>I agree absolutely.</p>
<p>> a) deploy a new version of a component (and restaure the original version in case of problem)<br />
> without interrupting the other components using it.</p>
<p>right. An important precondition is to be able to tell statically whether the system will still<br />
work. This results in a requirements for &#8220;versioning&#8221; in the models. I think we talked about<br />
that briefly. Being able to replace it at runtime is typically something that is done via dynamic<br />
connectors and a clever lookup service where, for new lookups, the new version is returned.<br />
Combined with Leasing (see Resource Management Episode), you can make sure that after<br />
a given period of time all clients talk to the new one.</p>
<p>> b) keep control of the performance of a component and its dependencies when its number<br />
> of clients increases rapidely (it is difficult to predict in advance the usage model of the component).</p>
<p>this is actually relatively easy, because the component (or better: it&#8217;s container) can do measurements<br />
and statistics over usage patterns and the resulting performance. While this does not guarantee<br />
the performance over time, it can be used to alarm administrators of looming problems. They can<br />
then deploy additional instances for load balancing.</p>
<p>> c) identify the cause of a SLA alert when the component raising it depends upon other components<br />
> and the ressources they use (OS, network, DB, &#8230;).</p>
<p>right. This can become really tricky. I guess the only idea I have here is to have good statistics and<br />
logging&#8230;.</p>
<p>> People in charge of these activities are going to exposed to much more complexities (smaller<br />
> manageable elements with much more dependencies). This complexity will have an impact on<br />
> ITIL processes (release management, change management, &#8230;) that most large companies are<br />
> currently using.</p>
<p>right. For really large installations you&#8217;ll need a management tool that really provides an<br />
overview over what is actually going on.</p>
<p>> When a software vendor takes the responsability to bundle components, it usually provide an<br />
> appropriate set of tools. When components provided by different vendors have to be re integrated,<br />
> the story is different. Tools are usually complex and expensive to put in place and maintain.</p>
<p>agreed, but: the tools&#8217; lifes are significantly easier the more metadata you have for a component.<br />
Using the modeling approach outlined in the episode provides this metadata. While this does not<br />
solve all problems, it is a really useful incremental improvement!</p>
<p>> Thanks for the quality of your podcasts.</p>
<p>thank *you* for the really good points you&#8217;ve raised in this comment <img src='http://www.se-radio.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Markus</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: AlexMtl</title>
		<link>http://www.se-radio.net/2008/02/episode-87-software-components/#comment-89</link>
		<dc:creator>AlexMtl</dc:creator>
		<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">#comment-89</guid>
		<description><![CDATA[Hi Markus,

I have been listening to se radio now for a few months with a great pleasure; the subjects are definitely very interesting, please keep up the good work.

do you have any further reference for component based development that would deal with theory AND practical problems (versioning, evolution, ...) and could help to grasp the subject a bit more (and spreads some wisdom about the common pitfalls)?

thank you
Alex]]></description>
		<content:encoded><![CDATA[<p>Hi Markus,</p>
<p>I have been listening to se radio now for a few months with a great pleasure; the subjects are definitely very interesting, please keep up the good work.</p>
<p>do you have any further reference for component based development that would deal with theory AND practical problems (versioning, evolution, &#8230;) and could help to grasp the subject a bit more (and spreads some wisdom about the common pitfalls)?</p>
<p>thank you<br />
Alex</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Markus</title>
		<link>http://www.se-radio.net/2008/02/episode-87-software-components/#comment-92</link>
		<dc:creator>Markus</dc:creator>
		<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">#comment-92</guid>
		<description><![CDATA[Hi Alex,

&gt; I have been listening to se radio now for a few months with 
&gt; a great pleasure; the subjects are definitely very interesting, 
&gt; please keep up the good work.

thanks :-) We&#039;ll try to keep going :-)

&gt; do you have any further reference for component based 
&gt; development that would deal with theory AND practical 
&gt; problems (versioning, evolution, ...) and could help to 
&gt; grasp the subject a bit more (and spreads some wisdom 
&gt; about the common pitfalls)?

I have a couple of things that I have written for various
projects, some of that stuff is publicly available. Send me 
an email, so I can send you the stuff privately.

Cheers,
Markus]]></description>
		<content:encoded><![CDATA[<p>Hi Alex,</p>
<p>> I have been listening to se radio now for a few months with<br />
> a great pleasure; the subjects are definitely very interesting,<br />
> please keep up the good work.</p>
<p>thanks <img src='http://www.se-radio.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  We&#8217;ll try to keep going <img src='http://www.se-radio.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>> do you have any further reference for component based<br />
> development that would deal with theory AND practical<br />
> problems (versioning, evolution, &#8230;) and could help to<br />
> grasp the subject a bit more (and spreads some wisdom<br />
> about the common pitfalls)?</p>
<p>I have a couple of things that I have written for various<br />
projects, some of that stuff is publicly available. Send me<br />
an email, so I can send you the stuff privately.</p>
<p>Cheers,<br />
Markus</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: AlexMtl</title>
		<link>http://www.se-radio.net/2008/02/episode-87-software-components/#comment-99</link>
		<dc:creator>AlexMtl</dc:creator>
		<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">#comment-99</guid>
		<description><![CDATA[Hi Markus,

I sent you an email about that,

Thanks!
Alex]]></description>
		<content:encoded><![CDATA[<p>Hi Markus,</p>
<p>I sent you an email about that,</p>
<p>Thanks!<br />
Alex</p>
]]></content:encoded>
	</item>
</channel>
</rss>
