<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress/2.0.11" -->
<rss version="2.0" 
	xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
	<title>Comments on: Working with SpringSource Application Platform&#039;s provisioning repository</title>
	<link>http://blog.springsource.com/main/2008/05/09/working-with-springsource-application-platforms-provisioning-repository/</link>
	<description>The voice of SpringSource</description>
	<pubDate>Thu, 24 Jul 2008 02:53:13 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.0.11</generator>

	<item>
		<title>by: SpringSource Team Blog &#187; Running a Spring Batch Job in The SpringSource Application Platform</title>
		<link>http://blog.springsource.com/main/2008/05/09/working-with-springsource-application-platforms-provisioning-repository/#comment-108032</link>
		<pubDate>Fri, 30 May 2008 18:52:47 +0000</pubDate>
		<guid>http://blog.springsource.com/main/2008/05/09/working-with-springsource-application-platforms-provisioning-repository/#comment-108032</guid>
					<description>[...] Andy&#39;s blog on provisioning bundles in the platform [...]</description>
		<content:encoded><![CDATA[<p>[&#8230;] Andy&#39;s blog on provisioning bundles in the platform [&#8230;]
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: Andy Wilkinson</title>
		<link>http://blog.springsource.com/main/2008/05/09/working-with-springsource-application-platforms-provisioning-repository/#comment-108000</link>
		<pubDate>Fri, 30 May 2008 12:08:55 +0000</pubDate>
		<guid>http://blog.springsource.com/main/2008/05/09/working-with-springsource-application-platforms-provisioning-repository/#comment-108000</guid>
					<description>We haven't thought in detail about the semantics of remote provisioning at runtime as it's still just an idea at this stage. Our main goal in this area is to simplify developers' lives, with runtime remote provisioning being one possible solution.

As Christian mentioned above another solution will be available in a forthcoming update to the Platform Tools. This update will integrate with the Enterprise Bundle Repository so that developers can browse for and download new dependencies quickly and easily to a Platform installation.

Talking in more general terms, a bundle will only ever be installed into Equinox by the Platform's provisioning support when it's needed, i.e. it's required to satisfy another bundle's dependencies. As of beta5, the Platform will start any bundles that it installs during dependency satisfaction so that their services can be made available.</description>
		<content:encoded><![CDATA[<p>We haven&#039;t thought in detail about the semantics of remote provisioning at runtime as it&#039;s still just an idea at this stage. Our main goal in this area is to simplify developers&#039; lives, with runtime remote provisioning being one possible solution.</p>
<p>As Christian mentioned above another solution will be available in a forthcoming update to the Platform Tools. This update will integrate with the Enterprise Bundle Repository so that developers can browse for and download new dependencies quickly and easily to a Platform installation.</p>
<p>Talking in more general terms, a bundle will only ever be installed into Equinox by the Platform&#039;s provisioning support when it&#039;s needed, i.e. it&#039;s required to satisfy another bundle&#039;s dependencies. As of beta5, the Platform will start any bundles that it installs during dependency satisfaction so that their services can be made available.
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: Graham Jenson</title>
		<link>http://blog.springsource.com/main/2008/05/09/working-with-springsource-application-platforms-provisioning-repository/#comment-107050</link>
		<pubDate>Thu, 22 May 2008 22:48:03 +0000</pubDate>
		<guid>http://blog.springsource.com/main/2008/05/09/working-with-springsource-application-platforms-provisioning-repository/#comment-107050</guid>
					<description>The idea of a run-time downloading of bundles from a repository brings up complex issues. Although a lot of discussion has been on â€œWhy run-time?â€? I think it is a good idea but have some reservations.

What is the starting state for the newly downloaded bundle? Is it run? This may be needed if it supplies services that are required, implementations from that package, but if not then it takes up resources for no reason. If it is installed but not started then possible services that are needed will not be in the registry, the bundle that required the package now has satisfied dependencies but can make no use of it. 

Also there are issues of selection, if there are multiple different bundles supplying the same package, this could be possible because they may be sharing libraries packages, how will they be selected. I am aware of the Import-Library header, but there will be bundles that may be required that are not using this.

Finally if it is detected that in the current context running older versions of bundles, will they be automatically updated if they will â€œfitâ€? and not cause other dependency issues? I.E. a new build of an apache bundle is released with the exact dependencies, will SpringSource update my older version from the repository.

Thank you
Graham</description>
		<content:encoded><![CDATA[<p>The idea of a run-time downloading of bundles from a repository brings up complex issues. Although a lot of discussion has been on â€œWhy run-time?â€? I think it is a good idea but have some reservations.</p>
<p>What is the starting state for the newly downloaded bundle? Is it run? This may be needed if it supplies services that are required, implementations from that package, but if not then it takes up resources for no reason. If it is installed but not started then possible services that are needed will not be in the registry, the bundle that required the package now has satisfied dependencies but can make no use of it. </p>
<p>Also there are issues of selection, if there are multiple different bundles supplying the same package, this could be possible because they may be sharing libraries packages, how will they be selected. I am aware of the Import-Library header, but there will be bundles that may be required that are not using this.</p>
<p>Finally if it is detected that in the current context running older versions of bundles, will they be automatically updated if they will â€œfitâ€? and not cause other dependency issues? I.E. a new build of an apache bundle is released with the exact dependencies, will SpringSource update my older version from the repository.</p>
<p>Thank you<br />
Graham
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: Andy Wilkinson</title>
		<link>http://blog.springsource.com/main/2008/05/09/working-with-springsource-application-platforms-provisioning-repository/#comment-106209</link>
		<pubDate>Thu, 15 May 2008 16:25:55 +0000</pubDate>
		<guid>http://blog.springsource.com/main/2008/05/09/working-with-springsource-application-platforms-provisioning-repository/#comment-106209</guid>
					<description>[quote comment="106142"]Hmmm I can't read that page either, I've signed up to Jira and logged in but I get the following message when I follow the link (On my preferences page it says I am a member of jira-users)[/quote]
I've added you to the Platform beta users group, which should give you the access you need. Let me know if it doesn't do the trick.</description>
		<content:encoded><![CDATA[<p>[quote comment=&#034;106142&#034;]Hmmm I can&#039;t read that page either, I&#039;ve signed up to Jira and logged in but I get the following message when I follow the link (On my preferences page it says I am a member of jira-users)[/quote]<br />
I&#039;ve added you to the Platform beta users group, which should give you the access you need. Let me know if it doesn&#039;t do the trick.
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: Ben Hale</title>
		<link>http://blog.springsource.com/main/2008/05/09/working-with-springsource-application-platforms-provisioning-repository/#comment-106153</link>
		<pubDate>Wed, 14 May 2008 14:27:55 +0000</pubDate>
		<guid>http://blog.springsource.com/main/2008/05/09/working-with-springsource-application-platforms-provisioning-repository/#comment-106153</guid>
					<description>[quote post="332"]However it seems the spring repository is not enabled to allow ivy to do wild card searches which I think most enterprises would need. The alternative is specifically listing every version which is used in the enterprise but this would get unmanageable very quickly.[/quote]
[quote post="332"]Is this just a case of overzealous admins turning off directory browsing by default?[/quote]

Actually no it's not a case of overzealous admins :)  In fact, it's a byproduct of the fact we back the repository with Amazon S3 (http://s3.amazonaws.com).  Since S3 is a REST service with a flat namespace there's no actual directory structure to look for.  It turns out that with the judicious use of slashes it can appear to be a directory structure when it's not actually.

In general, it's never recommended that you try and replicate large swaths of these repositories internally.  I'll point at a Maven tool called maven-proxy (http://maven-proxy.codehaus.org/) for the moment but the same thing applies to Ivy.  To quote:
[quote]It is quicker than mirroring the entire of ibiblio (not to consider the waste)[/quote]

What you'd really want to do is have a proxy so that when you requested a specific type it'd try and service that from a local cache.  If it couldn't it would then try and download from the primary repository and cache locally for all future requests.  A standard HTTP proxy can do this, but obviously a dedicated proxy like maven-proxy is ideal.</description>
		<content:encoded><![CDATA[<p>[quote post=&#034;332&#034;]However it seems the spring repository is not enabled to allow ivy to do wild card searches which I think most enterprises would need. The alternative is specifically listing every version which is used in the enterprise but this would get unmanageable very quickly.[/quote]<br />
[quote post=&#034;332&#034;]Is this just a case of overzealous admins turning off directory browsing by default?[/quote]</p>
<p>Actually no it&#039;s not a case of overzealous admins <img src='http://blog.springsource.com/main/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />   In fact, it&#039;s a byproduct of the fact we back the repository with Amazon S3 (http://s3.amazonaws.com).  Since S3 is a REST service with a flat namespace there&#039;s no actual directory structure to look for.  It turns out that with the judicious use of slashes it can appear to be a directory structure when it&#039;s not actually.</p>
<p>In general, it&#039;s never recommended that you try and replicate large swaths of these repositories internally.  I&#039;ll point at a Maven tool called maven-proxy (http://maven-proxy.codehaus.org/) for the moment but the same thing applies to Ivy.  To quote:<br />
[quote]It is quicker than mirroring the entire of ibiblio (not to consider the waste)[/quote]</p>
<p>What you&#039;d really want to do is have a proxy so that when you requested a specific type it&#039;d try and service that from a local cache.  If it couldn&#039;t it would then try and download from the primary repository and cache locally for all future requests.  A standard HTTP proxy can do this, but obviously a dedicated proxy like maven-proxy is ideal.
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: David Savage</title>
		<link>http://blog.springsource.com/main/2008/05/09/working-with-springsource-application-platforms-provisioning-repository/#comment-106146</link>
		<pubDate>Wed, 14 May 2008 10:50:03 +0000</pubDate>
		<guid>http://blog.springsource.com/main/2008/05/09/working-with-springsource-application-platforms-provisioning-repository/#comment-106146</guid>
					<description>Great, ok escaped this time:

&#60;ivysettings&#62;
  &#60;settings defaultCache=".ivycache" defaultResolver="spring" checkUpToDate="false" /&#62;
  &#60;property name="repository.dir" value="/opt/ivy-repository"/&#62;
  &#60;resolvers&#62;
    &#60;chain name="spring"&#62;
      &#60;url name="com.springsource.repository.bundles.release"&#62; 
        &#60;ivy pattern="http://repository.springsource.com/ivy/bundles/release/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]" /&#62; 
        &#60;artifact pattern="http://repository.springsource.com/ivy/bundles/release/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]" /&#62;
      &#60;/url&#62; 
      &#60;url name="com.springsource.repository.bundles.external"&#62; 
        &#60;ivy pattern="http://repository.springsource.com/ivy/bundles/external/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]" /&#62; 
        &#60;artifact pattern="http://repository.springsource.com/ivy/bundles/external/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]" /&#62; 
      &#60;/url&#62;
    &#60;/chain&#62;
    &#60;filesystem name="internal"&#62;
      &#60;ivy pattern="${repository.dir}/[module]/ivy-[revision].xml" /&#62;
      &#60;artifact pattern="${repository.dir}/[module]/[artifact]-[revision].[ext]" /&#62;
    &#60;/filesystem&#62;
  &#60;/resolvers&#62;
&#60;/ivysettings&#62;

build.xml

&#60;target name="install" description="--&#62; install dependencies with ivy"&#62;
  &#60;ivy-install from="spring" to="internal" organisation="org.springframework" module="org.springframework.*" revision="*" matcher="glob" /&#62;
&#60;/target&#62;</description>
		<content:encoded><![CDATA[<p>Great, ok escaped this time:</p>
<p>&lt;ivysettings&gt;<br />
  &lt;settings defaultCache=&#034;.ivycache&#034; defaultResolver=&#034;spring&#034; checkUpToDate=&#034;false&#034; /&gt;<br />
  &lt;property name=&#034;repository.dir&#034; value=&#034;/opt/ivy-repository&#034;/&gt;<br />
  &lt;resolvers&gt;<br />
    &lt;chain name=&#034;spring&#034;&gt;<br />
      &lt;url name=&#034;com.springsource.repository.bundles.release&#034;&gt;<br />
        &lt;ivy pattern=&#034;http://repository.springsource.com/ivy/bundles/release/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]&#034; /&gt;<br />
        &lt;artifact pattern=&#034;http://repository.springsource.com/ivy/bundles/release/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]&#034; /&gt;<br />
      &lt;/url&gt;<br />
      &lt;url name=&#034;com.springsource.repository.bundles.external&#034;&gt;<br />
        &lt;ivy pattern=&#034;http://repository.springsource.com/ivy/bundles/external/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]&#034; /&gt;<br />
        &lt;artifact pattern=&#034;http://repository.springsource.com/ivy/bundles/external/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]&#034; /&gt;<br />
      &lt;/url&gt;<br />
    &lt;/chain&gt;<br />
    &lt;filesystem name=&#034;internal&#034;&gt;<br />
      &lt;ivy pattern=&#034;${repository.dir}/[module]/ivy-[revision].xml&#034; /&gt;<br />
      &lt;artifact pattern=&#034;${repository.dir}/[module]/[artifact]-[revision].[ext]&#034; /&gt;<br />
    &lt;/filesystem&gt;<br />
  &lt;/resolvers&gt;<br />
&lt;/ivysettings&gt;</p>
<p>build.xml</p>
<p>&lt;target name=&#034;install&#034; description=&#034;&#8211;&gt; install dependencies with ivy&#034;&gt;<br />
  &lt;ivy-install from=&#034;spring&#034; to=&#034;internal&#034; organisation=&#034;org.springframework&#034; module=&#034;org.springframework.*&#034; revision=&#034;*&#034; matcher=&#034;glob&#034; /&gt;<br />
&lt;/target&gt;
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: David Savage</title>
		<link>http://blog.springsource.com/main/2008/05/09/working-with-springsource-application-platforms-provisioning-repository/#comment-106145</link>
		<pubDate>Wed, 14 May 2008 10:44:39 +0000</pubDate>
		<guid>http://blog.springsource.com/main/2008/05/09/working-with-springsource-application-platforms-provisioning-repository/#comment-106145</guid>
					<description>Sorry previous post mangled, need to escape xml characters!!

Does this work &#62;test&#60;</description>
		<content:encoded><![CDATA[<p>Sorry previous post mangled, need to escape xml characters!!</p>
<p>Does this work &gt;test&lt;
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: David Savage</title>
		<link>http://blog.springsource.com/main/2008/05/09/working-with-springsource-application-platforms-provisioning-repository/#comment-106144</link>
		<pubDate>Wed, 14 May 2008 10:40:34 +0000</pubDate>
		<guid>http://blog.springsource.com/main/2008/05/09/working-with-springsource-application-platforms-provisioning-repository/#comment-106144</guid>
					<description>Out of interest I started to dig around to figure out how to do a local mirror of content from the spring repository using Ivy. 

However it seems the spring repository is not enabled to allow ivy to do wild card searches which I think most enterprises would need. The alternative is specifically listing every version which is used in the enterprise but this would get unmanageable very quickly.

What I did (possibly some daft mistake):


  
  
  
    
       
         
        
       
       
         
         
      
    
    
      
      
    
  


build.xml:


   


Relatively new to Ivy but docs suggest this should this work? 

Adding some debug lead me to the fact that the spring repository does not allow directory browsing on folders which ivy needs to do wild card matching. Compare the output from the maven repository used by the ivy biblio resolver and spring:

http://repo1.maven.org/maven2/
http://repository.springsource.com/ivy/bundles/release/

Is this just a case of overzealous admins turning off directory browsing by default?</description>
		<content:encoded><![CDATA[<p>Out of interest I started to dig around to figure out how to do a local mirror of content from the spring repository using Ivy. </p>
<p>However it seems the spring repository is not enabled to allow ivy to do wild card searches which I think most enterprises would need. The alternative is specifically listing every version which is used in the enterprise but this would get unmanageable very quickly.</p>
<p>What I did (possibly some daft mistake):</p>
<p>build.xml:</p>
<p>Relatively new to Ivy but docs suggest this should this work? </p>
<p>Adding some debug lead me to the fact that the spring repository does not allow directory browsing on folders which ivy needs to do wild card matching. Compare the output from the maven repository used by the ivy biblio resolver and spring:</p>
<p><a href="http://repo1.maven.org/maven2/" rel="nofollow">http://repo1.maven.org/maven2/</a><br />
<a href="http://repository.springsource.com/ivy/bundles/release/" rel="nofollow">http://repository.springsource.com/ivy/bundles/release/</a></p>
<p>Is this just a case of overzealous admins turning off directory browsing by default?
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: David Savage</title>
		<link>http://blog.springsource.com/main/2008/05/09/working-with-springsource-application-platforms-provisioning-repository/#comment-106142</link>
		<pubDate>Wed, 14 May 2008 10:21:29 +0000</pubDate>
		<guid>http://blog.springsource.com/main/2008/05/09/working-with-springsource-application-platforms-provisioning-repository/#comment-106142</guid>
					<description>Hmmm I can't read that page either, I've signed up to Jira and logged in but I get the following message when I follow the link (On my preferences page it says I am a member of jira-users):

PERMISSION VIOLATION
ERROR

It seems that you have tried to perform an operation which you are not permitted to perform.

If you think this message is wrong, please consult your administrators about getting the necessary permissions.</description>
		<content:encoded><![CDATA[<p>Hmmm I can&#039;t read that page either, I&#039;ve signed up to Jira and logged in but I get the following message when I follow the link (On my preferences page it says I am a member of jira-users):</p>
<p>PERMISSION VIOLATION<br />
ERROR</p>
<p>It seems that you have tried to perform an operation which you are not permitted to perform.</p>
<p>If you think this message is wrong, please consult your administrators about getting the necessary permissions.
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: Andy Wilkinson</title>
		<link>http://blog.springsource.com/main/2008/05/09/working-with-springsource-application-platforms-provisioning-repository/#comment-106102</link>
		<pubDate>Tue, 13 May 2008 19:54:00 +0000</pubDate>
		<guid>http://blog.springsource.com/main/2008/05/09/working-with-springsource-application-platforms-provisioning-repository/#comment-106102</guid>
					<description>Hi Derek,

You have to sign-up: http://issuetracker.springsource.com/secure/Signup!default.jspa

Regards,
Andy</description>
		<content:encoded><![CDATA[<p>Hi Derek,</p>
<p>You have to sign-up: <a href="http://issuetracker.springsource.com/secure/Signup" rel="nofollow">http://issuetracker.springsource.com/secure/Signup</a>!default.jspa</p>
<p>Regards,<br />
Andy
</p>
]]></content:encoded>
				</item>
</channel>
</rss>
