Re: Versioning of Tuscany

2008-06-13 Thread Graham Charters
I think this is one of those discussions where there is no 'right'
answer.  I wonder if we can start with an initial, fairly crude,
approach and refine it as we learn from experience.  I like to have
faith in folks doing the right thing until they demonstrate otherwise,
so having version ranges of [current version, next major version)
seems like the right place to start.  As we identify libraries which
don't respect compatibility within a major version, then we can
perhaps add them to our 'black list' and give them narrower version
ranges.

Perhaps I'm just too optimistic, but it would be good if we could
agree on a place to start, so we can learn.

Regards, Graham.

2008/6/12 Rajini Sivaram <[EMAIL PROTECTED]>:
> On 6/12/08, Simon Nash <[EMAIL PROTECTED]> wrote:
>
>> I am very pleased to see this discussion happening.  My thoughts below.
>>
>>  Simon
>>
>> Rajini Sivaram wrote:
>>
>>> On 6/12/08, Graham Charters <[EMAIL PROTECTED]> wrote:
>>>
>>> Hi Rajini, I think your summary on the wiki is great.  I have a couple
>>>> of comments:
>>>>
>>>> 1.  I believe SpringSource try to create sensible version ranges based
>>>> on the versioning governance of the project, such as that of Apache
>>>> [1].  I have no doubt this takes quite a bit of effort and there are a
>>>> number of examples which do not follow guidelines, but it seems like a
>>>> sensible place to start.
>>>>
>>>
>>>
>>>  "Sensible" is quite difficult to define. Here is example of one of the
>>> SpringSource versioned jars - Axiom 1.2.5 (this is on Apache License):
>>>
>>> The versions going upto infinity are those provided by the Java SDK. For
>>> the
>>> others, the minimum versions are similar to the minimum versions that we
>>> would generate using maven-bundle-plugin in Tuscany (based on current
>>> versions), and the maximum versions (at least in this example) go upto the
>>> maximum within the major version range. I have only looked at a few, but
>>> the
>>> ones I looked at follow this pattern.
>>>
>>> javax.activation   [1.1.0, 2.0.0)
>>> javax.mail  [1.4.0, 2.0.0)
>>> javax.mail.internet   [1.4.0, 2.0.0)
>>> javax.xml.namespace  [0.0.0,infinity)
>>> javax.xml.stream [1.0.1, 2.0.0)
>>> junit.framework[3.8.2, 4.0.0)
>>> org.apache.commons.logging [1.1.1, 2.0.0)
>>> org.jaxen  [1.1.1, 2.0.0)
>>> org.jaxen.saxpath  [1.1.1, 2.0.0)
>>> org.jaxen.util [1.1.1, 2.0.0)
>>> org.w3c.dom [0.0.0,infinity)
>>> org.xml.sax   [0.0.0,infinity)
>>> org.xml.sax.helpers[0.0.0,infinity)
>>>
>>> Whenever we import a package using a version other than the currently
>>> implemented and tested versions, we are making an assumption about being
>>> future-proof. IMHO, that is hardly ever the case. eg. If Tuscany 1.2.1 was
>>> released with Axis version 1.3, and Axis version 1.4 was not available for
>>> testing at the time, can we really assume that Tuscany 1.2.1 will work
>>> with
>>> Axis 1.4 when it comes out just because the major version has not changed?
>>> By choosing the version range [1.3.0,2.0.0) for Tuscany imports, we are
>>> making that assumption. Now this does not matter as long as the user wants
>>> to use Tuscany out of the box and does not install Axis version 1.4 into
>>> the
>>> OSGi runtime. But what happens when the user does install Axis 1.4 to use
>>> it
>>> with another application? Tuscany could fall over in spite of the fact
>>> that
>>> there is an Axis 1.3 present in the runtime, because Tuscany will be wired
>>> to 1.4 since it believed that it would work with any version beyond 1.3. I
>>> do agree that SpringSource provides a good starting point, since a lot of
>>> work has already gone into it. But I would expect that some level of fine
>>> tuning will be required for Tuscany beyond that.
>>>
>>> I think this is a serious problem and we do need to take into account
>> that users will install higher levels of Tuscany dependencies such as
>> Axis2.
>>
>> We could guard against Tuscany breaking in this case by specifying the
>> Axis2 dependency as a narrower range such as (1.3.0, 1.4.0) instead of
>> (1.3.0, 2.0.0).  This would mean that if Axis2 1.4 is installed, Tuscany
>> will still use Axis2 1.3 even though other code is us

Re: Versioning of Tuscany

2008-06-12 Thread Graham Charters
Hi Rajini, I think your summary on the wiki is great.  I have a couple
of comments:

1.  I believe SpringSource try to create sensible version ranges based
on the versioning governance of the project, such as that of Apache
[1].  I have no doubt this takes quite a bit of effort and there are a
number of examples which do not follow guidelines, but it seems like a
sensible place to start.  At least this approach is not arbitrary and
therefore, IMO, stands a chance of working in most situations.
Arbitrary schemes will be difficult to explain and defend when issues
arise.  I dislike the idea of narrow or broad ranges for the reasons
you state.
2.  You asked if we should be able to work with bundles from other
projects (e.g. ServiceMix, SpringSource Application Platform).  I
wonder if we're able to learn from these projects to seed our
versioning.  The SpringSource repository, for example, seems to allow
this, although I'm no legal expert [2].

Regards, Graham.

[1] http://commons.apache.org/releases/versioning.html
[2] 
http://www.springsource.com/repository/app/faq;jsessionid=3F9467729AC282FE4E08199FDCE40863#q6



2008/6/11 Rajini Sivaram <[EMAIL PROTECTED]>:
> Following on from the discussion on OSGi-enabling third party libraries (
> http://markmail.org/message/snltdk2yovr6maq5), this thread addresses the
> options for versioning Tuscany bundles and 3rd party libraries distributed
> with Tuscany and the implications of choosing these options. I have put
> together some notes on the wiki (
> http://cwiki.apache.org/confluence/display/TUSCANYWIKI/Tuscany+Versioning)
>
> There were two outstanding questions from Simon Nash in the previous
> discussion which I will summarize here to ensure that they are not lost in
> this discussion.
>
>   1. Why can't we generate import constraints which will suit all
>   applications?
>   2. *I'm concerned by the assumption here that Tuscany's versions of 3rd
>   party bundles will be used both by Tuscany and by applications. An
>   application may be using other software as well as Tuscany, and this other
>   software may include its own versions of bundles for javax.servlet or jaxb.
>   If Tuscany requires its versions of these bundles to be used, and the other
>   software requires its versions to be used, this requires the application
>   developer to understand how to resolve any conflicts.*
>
> The answer to 1) relates to how broad (or narrow) version ranges in imports
> are. Broad ranges prevent isolation and reduce scope for side-by-side
> execution, narrow ranges prevent class sharing and upgrading to newer
> versions. There is more detail with examples on the wiki.
>
> Question 2) is addressed first on the wiki (Figure 1 and Figure 2 show these
> scenarios). I would personally like to follow OSGi best practice and enable
> maximum sharing. There are some cases where we have no choice but to share
> (eg. SDO). I don't believe we can eliminate conflicts altogether - but
> following standard practice will make it less complicated for OSGi
> developers to resolve conflicts.
>
> Thoughts?
>
>
> Thank you...
>
> Regards,
>
> Rajini
>


Re: Tracking Tuscany extensions, was: Distribution zips and what they contain, was: SCA runtimes

2008-06-12 Thread Graham Charters
+1 from me also.  We shouldn't confuse modularity purely with
versioning or whether something can be used on its own.  It's also
about being able to make different combinations of modules to fit
different deployment profiles.

I think it was Ant who first brought up the distinction between what
make sense in terms of modularity and what makes sense from a user's
perspective.  I think having 1 bundle per Tuscany module and
third-party jar is fine so long as we provide some way of aggregating
those in ways that make sense for how users will consume them.  For
example, I as a user might want to think in terms of a core runtime +
implementation type X and binding Y.  That's three concepts to me, not
123 bundles.

Hope this make sense.

Regards, Graham.

2008/6/12 Jean-Sebastien Delfino <[EMAIL PROTECTED]>:
> Raymond Feng wrote:
>>
>> Hi,
>>
>> There are a few patterns we use to determine if a maven module is
>> required. Let's take the contribution stuff as an example.
>>
>> 1) contribution contains the interfaces for the contribution model and
>> default implementation classes, SPIs and extension points
>> 2) contribution-xml deals with the reading/writing the xml document for
>> the sca-contribution.xml
>> 3) contribution-java, contribution-namspace, contribution-resource deal
>> with a specific perspective of the contribution, for example, namespace,
>> java, resource
>> 4) contribution-osgi, contribution-groovy support specific packaging
>> schemes of the SCA contributions.
>>
>> Please note there is a tree-like dependency graph. I don't think it makes
>> sense to merge the siblings into one module. Since an ancestor (for example
>> contribution) are shared by mulitple children (-xml, -osgi, etc), it also
>> not desirable to merge the common ancestor with other modules.
>>
>> For databinding related modules, we have a similar strcuture:
>> 1) databinding: The base model, SPIs and transformers for various XML
>> technologies
>> 2) databinding-jaxb, databinding-sdo, databinding-axiom, ... The
>> individual databinding technologies
>> 3) core-databinding: A set of hook code that leverage the databinding
>> framework in the invocation chains (data transformation interceptors)
>>
>> We can use 1 as the data transformation utility in binding/implementation
>> or even 3rd party code without 3. We can also pick one or more modules from
>> 2.
>>
>> What I'm trying to point out is that our maven module structure reflects
>> the nature of the feature units and dependencies fairly well. IMO, each
>> module maps well into an OSGi bundle. IMHO, both the maven module and OSGi
>> bundle follow the same principles and the results should be consistent.
>>
>> Thanks,
>> Raymond
>>
>
> +1 to all that, makes a lot of sense to me!
>
> --
> Jean-Sebastien
>


Re: Tracking Tuscany extensions, was: Distribution zips and what they contain, was: SCA runtimes

2008-06-11 Thread Graham Charters
Hi Rajini, couple of comments below

2008/6/11 Rajini Sivaram <[EMAIL PROTECTED]>:
> On 6/11/08, Graham Charters <[EMAIL PROTECTED]> wrote:
>>
>> If we assume one bundle per Tuscany module for developers, perhaps
>> there's a need for a separate concept that provides a simplified view
>> for users?  The SpringSource Application Platform has the concept of a
>> library, which has caused much debate in the OSGi world (it has its
>> own manifest header).  A library is a collection of bundles which
>> gives the developer a single 'thing' on which to depend.  At runtime
>> the concept goes away and just results in Import/Export-Package
>> statements created through manifest re-writing (the library does not
>> affect package visibility).  I'm not suggesting we use the same
>> approach, but it just highlights that others a felt the need for an
>> 'aggregation' concept.
>>
>> I wonder if a bundle repository might also provide such a capability,
>> but I'm not too familiar with things like OBR at the moment.
>
>
> OBR does provide similar capability, but IMO the problem with all these
> approaches (OBR, SpringSource library) is that none of them is a standard. I
> just hope we dont invent yet another one.
>

RFC 112 covers the design for a Bundle Repository (inspired by OBR) so
is some way along the path to being a standard.  This might make the
OBR approach a safer bet.

> On the subject of the ExtensionRegistry.  This is not a standard OSGi
>> feature, but I've been told the Equinox implementation should run on
>> any standard OSGi implementation (e.g. Felix).  Is there any reason
>> why we wouldn't just use the standard service registry?  It has all
>> the features required to manage the lifecycle of new extensions being
>> installed/uninstalled, etc.
>
>
> You have probably read this already, but others may find Neil Bartlett's
> discussion useful:
> http://www.eclipsezone.com/articles/extensions-vs-services/
> I dont actually have an opinion, just pointing to the docs.
>

Yes, but thanks for the pointer.  It's an excellent article.  My
comment was less about the technical pros/cons of each approach and
more about the standards aspect, although the technical aspects need
to be considered.

> Regards, Graham.
>>
>> 2008/6/11 ant elder <[EMAIL PROTECTED]>:
>> > On Wed, Jun 11, 2008 at 9:09 AM, Rajini Sivaram <
>> > [EMAIL PROTECTED]> wrote:
>> >
>> > 
>> >
>> > If we are anyway going to require a "launcher" of some form,
>> >> wouldn't it be just as easy to maintain one-bundle-per-module?
>> >>
>> >
>> > I agree, if we go back to requiring a launcher that changes a lot how
>> we'd
>> > could put this together. I'm not at all against requiring a launcher as
>> that
>> > does make things easier in some respects, but lets remember why we did
>> used
>> > to do this and then chucked it out in the 0.90 rewrite ;)
>> >
>> >   ...ant
>> >
>>
>
>
>
> --
> Thank you...
>
> Regards,
>
> Rajini
>


Re: Tracking Tuscany extensions, was: Distribution zips and what they contain, was: SCA runtimes

2008-06-11 Thread Graham Charters
2008/6/11 ant elder <[EMAIL PROTECTED]>:
> On Wed, Jun 11, 2008 at 2:31 PM, Rajini Sivaram <
> [EMAIL PROTECTED]> wrote:
>
> ,snip>
>
>
>>
>> You have probably read this already, but others may find Neil Bartlett's
>> discussion useful:
>> http://www.eclipsezone.com/articles/extensions-vs-services/
>>
>
> Great article, thanks for the link. Thats over a year old now so has much
> changed eg in relation to comments like "The "delayed" services feature
> requires some small tweaks to the basic Equinox runtime, and these tweaks
> have not been implemented yet in the released version 3.2. They do not
> appear at all yet (at the time of writing) in the other open source OSGi
> runtimes, Apache Felix and Knopflerfish."?
>
>   ...ant
>

The delayed services feature is supported in Equinox.  The equinox
implementation was improved by a contribution from Prosyst.

Felix has DS support and documentation mentions the "immediate"
attribute used to control delayed services, so I'm guessing it is also
supported in that project.

I've not looked at Knopflerfish.

Regards, Graham


Re: Tracking Tuscany extensions, was: Distribution zips and what they contain, was: SCA runtimes

2008-06-11 Thread Graham Charters
If we assume one bundle per Tuscany module for developers, perhaps
there's a need for a separate concept that provides a simplified view
for users?  The SpringSource Application Platform has the concept of a
library, which has caused much debate in the OSGi world (it has its
own manifest header).  A library is a collection of bundles which
gives the developer a single 'thing' on which to depend.  At runtime
the concept goes away and just results in Import/Export-Package
statements created through manifest re-writing (the library does not
affect package visibility).  I'm not suggesting we use the same
approach, but it just highlights that others a felt the need for an
'aggregation' concept.

I wonder if a bundle repository might also provide such a capability,
but I'm not too familiar with things like OBR at the moment.

On the subject of the ExtensionRegistry.  This is not a standard OSGi
feature, but I've been told the Equinox implementation should run on
any standard OSGi implementation (e.g. Felix).  Is there any reason
why we wouldn't just use the standard service registry?  It has all
the features required to manage the lifecycle of new extensions being
installed/uninstalled, etc.

Regards, Graham.

2008/6/11 ant elder <[EMAIL PROTECTED]>:
> On Wed, Jun 11, 2008 at 9:09 AM, Rajini Sivaram <
> [EMAIL PROTECTED]> wrote:
>
> 
>
> If we are anyway going to require a "launcher" of some form,
>> wouldn't it be just as easy to maintain one-bundle-per-module?
>>
>
> I agree, if we go back to requiring a launcher that changes a lot how we'd
> could put this together. I'm not at all against requiring a launcher as that
> does make things easier in some respects, but lets remember why we did used
> to do this and then chucked it out in the 0.90 rewrite ;)
>
>   ...ant
>


Re: OSGi-enable 3rd party libraries in Tuscany

2008-05-29 Thread Graham Charters
FWIW, I agree with Sebastien and Rajini.  I don't believe it's a
coincidence that both SpringSource and ServiceMix went the route of
adding manifests to the thirdparty jars.  It keeps things simple and
gives a better experience from an OSGi perspective.  If we're serious
about supporting OSGi we should try to do the right thing by the
technology.

Whilst not necessarily an argument against virtual bundles, I also
agree that we should have properly authored dependencies.  This view
is supported by the discussion Rajini is having in Jira 2343.  I know
for a fact that SpringSource work very hard to ensure the version
ranges on their dependencies are sensible (e.g. match the rules
governing version increments for each project).

I don't believe we can completely do away with virtual bundles in the
short term, but we should only use them where necessary (e.g for
signed jars and jars which require code extensions to function in
OSGi).

Regards, Graham.

2008/5/29 Jean-Sebastien Delfino <[EMAIL PROTECTED]>:
> Rajini Sivaram wrote:
>
>> There is no technical reason why we can't store 3rd party jars separately
>> and merge them at runtime to create "virtual bundles", rather than
>> distribute "real bundles" containing these manifests. I think the issues
>> are:
>>
>>   1. The build will be harder and messier since existing tools are not
>>   geared to do this
>>   2. The distribution will be messier from an OSGi perspective
>
> Agreed. How about keeping things simple and clean??
>
>>   3. OSGi will continue to remain a peripheral feature of Tuscany, never
>>   properly integrated since this is not really mainstream.
>
> Agreed.
>
>>   4. Real bundles provide more flexibility to OSGi users in terms of
>>   substituting 3rd party jars with newer or patched versions of these, as
>> well
>>   as avoiding classloading conflicts resulting from version constraints.
>>
>
> Good point too.
>
> My 2c: Generating bundles automatically from JARs is useless. If you want to
> leverage OSGi you need to make authoring / fine tuning your imports/exports
> a first class part of your development process.
>
> I'm starting to feel like a broken record, so I'm going to say it one last
> time, for the record. I think we should just follow a simple approach and
> add proper (authored) OSGi entries to our JARs and 3rd party dependency
> JARs. This doesn't multiply distros, doesn't duplicate JARs, does not
> complicate the build. It just makes simple sense IMHO, and other projects
> with experience with OSGi are on that path too.
>
> --
> Jean-Sebastien
>


[jira] Commented: (TUSCANY-2330) Calculator sample running in OSGi

2008-05-23 Thread Graham Charters (JIRA)

[ 
https://issues.apache.org/jira/browse/TUSCANY-2330?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12599389#action_12599389
 ] 

Graham Charters commented on TUSCANY-2330:
--

Hi Rajini, sorry for taking so long to respond.  Please go ahead and check the 
code in with your update.  Changing it to use Felix is fine by me.  I tested it 
with both and there was little discernible difference in performance.

Thanks, Graham. 

> Calculator sample running in OSGi
> -
>
> Key: TUSCANY-2330
> URL: https://issues.apache.org/jira/browse/TUSCANY-2330
> Project: Tuscany
>  Issue Type: Wish
>  Components: Java SCA Samples
>Affects Versions: Java-SCA-Next
> Environment: All
>Reporter: Graham Charters
> Fix For: Java-SCA-Next
>
> Attachments: calculator-osgi-sample.patch
>
>   Original Estimate: 2h
>  Remaining Estimate: 2h
>
> It would help with preserving OSGi support if an OSGi sample were run as a 
> matter of course, rather than only by a small number of developers.  This 
> wish is to add the smallest sample possible based on existing Tuscany module 
> dependencies.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (TUSCANY-2330) Calculator sample running in OSGi

2008-05-21 Thread Graham Charters (JIRA)

[ 
https://issues.apache.org/jira/browse/TUSCANY-2330?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12598616#action_12598616
 ] 

Graham Charters commented on TUSCANY-2330:
--

Hi Rajini,

I think what you're suggesting make sense.  I won't be able to look at this 
until Friday.  Thanks for the offer of help, I'll let you know if I need some.

Regards, 

Graham.

> Calculator sample running in OSGi
> -
>
> Key: TUSCANY-2330
> URL: https://issues.apache.org/jira/browse/TUSCANY-2330
> Project: Tuscany
>  Issue Type: Wish
>  Components: Java SCA Samples
>Affects Versions: Java-SCA-Next
>     Environment: All
>Reporter: Graham Charters
> Fix For: Java-SCA-Next
>
> Attachments: calculator-osgi-sample.patch
>
>   Original Estimate: 2h
>  Remaining Estimate: 2h
>
> It would help with preserving OSGi support if an OSGi sample were run as a 
> matter of course, rather than only by a small number of developers.  This 
> wish is to add the smallest sample possible based on existing Tuscany module 
> dependencies.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Updated: (TUSCANY-2330) Calculator sample running in OSGi

2008-05-20 Thread Graham Charters (JIRA)

 [ 
https://issues.apache.org/jira/browse/TUSCANY-2330?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Graham Charters updated TUSCANY-2330:
-

Attachment: calculator-osgi-sample.patch

> Calculator sample running in OSGi
> -
>
> Key: TUSCANY-2330
> URL: https://issues.apache.org/jira/browse/TUSCANY-2330
> Project: Tuscany
>  Issue Type: Wish
>  Components: Java SCA Samples
>Affects Versions: Java-SCA-Next
> Environment: All
>Reporter: Graham Charters
> Fix For: Java-SCA-Next
>
> Attachments: calculator-osgi-sample.patch
>
>   Original Estimate: 2h
>  Remaining Estimate: 2h
>
> It would help with preserving OSGi support if an OSGi sample were run as a 
> matter of course, rather than only by a small number of developers.  This 
> wish is to add the smallest sample possible based on existing Tuscany module 
> dependencies.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



Re: Small OSGi sample for the main build?

2008-05-20 Thread Graham Charters
I've submitted a patch to add the sample (Jira 2330).

2008/5/20 ant elder <[EMAIL PROTECTED]>:
> Sounds good to me.
>
>   ...ant
>
> On Mon, May 19, 2008 at 9:50 PM, Graham Charters <[EMAIL PROTECTED]>
> wrote:
>
>> Hi,
>>
>> I now have the Calculator sample running using all the great work
>> Rajini did to use Equinox, 1 bundle per third-party library, and
>> absolute jar paths.  It results in 119 bundles, uses 19MB and takes
>> about 50 seconds to run.  If folks are ok with this, I will create a
>> Jira and submit it as a patch for inclusion in the samples main build.
>>
>> Regards, Graham.
>>
>> 2008/5/19 Graham Charters <[EMAIL PROTECTED]>:
>> > Hi Rajini,
>> >
>> > 2008/5/18 Rajini Sivaram <[EMAIL PROTECTED]>:
>> >> Graham,
>> >>
>> >> Is there any reason you didn't switch over to one-bundle-per-3rdparty
>> jar?
>> >>
>> >
>> > I couldn't get the itest/osgi-tuscany tests to pass and ran out of
>> > time :-( .  I've tried with the latest and most are now passing, but I
>> > still have 6 or 7 failures (varies).
>> >
>> >> I have replaced the manifest.jar file in itest/osgi-tuscany with an
>> >> osgi-installer.jar which accepts both absolute and relative pathnames
>> for
>> >> jar files. The tests generate and use absolute pathnames, avoiding jar
>> >> copying. If we add this to the distribution, we can continue to use
>> relative
>> >> pathnames to make the file portable.
>> >>
>> >
>> > That's great, thanks!  I'll take a look and give it a go with the
>> > Calculator sample.
>> >
>> >> Now itest/osgi-tuscany typically takes around 5.5 minutes to run on my
>> T61,
>> >> and uses 50MB disk space for around 190 bundles. itest/osgi-tuscany
>> >> currently runs around 28 samples using OSGi bundle contributions for the
>> >> samples, and reruns 16 of these using non-OSGi contributions (ie, URL
>> >> classloaders for the contributions, OSGi classloaders for Tuscany). For
>> the
>> >> calculator sample, I imagine the lowest that you can bring the time down
>> to
>> >> may be around 30 seconds (down from 1 minute that you are currently able
>> to
>> >> get). Apart from removing the manifest as Simon suggested (which will
>> >> improve both timing and disk usage), I am not sure it is worth putting
>> too
>> >> much time into performance of the sample at this stage. You should be
>> able
>> >> to use the osgi-installer from itest/osgi-tuscany as is, if you are
>> happy to
>> >> use one-bundle-per-3rdparty jar.
>> >>
>> >
>> > I agree about the performance point.  I think 1 minute is a small
>> sacrifice.
>> >
>> >> BTW, I had switched itest/osgi-tuscany to running under Equinox by
>> default a
>> >> few days ago since Felix performance was degrading too much as we added
>> more
>> >> and more bundles.
>> >>
>> >
>> > I noticed you'd switched over.  I'll try the same.
>> >
>> >>
>> >> On 5/16/08, Simon Nash <[EMAIL PROTECTED]> wrote:
>> >>>
>> >>> Graham Charters wrote:
>> >>>
>> >>>> Below are a couple of runs, one taking 2 mins 50s and the second
>> >>>> taking 1 min 8s.  Both were done after mvn cleans so the difference is
>> >>>> maybe due to my machine being under spec and paging.
>> >>>>
>> >>>> [INFO]
>> >>>>
>> 
>> >>>> [INFO] Reactor Summary:
>> >>>> [INFO]
>> >>>>
>> 
>> >>>> [INFO] Apache Tuscany OSGi - Tuscany 3rdParty Manifest Bundle for
>> >>>> Calculator Sample  SUCCESS [1:06.859s]
>> >>>> [INFO] Apache Tuscany OSGi - Tuscany Manifest Bundle for Calculator
>> >>>> Sample  SUCCESS [31.297s]
>> >>>> [INFO] Calculator Sample Running in an OSGi Framework  SUCCESS
>> >>>> [1:07.594s]
>> >>>> [INFO] Calculator Sample Running in an OSGi Framework  SUCCESS
>> >>>> [4.687s]
>> >>>> [INFO]
>> >>>>
>> 

[jira] Created: (TUSCANY-2330) Calculator sample running in OSGi

2008-05-20 Thread Graham Charters (JIRA)
Calculator sample running in OSGi
-

 Key: TUSCANY-2330
 URL: https://issues.apache.org/jira/browse/TUSCANY-2330
 Project: Tuscany
  Issue Type: Wish
  Components: Java SCA Samples
Affects Versions: Java-SCA-Next
 Environment: All
Reporter: Graham Charters
 Fix For: Java-SCA-Next


It would help with preserving OSGi support if an OSGi sample were run as a 
matter of course, rather than only by a small number of developers.  This wish 
is to add the smallest sample possible based on existing Tuscany module 
dependencies.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



Re: Small OSGi sample for the main build?

2008-05-19 Thread Graham Charters
Hi,

I now have the Calculator sample running using all the great work
Rajini did to use Equinox, 1 bundle per third-party library, and
absolute jar paths.  It results in 119 bundles, uses 19MB and takes
about 50 seconds to run.  If folks are ok with this, I will create a
Jira and submit it as a patch for inclusion in the samples main build.

Regards, Graham.

2008/5/19 Graham Charters <[EMAIL PROTECTED]>:
> Hi Rajini,
>
> 2008/5/18 Rajini Sivaram <[EMAIL PROTECTED]>:
>> Graham,
>>
>> Is there any reason you didn't switch over to one-bundle-per-3rdparty jar?
>>
>
> I couldn't get the itest/osgi-tuscany tests to pass and ran out of
> time :-( .  I've tried with the latest and most are now passing, but I
> still have 6 or 7 failures (varies).
>
>> I have replaced the manifest.jar file in itest/osgi-tuscany with an
>> osgi-installer.jar which accepts both absolute and relative pathnames for
>> jar files. The tests generate and use absolute pathnames, avoiding jar
>> copying. If we add this to the distribution, we can continue to use relative
>> pathnames to make the file portable.
>>
>
> That's great, thanks!  I'll take a look and give it a go with the
> Calculator sample.
>
>> Now itest/osgi-tuscany typically takes around 5.5 minutes to run on my T61,
>> and uses 50MB disk space for around 190 bundles. itest/osgi-tuscany
>> currently runs around 28 samples using OSGi bundle contributions for the
>> samples, and reruns 16 of these using non-OSGi contributions (ie, URL
>> classloaders for the contributions, OSGi classloaders for Tuscany). For the
>> calculator sample, I imagine the lowest that you can bring the time down to
>> may be around 30 seconds (down from 1 minute that you are currently able to
>> get). Apart from removing the manifest as Simon suggested (which will
>> improve both timing and disk usage), I am not sure it is worth putting too
>> much time into performance of the sample at this stage. You should be able
>> to use the osgi-installer from itest/osgi-tuscany as is, if you are happy to
>> use one-bundle-per-3rdparty jar.
>>
>
> I agree about the performance point.  I think 1 minute is a small sacrifice.
>
>> BTW, I had switched itest/osgi-tuscany to running under Equinox by default a
>> few days ago since Felix performance was degrading too much as we added more
>> and more bundles.
>>
>
> I noticed you'd switched over.  I'll try the same.
>
>>
>> On 5/16/08, Simon Nash <[EMAIL PROTECTED]> wrote:
>>>
>>> Graham Charters wrote:
>>>
>>>> Below are a couple of runs, one taking 2 mins 50s and the second
>>>> taking 1 min 8s.  Both were done after mvn cleans so the difference is
>>>> maybe due to my machine being under spec and paging.
>>>>
>>>> [INFO]
>>>> 
>>>> [INFO] Reactor Summary:
>>>> [INFO]
>>>> 
>>>> [INFO] Apache Tuscany OSGi - Tuscany 3rdParty Manifest Bundle for
>>>> Calculator Sample  SUCCESS [1:06.859s]
>>>> [INFO] Apache Tuscany OSGi - Tuscany Manifest Bundle for Calculator
>>>> Sample  SUCCESS [31.297s]
>>>> [INFO] Calculator Sample Running in an OSGi Framework  SUCCESS
>>>> [1:07.594s]
>>>> [INFO] Calculator Sample Running in an OSGi Framework  SUCCESS
>>>> [4.687s]
>>>> [INFO]
>>>> 
>>>>
>>>> [INFO]
>>>> 
>>>> [INFO] Reactor Summary:
>>>> [INFO]
>>>> 
>>>> [INFO] Apache Tuscany OSGi - Tuscany 3rdParty Manifest Bundle for
>>>> Calculator Sample  SUCCESS [35.406s]
>>>> [INFO] Apache Tuscany OSGi - Tuscany Manifest Bundle for Calculator
>>>> Sample  SUCCESS [7.281s]
>>>> [INFO] Calculator Sample Running in an OSGi Framework  SUCCESS
>>>> [24.172s]
>>>> [INFO] Calculator Sample Running in an OSGi Framework  SUCCESS
>>>> [0.969s]
>>>> [INFO]
>>>> 
>>>>
>>>> From the above, it seems that the major time cost is the building of
>>> the manifest bundles.  Graham's earlier not

Re: Small OSGi sample for the main build?

2008-05-19 Thread Graham Charters
Hi Rajini,

2008/5/18 Rajini Sivaram <[EMAIL PROTECTED]>:
> Graham,
>
> Is there any reason you didn't switch over to one-bundle-per-3rdparty jar?
>

I couldn't get the itest/osgi-tuscany tests to pass and ran out of
time :-( .  I've tried with the latest and most are now passing, but I
still have 6 or 7 failures (varies).

> I have replaced the manifest.jar file in itest/osgi-tuscany with an
> osgi-installer.jar which accepts both absolute and relative pathnames for
> jar files. The tests generate and use absolute pathnames, avoiding jar
> copying. If we add this to the distribution, we can continue to use relative
> pathnames to make the file portable.
>

That's great, thanks!  I'll take a look and give it a go with the
Calculator sample.

> Now itest/osgi-tuscany typically takes around 5.5 minutes to run on my T61,
> and uses 50MB disk space for around 190 bundles. itest/osgi-tuscany
> currently runs around 28 samples using OSGi bundle contributions for the
> samples, and reruns 16 of these using non-OSGi contributions (ie, URL
> classloaders for the contributions, OSGi classloaders for Tuscany). For the
> calculator sample, I imagine the lowest that you can bring the time down to
> may be around 30 seconds (down from 1 minute that you are currently able to
> get). Apart from removing the manifest as Simon suggested (which will
> improve both timing and disk usage), I am not sure it is worth putting too
> much time into performance of the sample at this stage. You should be able
> to use the osgi-installer from itest/osgi-tuscany as is, if you are happy to
> use one-bundle-per-3rdparty jar.
>

I agree about the performance point.  I think 1 minute is a small sacrifice.

> BTW, I had switched itest/osgi-tuscany to running under Equinox by default a
> few days ago since Felix performance was degrading too much as we added more
> and more bundles.
>

I noticed you'd switched over.  I'll try the same.

>
> On 5/16/08, Simon Nash <[EMAIL PROTECTED]> wrote:
>>
>> Graham Charters wrote:
>>
>>> Below are a couple of runs, one taking 2 mins 50s and the second
>>> taking 1 min 8s.  Both were done after mvn cleans so the difference is
>>> maybe due to my machine being under spec and paging.
>>>
>>> [INFO]
>>> 
>>> [INFO] Reactor Summary:
>>> [INFO]
>>> 
>>> [INFO] Apache Tuscany OSGi - Tuscany 3rdParty Manifest Bundle for
>>> Calculator Sample  SUCCESS [1:06.859s]
>>> [INFO] Apache Tuscany OSGi - Tuscany Manifest Bundle for Calculator
>>> Sample  SUCCESS [31.297s]
>>> [INFO] Calculator Sample Running in an OSGi Framework  SUCCESS
>>> [1:07.594s]
>>> [INFO] Calculator Sample Running in an OSGi Framework  SUCCESS
>>> [4.687s]
>>> [INFO]
>>> 
>>>
>>> [INFO]
>>> 
>>> [INFO] Reactor Summary:
>>> [INFO]
>>> 
>>> [INFO] Apache Tuscany OSGi - Tuscany 3rdParty Manifest Bundle for
>>> Calculator Sample  SUCCESS [35.406s]
>>> [INFO] Apache Tuscany OSGi - Tuscany Manifest Bundle for Calculator
>>> Sample  SUCCESS [7.281s]
>>> [INFO] Calculator Sample Running in an OSGi Framework  SUCCESS
>>> [24.172s]
>>> [INFO] Calculator Sample Running in an OSGi Framework  SUCCESS
>>> [0.969s]
>>> [INFO]
>>> 
>>>
>>> From the above, it seems that the major time cost is the building of
>> the manifest bundles.  Graham's earlier note said that the third-party
>> manifest bundle consumes 17.5MB of disk space.
>>
>> Could the time and space overheads be reduced by building virtual
>> bundles (or a single virtual bundle) for the third-party libraries?
>> As I understand it, this would save 17.5MB of disk space (as the
>> third party libraries are already in my maven repo), and it would
>> presumably take less time as nothing would need to be written to disk.
>>
>>  Simon
>>
>>
>>> 2008/5/16 Simon Laws <[EMAIL PROTECTED]>:
>>>
>>>> On Fri, May 16, 2008 at 1:05 PM, Simon Laws <[EMAIL PROTECTED]>
>>>> wrote:
>>>>
>>>>
>>>>> On Fri, May 16, 2008

Re: Small OSGi sample for the main build?

2008-05-16 Thread Graham Charters
Below are a couple of runs, one taking 2 mins 50s and the second
taking 1 min 8s.  Both were done after mvn cleans so the difference is
maybe due to my machine being under spec and paging.

[INFO] 
[INFO] Reactor Summary:
[INFO] 
[INFO] Apache Tuscany OSGi - Tuscany 3rdParty Manifest Bundle for
Calculator Sample  SUCCESS [1:06.859s]
[INFO] Apache Tuscany OSGi - Tuscany Manifest Bundle for Calculator
Sample  SUCCESS [31.297s]
[INFO] Calculator Sample Running in an OSGi Framework  SUCCESS
[1:07.594s]
[INFO] Calculator Sample Running in an OSGi Framework  SUCCESS [4.687s]
[INFO] 

[INFO] 
[INFO] Reactor Summary:
[INFO] 
[INFO] Apache Tuscany OSGi - Tuscany 3rdParty Manifest Bundle for
Calculator Sample  SUCCESS [35.406s]
[INFO] Apache Tuscany OSGi - Tuscany Manifest Bundle for Calculator
Sample  SUCCESS [7.281s]
[INFO] Calculator Sample Running in an OSGi Framework  SUCCESS [24.172s]
[INFO] Calculator Sample Running in an OSGi Framework  SUCCESS [0.969s]
[INFO] 


2008/5/16 Simon Laws <[EMAIL PROTECTED]>:
> On Fri, May 16, 2008 at 1:05 PM, Simon Laws <[EMAIL PROTECTED]>
> wrote:
>
>>
>>
>> On Fri, May 16, 2008 at 12:44 PM, Graham Charters <
>> [EMAIL PROTECTED]> wrote:
>>
>>> Hi,
>>>
>>> Regarding Mike's build breaking comment, one of the reasons for
>>> including this in the main build is to have it break to flag when new
>>> dependencies are being introduced.  This will help us focus on
>>> improving Tuscany modularity, but also help us preserve the support
>>> for running in OSGi.  It will also give us a place to focus on keeping
>>> the core small.
>>>
>>> I now have what I think is the smallest subset of modules, based on
>>> current dependencies.  My previous attempt took the approach of
>>> cutting down a distribution, but the latest was created by adding to
>>> the dependencies of the basic Calculator.  The net result is 47
>>> bundles, 49MB (33MB felix cache and 16MB third-party jars) and takes
>>> about 2.5 mins to build and run which does not seem like a big delta
>>> over and above the time taken to do a full Tuscany build and run all
>>> the samples.
>>>
>>> The sca modules which are installed are:
>>>
>>> tuscany-assembly-2.0-incubating-SNAPSHOT.jar
>>> tuscany-assembly-xml-2.0-incubating-SNAPSHOT.jar
>>> tuscany-assembly-xsd-2.0-incubating-SNAPSHOT.jar
>>> tuscany-binding-sca-2.0-incubating-SNAPSHOT.jar
>>> tuscany-contribution-2.0-incubating-SNAPSHOT.jar
>>> tuscany-contribution-impl-2.0-incubating-SNAPSHOT.jar
>>> tuscany-contribution-java-2.0-incubating-SNAPSHOT.jar
>>> tuscany-contribution-namespace-2.0-incubating-SNAPSHOT.jar
>>> tuscany-contribution-osgi-2.0-incubating-SNAPSHOT.jar
>>> tuscany-contribution-resource-2.0-incubating-SNAPSHOT.jar
>>> tuscany-contribution-xml-2.0-incubating-SNAPSHOT.jar
>>> tuscany-core-2.0-incubating-SNAPSHOT.jar
>>> tuscany-core-spi-2.0-incubating-SNAPSHOT.jar
>>> tuscany-databinding-2.0-incubating-SNAPSHOT.jar
>>> tuscany-databinding-json-2.0-incubating-SNAPSHOT.jar
>>> tuscany-definitions-2.0-incubating-SNAPSHOT.jar
>>> tuscany-definitions-xml-2.0-incubating-SNAPSHOT.jar
>>> tuscany-domain-2.0-incubating-SNAPSHOT.jar
>>> tuscany-domain-api-2.0-incubating-SNAPSHOT.jar
>>> tuscany-domain-impl-2.0-incubating-SNAPSHOT.jar
>>> tuscany-extensibility-2.0-incubating-SNAPSHOT.jar
>>> tuscany-host-embedded-2.0-incubating-SNAPSHOT.jar
>>> tuscany-host-http-2.0-incubating-SNAPSHOT.jar
>>> tuscany-implementation-java-2.0-incubating-SNAPSHOT.jar
>>> tuscany-implementation-java-runtime-2.0-incubating-SNAPSHOT.jar
>>> tuscany-implementation-java-xml-2.0-incubating-SNAPSHOT.jar
>>> tuscany-interface-2.0-incubating-SNAPSHOT.jar
>>> tuscany-interface-java-2.0-incubating-SNAPSHOT.jar
>>> tuscany-interface-java-jaxws-2.0-incubating-SNAPSHOT.jar
>>> tuscany-interface-java-xml-2.0-incubating-SNAPSHOT.jar
>>> tuscany-interface-wsdl-2.0-incubating-SNAPSHOT.jar
>>> tuscany-interface-wsdl-java2wsdl-2.0-incubating-SNAPSHOT.jar
>>> tuscany-interface-wsdl-xml-2.0-incubating-SNAPSHOT.jar
>>

Re: Small OSGi sample for the main build?

2008-05-16 Thread Graham Charters
Hi,

Regarding Mike's build breaking comment, one of the reasons for
including this in the main build is to have it break to flag when new
dependencies are being introduced.  This will help us focus on
improving Tuscany modularity, but also help us preserve the support
for running in OSGi.  It will also give us a place to focus on keeping
the core small.

I now have what I think is the smallest subset of modules, based on
current dependencies.  My previous attempt took the approach of
cutting down a distribution, but the latest was created by adding to
the dependencies of the basic Calculator.  The net result is 47
bundles, 49MB (33MB felix cache and 16MB third-party jars) and takes
about 2.5 mins to build and run which does not seem like a big delta
over and above the time taken to do a full Tuscany build and run all
the samples.

The sca modules which are installed are:

tuscany-assembly-2.0-incubating-SNAPSHOT.jar
tuscany-assembly-xml-2.0-incubating-SNAPSHOT.jar
tuscany-assembly-xsd-2.0-incubating-SNAPSHOT.jar
tuscany-binding-sca-2.0-incubating-SNAPSHOT.jar
tuscany-contribution-2.0-incubating-SNAPSHOT.jar
tuscany-contribution-impl-2.0-incubating-SNAPSHOT.jar
tuscany-contribution-java-2.0-incubating-SNAPSHOT.jar
tuscany-contribution-namespace-2.0-incubating-SNAPSHOT.jar
tuscany-contribution-osgi-2.0-incubating-SNAPSHOT.jar
tuscany-contribution-resource-2.0-incubating-SNAPSHOT.jar
tuscany-contribution-xml-2.0-incubating-SNAPSHOT.jar
tuscany-core-2.0-incubating-SNAPSHOT.jar
tuscany-core-spi-2.0-incubating-SNAPSHOT.jar
tuscany-databinding-2.0-incubating-SNAPSHOT.jar
tuscany-databinding-json-2.0-incubating-SNAPSHOT.jar
tuscany-definitions-2.0-incubating-SNAPSHOT.jar
tuscany-definitions-xml-2.0-incubating-SNAPSHOT.jar
tuscany-domain-2.0-incubating-SNAPSHOT.jar
tuscany-domain-api-2.0-incubating-SNAPSHOT.jar
tuscany-domain-impl-2.0-incubating-SNAPSHOT.jar
tuscany-extensibility-2.0-incubating-SNAPSHOT.jar
tuscany-host-embedded-2.0-incubating-SNAPSHOT.jar
tuscany-host-http-2.0-incubating-SNAPSHOT.jar
tuscany-implementation-java-2.0-incubating-SNAPSHOT.jar
tuscany-implementation-java-runtime-2.0-incubating-SNAPSHOT.jar
tuscany-implementation-java-xml-2.0-incubating-SNAPSHOT.jar
tuscany-interface-2.0-incubating-SNAPSHOT.jar
tuscany-interface-java-2.0-incubating-SNAPSHOT.jar
tuscany-interface-java-jaxws-2.0-incubating-SNAPSHOT.jar
tuscany-interface-java-xml-2.0-incubating-SNAPSHOT.jar
tuscany-interface-wsdl-2.0-incubating-SNAPSHOT.jar
tuscany-interface-wsdl-java2wsdl-2.0-incubating-SNAPSHOT.jar
tuscany-interface-wsdl-xml-2.0-incubating-SNAPSHOT.jar
tuscany-monitor-2.0-incubating-SNAPSHOT.jar
tuscany-node-2.0-incubating-SNAPSHOT.jar
tuscany-node-api-2.0-incubating-SNAPSHOT.jar
tuscany-node-impl-2.0-incubating-SNAPSHOT.jar
tuscany-osgi-runtime-2.0-incubating-SNAPSHOT.jar
tuscany-policy-2.0-incubating-SNAPSHOT.jar
tuscany-policy-security-2.0-incubating-SNAPSHOT.jar
tuscany-policy-security-ws-2.0-incubating-SNAPSHOT.jar
tuscany-policy-xml-2.0-incubating-SNAPSHOT.jar
tuscany-policy-xml-ws-2.0-incubating-SNAPSHOT.jar
tuscany-sca-api-2.0-incubating-SNAPSHOT.jar

The third-party jars (currently installed in a single bundle) are:

activation-1.1.jar
addressing-1.3.mar
annogen-0.1.0.jar
avalon-framework-4.1.3.jar
axiom-api-1.2.5.jar
axiom-dom-1.2.5.jar
axiom-impl-1.2.5.jar
axis2-adb-1.3.jar
axis2-adb-codegen-1.3.jar
axis2-codegen-1.3.jar
axis2-java2wsdl-1.3.jar
axis2-kernel-1.3.jar
axis2-mtompolicy-1.3.jar
backport-util-concurrent-2.2.jar
bcprov-jdk15-132.jar
cglib-nodep-2.1_3.jar
commons-codec-1.3.jar
commons-collections-3.1.jar
commons-discovery-0.2.jar
commons-fileupload-1.1.1.jar
commons-httpclient-3.0.1.jar
commons-io-1.2.jar
commons-logging-1.1.jar
geronimo-activation_1.1_spec-1.0-M1.jar
geronimo-commonj_1.1_spec-1.0.jar
geronimo-javamail_1.4_spec-1.0-M1.jar
geronimo-jms_1.1_spec-1.1.jar
httpcore-4.0-alpha5.jar
httpcore-nio-4.0-alpha5.jar
httpcore-niossl-4.0-alpha5.jar
jaxb-api-2.1.jar
jaxb-impl-2.1.6.jar
jaxb2-reflection-2.1.4.jar
jaxen-1.1-beta-9.jar
jaxws-api-2.1.jar
jettison-1.0.jar
json-rpc-1.0.jar
jsr181-api-1.0-MR1.jar
jsr250-api-1.0.jar
junit-4.2.jar
log4j-1.2.12.jar
logkit-1.0.1.jar
mail-1.4.jar
neethi-2.0.2.jar
opensaml-1.1.jar
org.apache.felix.bundlerepository-1.1.0-SNAPSHOT.jar
org.apache.felix.framework-1.1.0-SNAPSHOT.jar
org.apache.felix.main-1.1.0-SNAPSHOT.jar
org.apache.felix.shell-1.1.0-SNAPSHOT.jar
org.apache.felix.shell.tui-1.1.0-SNAPSHOT.jar
org.osgi.core-1.0.0.jar
rampart-core-1.3.jar
rampart-policy-1.3.jar
rampart-trust-1.3.jar
saaj-api-1.3.jar
servlet-api-2.4.jar
stax-api-1.0-2.jar
stax-api-1.0.1.jar
woden-1.0-incubating-M7b.jar
wsdl4j-1.6.2.jar
wss4j-1.5.3.jar
wstx-asl-3.2.1.jar
xalan-2.7.0.jar
xercesImpl-2.8.1.jar
xml-apis-1.3.03.jar
XmlSchema-1.3.2.jar
xmlsec-1.4.0.jar

Let me know what you think?

Regards,

Graham.


2008/5/15 Mike Edwards <[EMAIL PROTECTED]>:
> Graham Charters wrote:
>>
>> Hi,
>>
>> I've been working on a small sample to act as an 

Small OSGi sample for the main build?

2008-05-14 Thread Graham Charters
Hi,

I've been working on a small sample to act as an OSGi "sniff test" for
Tuscany running in OSGi.  It's basically a cut-down version of what
Rajini has done in itest/osgi-tuscany and only runs the most basic
Calculator sample.  I still have some work to do to exclude all the
things which aren't required and also perhaps move it to use the
latest "1 manifest per 3rd party jar" approach.

Currently the sample takes ~3 mins to build and run and uses 56MB.
The main space usage is 17.5MB for the third-party dependencies and
35MB for the Felix bundle cache (61 bundles in total).  The full
Tuscany (itest/osgi-tuscany) using the same third-party library
approach is 151 bundles and 133MB total.

I'd like to understand whether people feel this would be useful and
whether it is approaching the kind of overhead that would be
acceptable for it to be included in the main build?

Regards, Graham.


Re: Need some help

2008-05-12 Thread Graham Charters
+1 to the SCA and PHP integration.  If you're interested, I would be
more than happy to help smooth the way with the associated SCA_SDO
project on PECL (http://pecl.php.net/package/SCA_SDO).

Regards, Graham.

2008/5/8 Simon Nash <[EMAIL PROTECTED]>:
>
> Simon Laws wrote:
>
> > On Thu, May 8, 2008 at 8:48 PM, Charuka Jayarathna
> <[EMAIL PROTECTED]>
> > wrote:
> >
> >
> > > Dear all,
> > >
> > > I am a Masters student in Georgia State University, and hope to work
> > > on my Theses with some contribution to Tuscany. My adviser is fine
> > > with my suggestion to take over a Tuscany project and work on that as
> > > for my theses. He advises me to take over a project which has enough
> > > intellectual contribution as well as it should be a novel idea
> > > resulting a publishable paper at the end. I appreciate if you can help
> > > me finding some potential areas having above requirements fulfilled.
> > >
> > > Thank you
> > > Charuka
> > >
> > >
> >
> > Hi Charuka, welcome to Tuscany!
> >
> > We'd love to have you work with us on a Tuscany project. As it happens we
> > went through a process a couple of months ago to come up with project
> ideas
> > for Google Summer of Code this year. See the list we came up with here [1]
> > as a starting point. Some of these projects are already being done by GSoC
> > students. See the selected project proposals on this page [2]. It's
> probably
> > not a good idea to take on one that is already being done.
> >
> > What we need is a new page listing all the current project ideas we have
> > that people aren't working on. Luciano may have done this already and I'm
> > sure he will point us to it if he has. If not this is just the kind of
> > motivation we need to go and create one ;-)
> >
> > I'm sure we can come up with lots of other ideas so take a look at the
> list
> > that's there and I'm sure people will post with new things here in due
> > course.
> >
> > Regards
> >
> > Simon
> >
> > [1]
> >
> http://cwiki.apache.org/confluence/display/TUSCANYWIKI/Google+Summer+of+Code+%282008%29
> > [2]
> >
> http://cwiki.apache.org/confluence/display/TUSCANYWIKI/Google+Summer+of+Code+%282008%29+Applications
> >
> >
>  There was a proposal for SCA and PHP integration.  It was added
>  quite late and I don't believe anyone has taken it on.  Is this
>  of any possible interest?
>
>   Simon
>


Re: build failure in store-test

2008-05-06 Thread Graham Charters
I updated this morning and also saw the Segmentation Fault.  I've
since re-run and now only see the Exception.  Further up on the build
there's also the following SQL Exception:

INFO: Starting node: http://localhost:9990/node-config/StoreClientNode
Connecting to database: jdbc:derby:directory:C:\Tuscany\java\sca\tutorial\store-
test/../store-supplier/target/cart-db
06-May-2008 15:44:59 org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet /ShoppingCart/Cart/* threw exception
SQL Exception: Failed to start database 'directory:C:\Tuscany\java\sca\tutorial\
store-test/../store-supplier/target/cart-db', see the next exception for details
.
at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown Source)
at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown Source)
at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown Source
)
at org.apache.derby.impl.jdbc.EmbedConnection.newSQLException(Unknown So
urce)
at org.apache.derby.impl.jdbc.EmbedConnection.bootDatabase(Unknown Sourc
e)
at org.apache.derby.impl.jdbc.EmbedConnection.(Unknown Source)
at org.apache.derby.jdbc.Driver30.getNewEmbedConnection(Unknown Source)
at org.apache.derby.jdbc.InternalDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(DriverManager.java:562)
at java.sql.DriverManager.getConnection(DriverManager.java:186)
at services.db.ShoppingCartTableImpl.init(ShoppingCartTableImpl.java:54)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:64)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:615)
at org.apache.tuscany.sca.implementation.java.invocation.MethodEventInvo
ker.invokeEvent(MethodEventInvoker.java:43)
at org.apache.tuscany.sca.implementation.java.context.ReflectiveInstance
Wrapper.start(ReflectiveInstanceWrapper.java:46)
at org.apache.tuscany.sca.core.scope.StatelessScopeContainer.getWrapper(
StatelessScopeContainer.java:39)
at org.apache.tuscany.sca.implementation.java.invocation.JavaImplementat
ionInvoker.invoke(JavaImplementationInvoker.java:89)
at org.apache.tuscany.sca.core.databinding.wire.PassByValueInterceptor.i
nvoke(PassByValueInterceptor.java:103)
at org.apache.tuscany.sca.binding.atom.provider.AtomBindingListenerServl
et.doDelete(AtomBindingListenerServlet.java:527)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:733)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
alve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
alve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
ava:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
ava:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
ve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
a:263)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proce
ss(Http11Protocol.java:584)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoin
t.java:354)
at org.apache.tuscany.sca.core.work.Jsr237Work.run(Jsr237Work.java:61)
at org.apache.tuscany.sca.core.work.ThreadPoolWorkManager$DecoratingWork
.run(ThreadPoolWorkManager.java:219)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExec
utor.java:665)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
.java:690)
at java.lang.Thread.run(Thread.java:803)
06-May-2008 15:44:59 org.apache.tuscany.sca.node.impl.NodeImpl stop
INFO: Stopping node: http://localhost:9990/node-config/StoreSupplierNode
06-May-2008 15:44:59 org.apache.tuscany.sca.node.impl.NodeImpl stop
INFO: Stopping node: http://localhost:9990/node-config/CatalogsNode
06-May-2008 15:44:59 org.apache.tuscany.sca.node.impl.NodeImpl stop
INFO: Stopping node: http://localhost:9990/node-config/StoreClientNode
06-May-2008 15:44:59 org.apache.coyote.http11.Http11Protocol destroy
INFO: Stopping Coyote HTTP/1.1 on http-9990
Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 56.703 sec <<< F
AILURE!
testShop(test.StoreSupplierTestCase)  Time elapsed: 56.625 sec  <<< ERROR!
org.osoa.sca.ServiceRuntimeException: HTTP status code: 

[jira] Updated: (TUSCANY-2285) Make sca-api automatically build as an OSGi bundle

2008-05-02 Thread Graham Charters (JIRA)

 [ 
https://issues.apache.org/jira/browse/TUSCANY-2285?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Graham Charters updated TUSCANY-2285:
-

Attachment: sca-api-bundle-2.patch

The following patch logically results in the same changes as the previous 
patch.  The key difference is it only uses maven bundle plugin to create the 
manifest and then uses maven jar plugin to build the jar file (previously maven 
bundle plugin was also being used to build the jar).

> Make sca-api automatically build as an OSGi bundle
> --
>
> Key: TUSCANY-2285
> URL: https://issues.apache.org/jira/browse/TUSCANY-2285
> Project: Tuscany
>  Issue Type: Improvement
>  Components: Java SCA Core Runtime, Java SCA OSGi Integration
>Affects Versions: Java-SCA-Next
> Environment: All
>Reporter: Graham Charters
>Priority: Minor
> Fix For: Java-SCA-Next
>
> Attachments: sca-api-bundle-2.patch, sca-api-bundle.patch
>
>   Original Estimate: 0.5h
>  Remaining Estimate: 0.5h
>
> Itest/osgi-tuscany creates an OSGi bundle for the sca-api module.  As a step 
> towards providing better support for OSGi, it has been suggested on the 
> dev-list that we simply make sca-api automatically build as an OSGi bundle.  
> This does not preclude it being used as a normal jar.
> I have a patch which I will attached shortly.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



Re: Improving support for running in OSGi

2008-05-02 Thread Graham Charters
Hi Rajini,

FWIW, I agree with starting with 1.  I missed your earlier note saying
you'd be happy to contribute code to do this.  Please let me know what
I can do to help.  I'm particularly interested in the 'virtual bundle'
idea.  I took a look at the way the samples are run in
itest/osgi-tuscany and now I have a better understanding, I agree,
it's not as much work as I first thought (fear of the unknown ;-) ).
I think the challenge will be in finding the right design to enable it
for third-party libraries so it's usable and flexible enough.  Perhaps
you already have thoughts on this?

I was a little surprised you didn't suggest 3 as a stepping stone
towards 4 (I guess the '"half-hearted" comment was a bit of a
give-away ;-) ).  I agree it's not ideal from a modularity perspective
but it does have the advantage that I think it could be introduced a
lot sooner than 4 and would therefore accelerate sensitizing folks to
the issues.

Regards, Graham.

2008/5/2 Rajini Sivaram <[EMAIL PROTECTED]>:
> On 5/1/08, Jean-Sebastien Delfino <[EMAIL PROTECTED]> wrote:
>
>
>
> > Graham Charters wrote:
>  >
>  > > It would seem that the fine-grained/coarse-grained thoughts have
>  > > people divided.  Rajini's note (aside from the fact she has a tonne of
>  > > experience having done most, if not all, of the OSGi work in Tuscany)
>  > > paints a picture where the two are not mutually exclusive.  I don't
>  > > typically like doing two options because that seems like indecision,
>  > > but in this case they do appear to complement each other.
>  > >
>  > > Based on what I've seen in this thread, I'm hoping this briefly
>  > > summarizes the collection of thoughts on how we might proceed:
>  > >
>  > > Tuscany Running in OSGi
>  > >
>  > > 1.  Add bundle manifests to all the Tuscany modules (using maven
>  > > bundle plugin).  This will ensure the most fine-grained decomposition
>  > > works and therefore coarser-grained distributions will also work.
>  > > 2.  Add a distribution which creates bundles around manageable
>  > > collections of Tuscany modules aligned with how we see the runtime
>  > > being extended/subsetted/replaced.  Have this build and test on
>  > > Continuum.
>  > > 3.  Create 'virtual bundles' for third-party libraries to avoid
>  > > licensing and disk space issues (based on Rajini's suggestions, which
>  > > I need to better understand).
>  > > 4.  Provide guidance on the wiki on how to avoid breaking OSGi.
>  > >
>  > > There's also the suggestion that implementation.osgi relate to
>  > > Distributed OSGi (RFC 119), which shouldn't be lost.
>  > >
>  > > Have I missed anything?
>  > >
>  > > It sounds like a staging of 1 & 3 first, followed by 2 would work (and
>  > > 4 if things keep breaking :-( ).  I'd be concerned if we didn't get to
>  > > 2, and as part of 1&3, we need to make sure these are regularly tested
>  > > under osgi.
>  > >
>  > >
>  > Sounds good to me, with the following comments:
>  >
>  > When you have (1) + (3) you can already run a continuum OSGi build, before
>  > attacking (2). I'd actually suggest to start building on continuum as soon
>  > as we have (1).
>  >
>  > - I'm not clear on what you meant by 'use the Maven bundle plugin'. Will
>  > we write something like this for example:
>  > 
>  >  ...
>  >  bundle
>  >  ...
>  >  
>  >org.apache.felix
>  >maven-bundle-plugin
>  >true
>  >
>  >  
>  >org.apache.tuscany.sca.foo
>  >org.apache.tuscany.sca.bar
>  >org.apache.tuscany.sca.impl.*
>  >  
>  >
>  >  
>  > ...
>
>
>
>  I think we have four options on how we start bundle-izing Tuscany modules,
>  using maven-bundle-plugin.
>
>
>  1. Use the manifest goal to generate the manifest entry in all module jars,
>  with * and
>  *, which export all the packages from the
>  module and import everything used by the module. The Export-Package and
>  Import-Package statements in the generated manifest will use explicit
>  package import/exports like:
>
>  Import-Package:
>  
> javax.xml.namespace,javax.xml.parsers,org.apache.tuscany.sca.contribution.resolver,...
>  Export-Package:
>  
> org.apache.tuscany.sca.implementation.osgi;version="2.0";uses:="o.a.t.s.assembly",/...
>
>
>  The analysis of Import/Export will be 

Re: [jira] Commented: (TUSCANY-2285) Make sca-api automatically build as an OSGi bundle

2008-05-02 Thread Graham Charters
Hi Raymond, I've modified the pom to follow the approach you
suggested.  I need to do a full Tuscany rebuild so will submit an
updated patch when I know it works.

I agree with Rajini that it would be good to understand the bundle
goal problem so we can fix it (or get it fixed).

Regards, Graham.

2008/5/2 Rajini Sivaram (JIRA) :
>
>
> [ 
> https://issues.apache.org/jira/browse/TUSCANY-2285?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12593731#action_12593731
>  ]
>
>  Rajini Sivaram commented on TUSCANY-2285:
>  -
>
>  Raymond,
>
>  Was the issue with maven-bundle-plugin and SDO related to building on JDK 
> 1.4 (which is not supported with Tuscany-SCA)? If not, could you describe the 
> problem and/or how to recreate it? We can use the manifest goal for sca-api, 
> but we may want to use bundle/bundleall goals to generate the high-level 
> combinations for distribution. I am sure the Felix team will help to fix the 
> problem if we can identify what the issue was.
>
>  Thank you...
>
>
>  > Make sca-api automatically build as an OSGi bundle
>  > --
>  >
>  > Key: TUSCANY-2285
>  > URL: https://issues.apache.org/jira/browse/TUSCANY-2285
>  > Project: Tuscany
>  >  Issue Type: Improvement
>  >  Components: Java SCA Core Runtime, Java SCA OSGi Integration
>  >Affects Versions: Java-SCA-Next
>  > Environment: All
>  >Reporter: Graham Charters
>  >Priority: Minor
>  > Fix For: Java-SCA-Next
>  >
>  > Attachments: sca-api-bundle.patch
>  >
>  >   Original Estimate: 0.5h
>  >  Remaining Estimate: 0.5h
>  >
>  > Itest/osgi-tuscany creates an OSGi bundle for the sca-api module.  As a 
> step towards providing better support for OSGi, it has been suggested on the 
> dev-list that we simply make sca-api automatically build as an OSGi bundle.  
> This does not preclude it being used as a normal jar.
>  > I have a patch which I will attached shortly.
>
>  --
>  This message is automatically generated by JIRA.
>  -
>  You can reply to this email to add a comment to the issue online.
>
>


Re: Improving support for running in OSGi

2008-05-01 Thread Graham Charters
It would seem that the fine-grained/coarse-grained thoughts have
people divided.  Rajini's note (aside from the fact she has a tonne of
experience having done most, if not all, of the OSGi work in Tuscany)
paints a picture where the two are not mutually exclusive.  I don't
typically like doing two options because that seems like indecision,
but in this case they do appear to complement each other.

Based on what I've seen in this thread, I'm hoping this briefly
summarizes the collection of thoughts on how we might proceed:

Tuscany Running in OSGi

1.  Add bundle manifests to all the Tuscany modules (using maven
bundle plugin).  This will ensure the most fine-grained decomposition
works and therefore coarser-grained distributions will also work.
2.  Add a distribution which creates bundles around manageable
collections of Tuscany modules aligned with how we see the runtime
being extended/subsetted/replaced.  Have this build and test on
Continuum.
3.  Create 'virtual bundles' for third-party libraries to avoid
licensing and disk space issues (based on Rajini's suggestions, which
I need to better understand).
4.  Provide guidance on the wiki on how to avoid breaking OSGi.

There's also the suggestion that implementation.osgi relate to
Distributed OSGi (RFC 119), which shouldn't be lost.

Have I missed anything?

It sounds like a staging of 1 & 3 first, followed by 2 would work (and
4 if things keep breaking :-( ).  I'd be concerned if we didn't get to
2, and as part of 1&3, we need to make sure these are regularly tested
under osgi.


2008/5/1 Mike Edwards <[EMAIL PROTECTED]>:
>
> Simon Laws wrote:
>
> > On Thu, May 1, 2008 at 10:03 AM, Rajini Sivaram <
> > [EMAIL PROTECTED]> wrote:
> >
> >
> > > On 5/1/08, Jean-Sebastien Delfino <[EMAIL PROTECTED]> wrote:
> > >
> > > > My 2c:
> > > >
> > > > +1 to promote OSGi to a first class Tuscany runtime environment
> > > >
> > > > +1 for an OSGi continuum build (thinking about a build profile that'll
> > > >
> > > run
> > >
> > > > the Tuscany itest suite in an OSGi environment, similar to the
> profiles
> > > >
> > > we
> > >
> > > > have for Web containers for example)
> > > >
> > > > Here's what I imagined we'd do:
> > > > 1. add OSGi entries to each of our JAR manifests
> > > > 2. have developers maintain them and pay attention to imports/exports
> > > > 3. use the OSGi build to detect API and SPI import/export violations
> > > > 4. find the best way to OSGi-enable 3rd party dependency JARs
> > > >
> > > > I realize that my suggestion [1] is not very popular and most people
> on
> > > > this list would prefer to come up with bigger bundles grouping several
> > > >
> > > of
> > >
> > > > our JARs/modules. I don't think that the 'bigger aggregate bundle'
> > > >
> > > approach
> > >
> > > > will work, but I'll be happy to watch people try it :) if they  want
> to.
> > > >
> > > > With respect to [4] I find rather funny to see many projects out there
> > > > claim OSGi enablement without having OSGified their 3rd party
> > > >
> > > dependencies.
> > >
> > > > I wonder how that works, can an OSGi-enabled project really leverage
> the
> > > > OSGi classloader isolation and versioning capabilities when 99% of the
> > > >
> > > JARs
> > >
> > > > it requires are not OSGi bundles? I must be missing something... and I
> > > >
> > > hope
> > >
> > > > we can do better in Tuscany with a real end-to-end OSGi enablement
> story
> > > >
> > > :)
> > >
> > > > --
> > > > Jean-Sebastien
> > > >
> > > >
> > >
> > > I agree with Sebastien's suggestions1-4. But I would like to suggest a
> > > slight variation to the first suggestion.
> > >
> > >
> > >  1. Use maven-bundle-plugin to introduce OSGi manifest entries into all
> > >  the Tuscany modules, with auto-generated import/export statements.
> > > Modify
> > >  itest/osgi-tuscany to run these modules under OSGi, with all 3rd party
> > > jars
> > >  installed into OSGi using virtual bundles created on the fly.
> > >
> > > This step will provide a version of osgi-tuscany tests that is less
> prone
> > > to
> > > breakage than the one we have today. It will also help fix any remaining
> > > classloading issues that we have left in Tuscany (and hopefully help
> > > in maintaining the classloader isolation). This is not a big piece of
> work
> > > since this is just bringing together the different pieces that we
> already
> > > have. I will be happy to contribute the code towards this first step, so
> > > others can concentrate on what we really want to achieve in terms of
> > > modularity, distribution etc. We can also use this step to explore
> > > versioning - in particular about having multiple extensions referring to
> > > different versions of 3rd party libraries. This will be very useful for
> 4.
> > >
> > > Suggestions 2-3 are not requirements for OSGi, but these are clearly
> cases
> > > where OSGi technology can help Tuscany improve modularity. If we want to
> > > have explicitly hard-coded import/export statements in the m

[jira] Updated: (TUSCANY-2285) Make sca-api automatically build as an OSGi bundle

2008-05-01 Thread Graham Charters (JIRA)

 [ 
https://issues.apache.org/jira/browse/TUSCANY-2285?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Graham Charters updated TUSCANY-2285:
-

Attachment: sca-api-bundle.patch

The patch does the following:

Updates the sca-api pom to build that module as a bundle.
Removes sca-api from itest/osgi-tuscany.
Updates itest/osgi-tuscany to use the bundle from modules/sca-api.

You will need to do a 'mvn clean' in itest/osgi-tuscany in order to clear out 
the felix cache, otherwise you may get problems with bundle symbolic name and 
version not being unique (because the old one is still in the cache).

> Make sca-api automatically build as an OSGi bundle
> --
>
> Key: TUSCANY-2285
> URL: https://issues.apache.org/jira/browse/TUSCANY-2285
> Project: Tuscany
>  Issue Type: Improvement
>  Components: Java SCA Core Runtime, Java SCA OSGi Integration
>Affects Versions: Java-SCA-Next
> Environment: All
>Reporter: Graham Charters
>Priority: Minor
> Fix For: Java-SCA-Next
>
> Attachments: sca-api-bundle.patch
>
>   Original Estimate: 0.5h
>  Remaining Estimate: 0.5h
>
> Itest/osgi-tuscany creates an OSGi bundle for the sca-api module.  As a step 
> towards providing better support for OSGi, it has been suggested on the 
> dev-list that we simply make sca-api automatically build as an OSGi bundle.  
> This does not preclude it being used as a normal jar.
> I have a patch which I will attached shortly.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Created: (TUSCANY-2285) Make sca-api automatically build as an OSGi bundle

2008-05-01 Thread Graham Charters (JIRA)
Make sca-api automatically build as an OSGi bundle
--

 Key: TUSCANY-2285
 URL: https://issues.apache.org/jira/browse/TUSCANY-2285
 Project: Tuscany
  Issue Type: Improvement
  Components: Java SCA Core Runtime, Java SCA OSGi Integration
Affects Versions: Java-SCA-Next
 Environment: All
Reporter: Graham Charters
Priority: Minor
 Fix For: Java-SCA-Next


Itest/osgi-tuscany creates an OSGi bundle for the sca-api module.  As a step 
towards providing better support for OSGi, it has been suggested on the 
dev-list that we simply make sca-api automatically build as an OSGi bundle.  
This does not preclude it being used as a normal jar.

I have a patch which I will attached shortly.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



Re: Improving support for running in OSGi

2008-04-30 Thread Graham Charters
Hi Raymond, thanks for your comments.  I've added some more below.

Regards, Graham.

2008/4/30 Raymond Feng <[EMAIL PROTECTED]>:
> More comments inline.
>
>  Thanks,
>  Raymond
>  ------
>  From: "Graham Charters" <[EMAIL PROTECTED]>
>  Sent: Wednesday, April 30, 2008 9:43 AM
>
>  To: 
>  Subject: Re: Improving support for running in OSGi
>
>
> > 2008/4/30 Raymond Feng <[EMAIL PROTECTED]>:
> >
> > > "Enforcing" the modularity via OSGi is a good way to validate our
> > > modularity/extensibility story in Tuscany. I think we already have a
> fairly
> > > well organized module structure in Tuscany (from the maven dependency
> > > perspective). To be consistent, should we consider directly mapping our
> > > module structure into OSGi bundles (one bundle per existing Tuscany
> module)?
> > >
> > >
> >
> > I wonder if that might be too fine-grained and unmanageable.
> > Personally, I'd prefer an approach which took into consideration how
> > we see folks extending or sub-setting the runtime (e.g. the things
> > Yang referred to - implementation types, etc.).
> >
> >
>
>  IMHO, big bundles lead to defeat modularity and increase coupling. It also
> become difficult to embed subset of the Tuscany runtime. But anyway, we can
> adjust the scheme over time as the picture becomes clearer.
>
>

To a certain extent I agree with you, but there's also a school of
thought that says when adopting OSGi it's best to start with big
modules and then decompose as understanding grows.  I think the
thought processes we go through will ensure we end up with the right
modules that match the requirements, such as runtime subsetting.

>
> >
> > >  There may be different levels for the OSGi enablement.
> > >
> > >  1) Add OSGi entries to the META-INF/MANIFEST.MF so that Tuscany jars
> can be
> > > consumed as OSGi bundles
> > >  2) Run Tuscany bundles with an OSGi runtime (using OSGi as the
> > > modularization mechanism for the Tuscany runtime, system level)
> > >
> >
> > I think we need this step to occur regularly and frequently to stop
> > the support decaying.  I've fixed these kinds of issues twice in the
> > last week, which occur because new modules are added to Tuscany, but
> > not the OSGi support (not surprising since the OSGi support is outside
> > the main build).
> >
> >
>
>  Is there a checklist we can use to make sure new modules or changes won't
> break the OSGi support? If not, can we produce one and post it to the
> Tuscany wiki?
>
>

I think we could produce a checklist to help folks.  It would also be
nice to make it easier for people to get things right without it.  The
idea of updating the module structure to reflect the bundles we create
is interesting.  I guess if the number of bundles is changing rapidly
then this might be a bit painful.  We could also have the bundles
build on continuum so we find problems earlier.  Having everyone build
the bundles might not be acceptable.

>
> >
> > >  3) Support OSGi bundles as SCA contributions (application level, how
> does
> > > the OSGi import/export relate to the sca-contributions.xml?).
> > >
> > >  The other interesting issue is how we deal with the 3rd party jars,
> most of
> > > which are not OSGi bundles. To support the case that different Tuscany
> > > extensions may require different versions of the same 3rd party jar, we
> need
> > > to figure out a good way to "turn" 3rd party jars into OSGi bundles.
> > >
> > >
> >
> > This is a knotty problem.  It's not a new problem and is discussed
> > here:  https://mail.osgi.org/pipermail/jsr-291-eg/2006-March/23.html
> >
> > Licensing and signing can prevent us from adding information to the
> > jars, which leaves us with three options, I think:
> >
> > 1.  Create wrapper bundles which contain the jars, which raises
> > concerns about disk space.
> > 2.  Use a non-OSGi mechanism to refer to jars outside a bundle
> > (Equinox allows this).
> > 3.  Devise a new mechanism to create 'virtual bundles' on the fly (see
> > https://www.osgi.org/members/bugzilla/show_bug.cgi?id=277).
> >
> >
>
>  Unfortunately, the URL requires a log-in. Is it possible to post the
> content here?
>

My apologies, I hadn't realized this was a member bug and therefore
required access (I must have already been logged in when I tested it).
 I can't paste in the details, but I can summ

Re: Improving support for running in OSGi

2008-04-30 Thread Graham Charters
2008/4/30 Raymond Feng <[EMAIL PROTECTED]>:
> "Enforcing" the modularity via OSGi is a good way to validate our
> modularity/extensibility story in Tuscany. I think we already have a fairly
> well organized module structure in Tuscany (from the maven dependency
> perspective). To be consistent, should we consider directly mapping our
> module structure into OSGi bundles (one bundle per existing Tuscany module)?
>

I wonder if that might be too fine-grained and unmanageable.
Personally, I'd prefer an approach which took into consideration how
we see folks extending or sub-setting the runtime (e.g. the things
Yang referred to - implementation types, etc.).

>  There may be different levels for the OSGi enablement.
>
>  1) Add OSGi entries to the META-INF/MANIFEST.MF so that Tuscany jars can be
> consumed as OSGi bundles
>  2) Run Tuscany bundles with an OSGi runtime (using OSGi as the
> modularization mechanism for the Tuscany runtime, system level)

I think we need this step to occur regularly and frequently to stop
the support decaying.  I've fixed these kinds of issues twice in the
last week, which occur because new modules are added to Tuscany, but
not the OSGi support (not surprising since the OSGi support is outside
the main build).

>  3) Support OSGi bundles as SCA contributions (application level, how does
> the OSGi import/export relate to the sca-contributions.xml?).
>
>  The other interesting issue is how we deal with the 3rd party jars, most of
> which are not OSGi bundles. To support the case that different Tuscany
> extensions may require different versions of the same 3rd party jar, we need
> to figure out a good way to "turn" 3rd party jars into OSGi bundles.
>

This is a knotty problem.  It's not a new problem and is discussed
here:  https://mail.osgi.org/pipermail/jsr-291-eg/2006-March/23.html

Licensing and signing can prevent us from adding information to the
jars, which leaves us with three options, I think:

1.  Create wrapper bundles which contain the jars, which raises
concerns about disk space.
2.  Use a non-OSGi mechanism to refer to jars outside a bundle
(Equinox allows this).
3.  Devise a new mechanism to create 'virtual bundles' on the fly (see
https://www.osgi.org/members/bugzilla/show_bug.cgi?id=277).

3 might be the best solution longer term, but is the most work.

>  Thanks,
>  Raymond
>
>  --
>  From: "Yang Lei" <[EMAIL PROTECTED]>
>  Sent: Tuesday, April 29, 2008 9:09 PM
>  To: 
>  Subject: Re: Improving support for running in OSGi
>
>
>
>
> > I think enabling OSGI can help modularity with a clear definition of
> > package visibility, so we can have a much cleaner "module"
> > dependencies through osgi bundle import/export on package.   I think
> > it will help Tuscany adopters a lot in the scenarios such as: when
> > implementing new implementation type, binding type, or data binding
> > types, there is clear indication which set of packages can be used
> > (exported API/SPI ). So upgrading to new Tuscany level can be as
> > simple as plug and play if there is no API/SPI changes, and  version
> > control (multiple version co-existence) can also be made available
> > through OSGI capabilities.
> >
> > Regards,
> >
> > Yang
> >
> > On Tue, Apr 29, 2008 at 1:49 PM, Konradi, Philipp (CT)
> > <[EMAIL PROTECTED]> wrote:
> >
> > > Hi,
> > >
> > > > I'd like to get people's thoughts on whether the idea of 'promoting'
> > > > OSGi is a good one,
> > > IMHO support of OSGi is very important and I glad to see increasing
> interest of the community here.
> > >
> > > > and get ideas on how best to proceed.
> > > I personally have currently not a very deep insight into implementation
> details yet, but we are currently prototyping and have there also OSGi
> services.
> > > What I could offer today is only to feed our findings about limitations
> and rooms for improvement back.
> > > Another important thing which I see on the horizon, is the ongoing
> standardization of Distributed OSGi (RFC119) and the benefit to support that
> standard in Tuscany's OSGi bits. So from mid-term perspective I suggest to
> keep an eye on that as well.
> > >
> > > Regards,
> > > Philipp
> > >
> > > -Ursprüngliche Nachricht-
> > > Von: Graham Charters [mailto:[EMAIL PROTECTED]
> > > Gesendet: Montag, 28. April 2008 09:48
> > > An: tuscany-dev@ws.apache.org
> > > Betreff: Improving support for running in OSGi
> > >
> > >
> 

Re: Improving support for running in OSGi

2008-04-30 Thread Graham Charters
Irrespective of the versioning question, the current 5 module
breakdown does not go as far as individual implementation types,
binding types and so on.  I'm presuming here that the goal would be to
be able to add/remove/replace things at that level rather than
requiring the entire 'extensions' bundle to be refreshed, for example?

2008/4/30 Simon Nash <[EMAIL PROTECTED]>:
> Yang Lei wrote:
>
> > I think enabling OSGI can help modularity with a clear definition of
> > package visibility, so we can have a much cleaner "module"
> > dependencies through osgi bundle import/export on package.   I think
> > it will help Tuscany adopters a lot in the scenarios such as: when
> > implementing new implementation type, binding type, or data binding
> > types, there is clear indication which set of packages can be used
> > (exported API/SPI ). So upgrading to new Tuscany level can be as
> > simple as plug and play if there is no API/SPI changes, and  version
> > control (multiple version co-existence) can also be made available
> > through OSGI capabilities.
> >
> >
>  +1 for the benefits to modularity.  For versioning, I see the value
>  more in terms of allowing multiple versions of third-party dependencies
>  to coexist, rather than having multiple versions of some parts of
>  Tuscany loaded at the same time.  Are there any scenarios that would
>  require the latter?
>
>   Simon
>
>
>
>
> > Regards,
> >
> > Yang
> >
> > On Tue, Apr 29, 2008 at 1:49 PM, Konradi, Philipp (CT)
> > <[EMAIL PROTECTED]> wrote:
> >
> > > Hi,
> > >
> > >
> > > > I'd like to get people's thoughts on whether the idea of 'promoting'
> > > > OSGi is a good one,
> > > >
> > > IMHO support of OSGi is very important and I glad to see increasing
> interest of the community here.
> > >
> > >
> > > > and get ideas on how best to proceed.
> > > >
> > > I personally have currently not a very deep insight into implementation
> details yet, but we are currently prototyping and have there also OSGi
> services.
> > > What I could offer today is only to feed our findings about limitations
> and rooms for improvement back.
> > > Another important thing which I see on the horizon, is the ongoing
> standardization of Distributed OSGi (RFC119) and the benefit to support that
> standard in Tuscany's OSGi bits. So from mid-term perspective I suggest to
> keep an eye on that as well.
> > >
> > > Regards,
> > > Philipp
> > >
> > > -Ursprüngliche Nachricht-
> > > Von: Graham Charters [mailto:[EMAIL PROTECTED]
> > > Gesendet: Montag, 28. April 2008 09:48
> > > An: tuscany-dev@ws.apache.org
> > > Betreff: Improving support for running in OSGi
> > >
> > >
> > > Hi All,
> > >
> > > I'd like to get more involved in the OSGi support in Tuscany (both the
> > > modularity work (itest/osgi-tuscany) and the implementation.osgi).  I
> > > recently started looking at the work to run Tuscany in OSGi, embodied
> > > in itest/osgi-tuscany and described in the thread entitled
> > > "Classloading in Tuscany".  I've noticed a couple of others on the
> > > list also interested in Tuscany running in OSGi and wondered if it
> > > might be worth considering making this a "first-class" option.  At the
> > > moment the five bundles are only built by folks who want the OSGi
> > > support and go into the itest/osgi-tuscany directory to create it.
> > > This can result in any problems being discovered late, but also could
> > > create the impression that OSGi is considered a second-class
> > > environment (which I don't believe is the case).
> > >
> > > Aside from the obvious benefits to OSGi users in doing this, I think
> > > there's a potential for Tuscany to use the OSGi build as a test-bed
> > > for highlighting and working through modularity issues, which would
> > > also benefit Tuscany in general, not just in an OSGi runtime.
> > >
> > > I'd like to get people's thoughts on whether the idea of 'promoting'
> > > OSGi is a good one, and get ideas on how best to proceed.  We could
> > > then start discussing what some of the issues might be (e.g. size of
> > > builds, time to build, etc...).
> > >
> > > Regards,
> > >
> > > Graham.
> > >
> > >
> >
> >
> >
>
>


Re: Improving support for running in OSGi

2008-04-30 Thread Graham Charters
Hi Philipp, thanks for your comments.  I think any feedback/findings
you have would be very valuable input.  I think the the Distributed
OSGi angle is interesting from the perspective of implementation.osgi.

Regards, Graham.

2008/4/29 Konradi, Philipp (CT) <[EMAIL PROTECTED]>:
> Hi,
>
>
>  > I'd like to get people's thoughts on whether the idea of 'promoting'
>  > OSGi is a good one,
>  IMHO support of OSGi is very important and I glad to see increasing interest 
> of the community here.
>
>
>  > and get ideas on how best to proceed.
>  I personally have currently not a very deep insight into implementation 
> details yet, but we are currently prototyping and have there also OSGi 
> services.
>  What I could offer today is only to feed our findings about limitations and 
> rooms for improvement back.
>  Another important thing which I see on the horizon, is the ongoing 
> standardization of Distributed OSGi (RFC119) and the benefit to support that 
> standard in Tuscany's OSGi bits. So from mid-term perspective I suggest to 
> keep an eye on that as well.
>
>  Regards,
>  Philipp
>
>  -Ursprüngliche Nachricht-
>  Von: Graham Charters [mailto:[EMAIL PROTECTED]
>  Gesendet: Montag, 28. April 2008 09:48
>  An: tuscany-dev@ws.apache.org
>  Betreff: Improving support for running in OSGi
>
>
>
>  Hi All,
>
>  I'd like to get more involved in the OSGi support in Tuscany (both the
>  modularity work (itest/osgi-tuscany) and the implementation.osgi).  I
>  recently started looking at the work to run Tuscany in OSGi, embodied
>  in itest/osgi-tuscany and described in the thread entitled
>  "Classloading in Tuscany".  I've noticed a couple of others on the
>  list also interested in Tuscany running in OSGi and wondered if it
>  might be worth considering making this a "first-class" option.  At the
>  moment the five bundles are only built by folks who want the OSGi
>  support and go into the itest/osgi-tuscany directory to create it.
>  This can result in any problems being discovered late, but also could
>  create the impression that OSGi is considered a second-class
>  environment (which I don't believe is the case).
>
>  Aside from the obvious benefits to OSGi users in doing this, I think
>  there's a potential for Tuscany to use the OSGi build as a test-bed
>  for highlighting and working through modularity issues, which would
>  also benefit Tuscany in general, not just in an OSGi runtime.
>
>  I'd like to get people's thoughts on whether the idea of 'promoting'
>  OSGi is a good one, and get ideas on how best to proceed.  We could
>  then start discussing what some of the issues might be (e.g. size of
>  builds, time to build, etc...).
>
>  Regards,
>
>  Graham.
>


[jira] Updated: (TUSCANY-2279) itest/osgi-tuscany broken (policy-ws missing)

2008-04-30 Thread Graham Charters (JIRA)

 [ 
https://issues.apache.org/jira/browse/TUSCANY-2279?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Graham Charters updated TUSCANY-2279:
-

Attachment: Jira-2279-policy-ws-missing.patch

The following add tuscany-policy-security-ws to the extensions dependencies 
fixing the problem with the bundles created in itest/osgi-tuscany.

> itest/osgi-tuscany broken (policy-ws missing)
> -
>
> Key: TUSCANY-2279
> URL: https://issues.apache.org/jira/browse/TUSCANY-2279
> Project: Tuscany
>  Issue Type: Bug
>  Components: Java SCA OSGi Integration
>Affects Versions: Java-SCA-Next
> Environment: All
>Reporter: Graham Charters
>Priority: Minor
> Fix For: Java-SCA-Next
>
> Attachments: Jira-2279-policy-ws-missing.patch
>
>   Original Estimate: 0.5h
>  Remaining Estimate: 0.5h
>
> Looks like there's a new policy-ws module which has not been added to 
> itest/osgi-tuscany so the dependency is missing, which results in the package 
> not being available.
> I have a fix which I will attach shortly.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Created: (TUSCANY-2279) itest/osgi-tuscany broken (policy-ws missing)

2008-04-30 Thread Graham Charters (JIRA)
itest/osgi-tuscany broken (policy-ws missing)
-

 Key: TUSCANY-2279
 URL: https://issues.apache.org/jira/browse/TUSCANY-2279
 Project: Tuscany
  Issue Type: Bug
  Components: Java SCA OSGi Integration
Affects Versions: Java-SCA-Next
 Environment: All
Reporter: Graham Charters
Priority: Minor
 Fix For: Java-SCA-Next


Looks like there's a new policy-ws module which has not been added to 
itest/osgi-tuscany so the dependency is missing, which results in the package 
not being available.

I have a fix which I will attach shortly.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



Re: Improving support for running in OSGi

2008-04-29 Thread Graham Charters
Hi Simon,

2008/4/28 Simon Laws <[EMAIL PROTECTED]>:
> On Mon, Apr 28, 2008 at 1:15 PM, Graham Charters <[EMAIL PROTECTED]>
>
>
> wrote:
>
>  > Hi Ant,
>  >
>  > Thanks for the pointer to the earlier discussion.  I can empathise
>  > with the problems Rajini was trying to address by having
>  > itest/osgi-tuscany built regularly and automatically.  As for the
>  > sca-api, yes we could add the bundle manifest automatically and that
>  > would be very low hanging fruit.  We can do this because it happens to
>  > match one of the five bundles created in itest/osgi-tuscany.  My
>  > concern would be that this doesn't seem to address the main issues
>  > which Rajini originally raised.  We would need to do something
>  > different for the other 4 bundles (or however many we might build in
>  > the future).
>  >
>  >
>  > Regards,
>  >
>  > Graham.
>  >
>  > On 28/04/2008, ant elder <[EMAIL PROTECTED]> wrote:
>  > > On Mon, Apr 28, 2008 at 8:48 AM, Graham Charters <
>  > [EMAIL PROTECTED]>
>  > >  wrote:
>  > >
>  > >
>  > >  > Hi All,
>  > >  >
>  > >  > I'd like to get more involved in the OSGi support in Tuscany (both
>  > the
>  > >  > modularity work (itest/osgi-tuscany) and the implementation.osgi).  I
>  > >  > recently started looking at the work to run Tuscany in OSGi, embodied
>  > >  > in itest/osgi-tuscany and described in the thread entitled
>  > >  > "Classloading in Tuscany".  I've noticed a couple of others on the
>  > >  > list also interested in Tuscany running in OSGi and wondered if it
>  > >  > might be worth considering making this a "first-class" option.  At
>  > the
>  > >  > moment the five bundles are only built by folks who want the OSGi
>  > >  > support and go into the itest/osgi-tuscany directory to create it.
>  > >  > This can result in any problems being discovered late, but also could
>  > >  > create the impression that OSGi is considered a second-class
>  > >  > environment (which I don't believe is the case).
>  > >  >
>  > >  > Aside from the obvious benefits to OSGi users in doing this, I think
>  > >  > there's a potential for Tuscany to use the OSGi build as a test-bed
>  > >  > for highlighting and working through modularity issues, which would
>  > >  > also benefit Tuscany in general, not just in an OSGi runtime.
>  > >  >
>  > >  > I'd like to get people's thoughts on whether the idea of 'promoting'
>  > >  > OSGi is a good one, and get ideas on how best to proceed.  We could
>  > >  > then start discussing what some of the issues might be (e.g. size of
>  > >  > builds, time to build, etc...).
>  > >  >
>  > >  > Regards,
>  > >  >
>  > >  > Graham.
>  > >  >
>  > >
>  > >
>  > > Sounds good to me - having you get more involved in Tuscany, making OSGi
>  > >  support a more first class part of Tuscany, using that to help improve
>  > >  Tuscany modularity - they all seem like fine things. I agree it would
>  > be
>  > >  good to promote Tuscany using OSGi, there's growing interest in using
>  > OSGi
>  > >  and having good Tuscany OSGi integration can only help improve adoption
>  > and
>  > >  our user base.
>  > >
>  > >  As a small step in this direction how about making the Tuscany sca-api
>  > >  module a proper OSGi bundle as discussed here -
>  > >  http://apache.markmail.org/message/hf5ekr3dpnlzrrcn
>  > >
>  > >
>  > >...ant
>  > >
>  >
>
>  Graham
>
>  Sounds like a good idea to me too. Also just doing the sca-api in the first
>  case, as Ant suggests, starts us off down the road of testing
>  multi-classloader configurations. I'm assuming that some of the osgi-tuscany
>  testing can be used to make sure it does work.

I'm not sure how much this really helps.  We can build the bundle by
default, but will still need to do the other bundles in order to test.

>
>  Thinking about the wider generation of bundles. IMHO to make this work the
>  association of modules with bundles needs to be business as usual rather and
>  an extra pom to edit as it is now, e.g. could be through reorganizing
>  modules into a new directory structure or associating some parameter with a
>  module which indicates which bundle it is in. This needs som

Re: Improving support for running in OSGi

2008-04-28 Thread Graham Charters
Hi Ant,

Thanks for the pointer to the earlier discussion.  I can empathise
with the problems Rajini was trying to address by having
itest/osgi-tuscany built regularly and automatically.  As for the
sca-api, yes we could add the bundle manifest automatically and that
would be very low hanging fruit.  We can do this because it happens to
match one of the five bundles created in itest/osgi-tuscany.  My
concern would be that this doesn't seem to address the main issues
which Rajini originally raised.  We would need to do something
different for the other 4 bundles (or however many we might build in
the future).


Regards,

Graham.

On 28/04/2008, ant elder <[EMAIL PROTECTED]> wrote:
> On Mon, Apr 28, 2008 at 8:48 AM, Graham Charters <[EMAIL PROTECTED]>
>  wrote:
>
>
>  > Hi All,
>  >
>  > I'd like to get more involved in the OSGi support in Tuscany (both the
>  > modularity work (itest/osgi-tuscany) and the implementation.osgi).  I
>  > recently started looking at the work to run Tuscany in OSGi, embodied
>  > in itest/osgi-tuscany and described in the thread entitled
>  > "Classloading in Tuscany".  I've noticed a couple of others on the
>  > list also interested in Tuscany running in OSGi and wondered if it
>  > might be worth considering making this a "first-class" option.  At the
>  > moment the five bundles are only built by folks who want the OSGi
>  > support and go into the itest/osgi-tuscany directory to create it.
>  > This can result in any problems being discovered late, but also could
>  > create the impression that OSGi is considered a second-class
>  > environment (which I don't believe is the case).
>  >
>  > Aside from the obvious benefits to OSGi users in doing this, I think
>  > there's a potential for Tuscany to use the OSGi build as a test-bed
>  > for highlighting and working through modularity issues, which would
>  > also benefit Tuscany in general, not just in an OSGi runtime.
>  >
>  > I'd like to get people's thoughts on whether the idea of 'promoting'
>  > OSGi is a good one, and get ideas on how best to proceed.  We could
>  > then start discussing what some of the issues might be (e.g. size of
>  > builds, time to build, etc...).
>  >
>  > Regards,
>  >
>  > Graham.
>  >
>
>
> Sounds good to me - having you get more involved in Tuscany, making OSGi
>  support a more first class part of Tuscany, using that to help improve
>  Tuscany modularity - they all seem like fine things. I agree it would be
>  good to promote Tuscany using OSGi, there's growing interest in using OSGi
>  and having good Tuscany OSGi integration can only help improve adoption and
>  our user base.
>
>  As a small step in this direction how about making the Tuscany sca-api
>  module a proper OSGi bundle as discussed here -
>  http://apache.markmail.org/message/hf5ekr3dpnlzrrcn
>
>
>...ant
>


Improving support for running in OSGi

2008-04-28 Thread Graham Charters
Hi All,

I'd like to get more involved in the OSGi support in Tuscany (both the
modularity work (itest/osgi-tuscany) and the implementation.osgi).  I
recently started looking at the work to run Tuscany in OSGi, embodied
in itest/osgi-tuscany and described in the thread entitled
"Classloading in Tuscany".  I've noticed a couple of others on the
list also interested in Tuscany running in OSGi and wondered if it
might be worth considering making this a "first-class" option.  At the
moment the five bundles are only built by folks who want the OSGi
support and go into the itest/osgi-tuscany directory to create it.
This can result in any problems being discovered late, but also could
create the impression that OSGi is considered a second-class
environment (which I don't believe is the case).

Aside from the obvious benefits to OSGi users in doing this, I think
there's a potential for Tuscany to use the OSGi build as a test-bed
for highlighting and working through modularity issues, which would
also benefit Tuscany in general, not just in an OSGi runtime.

I'd like to get people's thoughts on whether the idea of 'promoting'
OSGi is a good one, and get ideas on how best to proceed.  We could
then start discussing what some of the issues might be (e.g. size of
builds, time to build, etc...).

Regards,

Graham.


[jira] Updated: (TUSCANY-2254) Test failures in itest/osgi-tuscany (monitor missing)

2008-04-22 Thread Graham Charters (JIRA)

 [ 
https://issues.apache.org/jira/browse/TUSCANY-2254?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Graham Charters updated TUSCANY-2254:
-

Attachment: osgi-tuscany-patch.patch

The following adds tuscany-monitor to the tuscany-runtime bundle and 
tuscany-monitor-logging to the tuscany-extensions bundle, built by 
itest/osgi-tuscany.

> Test failures in itest/osgi-tuscany (monitor missing)
> -
>
> Key: TUSCANY-2254
> URL: https://issues.apache.org/jira/browse/TUSCANY-2254
> Project: Tuscany
>  Issue Type: Bug
>  Components: Java SCA Core Runtime
>Affects Versions: Java-SCA-Next
> Environment: Found on Windows, but affects all.
>Reporter: Graham Charters
>Priority: Minor
> Fix For: Java-SCA-Next
>
> Attachments: osgi-tuscany-patch.patch
>
>   Original Estimate: 0.5h
>  Remaining Estimate: 0.5h
>
> The newly added monitor modules, tuscany-monitor and tuscany-monitor-logging 
> ,cause itest/osgi-tuscany to fail because they have not been added to the 
> dependencies for the tuscany osgi bundles.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Created: (TUSCANY-2254) Test failures in itest/osgi-tuscany (monitor missing)

2008-04-22 Thread Graham Charters (JIRA)
Test failures in itest/osgi-tuscany (monitor missing)
-

 Key: TUSCANY-2254
 URL: https://issues.apache.org/jira/browse/TUSCANY-2254
 Project: Tuscany
  Issue Type: Bug
  Components: Java SCA Core Runtime
Affects Versions: Java-SCA-Next
 Environment: Found on Windows, but affects all.
Reporter: Graham Charters
Priority: Minor
 Fix For: Java-SCA-Next


The newly added monitor modules, tuscany-monitor and tuscany-monitor-logging 
,cause itest/osgi-tuscany to fail because they have not been added to the 
dependencies for the tuscany osgi bundles.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



Re: ApacheCon US submissions

2008-04-01 Thread Graham Charters
Hi Simon, what you describe is exactly what I had in mind :-)

Regards, Graham.

On 01/04/2008, Simon Nash <[EMAIL PROTECTED]> wrote:
> Graham Charters wrote:
>  > Hi All,
>  >
>  > Is anyone thinking of submitting an abstract to ApacheCon US?  FYI:
>  > The deadline is Thursday April 3rd (see
>  > http://www.us.apachecon.com/us2008/).
>  >
>  > A quick search for "SOA" or "Tuscany" on the current submissions gave
>  > no hits, so I'm assuming there aren't any so far.  I was thinking of
>  > submitting one talking about the use of Apache Felix for modularizing
>  > of Apache Tuscany (lesson learned from applying modularity after the
>  > fact...)...giving LOTS of credit to Rajini!!
>  >
>
> For a succcessful submission it's necessary to have a topic that's
>  of broad appeal, which generally means it should provide practical
>  hands-on information that people can use.  So you'ld need to use
>  the Tuscany/Felix experience to draw out practical lessons and best
>  practices for modularity that people can apply to their own projects.
>  If this is what you have in mind, I think it's a good candidate for
>  submission.
>
>
>Simon
>
> >
>  > Regards,  Graham.
>  >
>  > -
>  > To unsubscribe, e-mail: [EMAIL PROTECTED]
>  > For additional commands, e-mail: [EMAIL PROTECTED]
>  >
>  >
>
>
>  -
>  To unsubscribe, e-mail: [EMAIL PROTECTED]
>  For additional commands, e-mail: [EMAIL PROTECTED]
>
>

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



ApacheCon US submissions

2008-04-01 Thread Graham Charters
Hi All,

Is anyone thinking of submitting an abstract to ApacheCon US?  FYI:
The deadline is Thursday April 3rd (see
http://www.us.apachecon.com/us2008/).

A quick search for "SOA" or "Tuscany" on the current submissions gave
no hits, so I'm assuming there aren't any so far.  I was thinking of
submitting one talking about the use of Apache Felix for modularizing
of Apache Tuscany (lesson learned from applying modularity after the
fact...)...giving LOTS of credit to Rajini!!


Regards,  Graham.

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



[jira] Updated: (TUSCANY-2068) itest/osgi-implementation is broken due to recent changes

2008-03-14 Thread Graham Charters (JIRA)

 [ 
https://issues.apache.org/jira/browse/TUSCANY-2068?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Graham Charters updated TUSCANY-2068:
-

Attachment: implementation.osgi.txt

This patch fixes the passbyreference (using the new DataExchangeSemantics 
interface) and callback problems in implementation.osgi.  All 
implementation.osgi unit tests should pass once applied.

> itest/osgi-implementation is broken due to recent changes
> -
>
> Key: TUSCANY-2068
> URL: https://issues.apache.org/jira/browse/TUSCANY-2068
> Project: Tuscany
>  Issue Type: Bug
>  Components: Java SCA OSGi Integration
>Reporter: Rajini Sivaram
>Assignee: Rajini Sivaram
> Fix For: Java-SCA-1.2
>
> Attachments: implementation.osgi.txt
>
>
> Recent changes related to Pass-by-value and callbacks have broken many of the 
> itest/osgi-implementationt tests. The tests need to be added back to the 
> itest pom to ensure that breakages are caught earlier.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



[jira] Created: (TUSCANY-1632) Serialization of xsd:token allows invalid content in SDO C++

2007-08-29 Thread Graham Charters (JIRA)
Serialization of xsd:token allows invalid content in SDO C++


 Key: TUSCANY-1632
 URL: https://issues.apache.org/jira/browse/TUSCANY-1632
 Project: Tuscany
  Issue Type: Bug
  Components: C++ SDO
Reporter: Graham Charters
Priority: Minor


I can define an SDO based on an xml schema which uses the type xsd:token.  This 
is mapped to a String SDO type.  I can then create an SDO based off this model 
and set the string value of that property to something like "foo  bar   
 ".  This is invalid against the schema (xsd:token), but valid against the SDO 
model (string), so I wouldn't necessarily expect an error or warning at this 
point.  I can then write out the SDO as XML and it writes out the string value 
"foo  bar" which is not valid against the xml schama.  I would 
expect the data to either be modified to be serialized out following the schema 
(e.g. "foo bar"), or some kind of warning/error to be generated.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



[jira] Created: (TUSCANY-1631) Support Decimal in SDO C++

2007-08-29 Thread Graham Charters (JIRA)
Support Decimal in SDO C++
--

 Key: TUSCANY-1631
 URL: https://issues.apache.org/jira/browse/TUSCANY-1631
 Project: Tuscany
  Issue Type: Improvement
  Components: C++ SDO, C++ Specification
Reporter: Graham Charters
Priority: Minor


The SDO C++ spec does not address Decimal.  The current Tuscany implementation 
uses String to represent Decimal to avoid loss of precision.  It does not 
internally know that the type is Decimal nor surface any APIs (e.g. 
set/getDecimal) and therefore there is no validation that the values provided 
are correct.  This can cause problems when a schema defines an xsd:decimal 
type.  An SDO based on that schema will allow an application to set the data to 
any string and this value can then be serialized out and is invalid against the 
schema.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Intermittent exception from itest\osgi-implementation suite

2007-07-20 Thread Graham Charters

Apologies for the lack of response on this.  Rajini is out on vacation
for a few weeks and I'm still getting up to speed on the code.  I'll
let you know as soon as we get to the bottom of it.

Regards, Graham.

On 13/07/07, Luciano Resende <[EMAIL PROTECTED]> wrote:

I've temporarily removed the module from the build under revision #555903.

On 7/12/07, Raymond Feng <[EMAIL PROTECTED]> wrote:
> Hi,
>
> I see the following exception thrown from the itest\osgi-implementation
> suite intermittently. It seems to be a timing issue. Can somebody take a
> look?
>
> Thanks,
> Raymond
>
> Work thread Thread[main,5,main] - Order, submitted (play.com), fulfilled,
> shippe
> d (ParcelForce)
> Test complete
> Deactivated OSGiShipperComponentImpl bundle
> Deactivated OSGiShipperComponentImpl bundle
> Deactivated OSGiRetailerComponentImpl bundle
> Deactivated OSGiRetailerComponentImpl bundle
> Deactivated OSGiCustomerComponentImpl bundle
> --- Exception with component : Unexpected problem executing task ---
> java.lang.IllegalStateException: Service already unregistered.
> at
> org.apache.felix.framework.ServiceRegistrationImpl.unregister(Service
> RegistrationImpl.java:105)
> at
> org.apache.felix.scr.AbstractComponentManager.unregisterComponentServ
> ice(AbstractComponentManager.java:503)
> at
> org.apache.felix.scr.AbstractComponentManager.deactivateInternal(Abst
> ractComponentManager.java:369)
> at
> org.apache.felix.scr.AbstractComponentManager.access$200(AbstractComp
> onentManager.java:55)
> at
> org.apache.felix.scr.AbstractComponentManager$3.run(AbstractComponent
> Manager.java:176)
> at
> org.apache.felix.scr.ComponentActorThread.run(ComponentActorThread.ja
> va:81)
> Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 5 sec
>
>
> -
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>


--
Luciano Resende
Apache Tuscany Committer
http://people.apache.org/~lresende
http://lresende.blogspot.com/

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Status of C++ code generation

2007-07-17 Thread Graham Charters

Hi Pete, sounds good to me.

On 17/07/07, Pete Robbins <[EMAIL PROTECTED]> wrote:

Graham,

so if we move these methods to DataObjectImpl you should still be able
to use them by casting your DataObjectPtr to the impl? I think we
should do this in SDO HEAD along with the other 2.1 spec changes.
There should be only a small amount of rework required when you move
the PHP code up to use a 2.1 spec SDO.

Cheers,

On 17/07/07, Graham Charters <[EMAIL PROTECTED]> wrote:
> Hi Andy/Pete,
>
> Yes, we do use this method in the PHP SDO code - thanks for remembering us :-)
>
> I think we need to draw a distinction between SDO C++ for applications
> and SDO C++ as an embeddable library.  The SDO C++ spec covers the
> former and therefore does not talk about get/setUserData.  The library
> role of SDO C++ enables us to more easily write native SDO
> implementations for other languages (PHP, Ruby, etc...) and is IMO
> very important (I guess I would say that :-) ).
>
> Get/setUserData is used by SDO PHP to manage the relationship between
> the PHP SDO Objects and C++ SDO Objects.  Earlier versions of the PHP
> Extension tried to manage this separately, but this solution was
> complex and prone to problems.
>
> I hope this helps.
>
> Regards,
>
> Graham.
>
>
> On 17/07/07, Pete Robbins <[EMAIL PROTECTED]> wrote:
> > Andy, the static code generation was an old experiment and is not
> > used.I have been meaning to remove it for some time as it is confusing
> > being there.
> >
> > The get/setUserData was actually put in there at the request of the
> > PHP-SDO team. I'm not sure of the details but I think they use this to
> > maintain a correlation between the C++ SDO objects and PHP objects???
> > This code is not used anywhere within Tuscany SDO (or SCA) code.
> >
> > This may be a case where a real life application has shown up a
> > limitation in the spec and that we should take a proposal to the spec
> > group. I'll try and find out how essential this function is and if
> > there is another way to work around this to enable a spec compliant
> > api in Tuscany
> >
> > Cheers,
> >
> > On 17/07/07, Andy Grove <[EMAIL PROTECTED]> wrote:
> > > I'm currently looking at some of the issues that my collegaue, Michael
> > > Yoder, raised regarding the use of propietary methods in the SDO header
> > > files. In particular, I'm looking at the setUserData / getUserData
> > > methods in DataObject.h [TUSCANY-1370]. These methods could easily be
> > > moved to the DataObjectImpl.h header instead. The methods are only
> > > referenced in code generated static client code (generated by
> > > DataFactoryImpl::generateInterface).
> > >
> > > However, I'm nervous about making the change because the current sdotest
> > > suite does not excercise the static code generated classes enough to
> > > call these methods. For instance, if I change the code generator to call
> > > a non-existant method "foo" instead of getUserData or setUserData then
> > > the current tests still pass.
> > >
> > > What is the status of the code generator? The Tuscany web site
> > > (http://incubator.apache.org/tuscany/sdo-cpp-faq.html) states that there
> > > are no plans to support this feature. Is this correct?
> > >
> > > Thanks,
> > >
> > > Andy.
> > >
> >
> >
> > --
> > Pete
> >
> > -
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> >
>
> -
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>


--
Pete

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Status of C++ code generation

2007-07-17 Thread Graham Charters

Hi Andy/Pete,

Yes, we do use this method in the PHP SDO code - thanks for remembering us :-)

I think we need to draw a distinction between SDO C++ for applications
and SDO C++ as an embeddable library.  The SDO C++ spec covers the
former and therefore does not talk about get/setUserData.  The library
role of SDO C++ enables us to more easily write native SDO
implementations for other languages (PHP, Ruby, etc...) and is IMO
very important (I guess I would say that :-) ).

Get/setUserData is used by SDO PHP to manage the relationship between
the PHP SDO Objects and C++ SDO Objects.  Earlier versions of the PHP
Extension tried to manage this separately, but this solution was
complex and prone to problems.

I hope this helps.

Regards,

Graham.


On 17/07/07, Pete Robbins <[EMAIL PROTECTED]> wrote:

Andy, the static code generation was an old experiment and is not
used.I have been meaning to remove it for some time as it is confusing
being there.

The get/setUserData was actually put in there at the request of the
PHP-SDO team. I'm not sure of the details but I think they use this to
maintain a correlation between the C++ SDO objects and PHP objects???
This code is not used anywhere within Tuscany SDO (or SCA) code.

This may be a case where a real life application has shown up a
limitation in the spec and that we should take a proposal to the spec
group. I'll try and find out how essential this function is and if
there is another way to work around this to enable a spec compliant
api in Tuscany

Cheers,

On 17/07/07, Andy Grove <[EMAIL PROTECTED]> wrote:
> I'm currently looking at some of the issues that my collegaue, Michael
> Yoder, raised regarding the use of propietary methods in the SDO header
> files. In particular, I'm looking at the setUserData / getUserData
> methods in DataObject.h [TUSCANY-1370]. These methods could easily be
> moved to the DataObjectImpl.h header instead. The methods are only
> referenced in code generated static client code (generated by
> DataFactoryImpl::generateInterface).
>
> However, I'm nervous about making the change because the current sdotest
> suite does not excercise the static code generated classes enough to
> call these methods. For instance, if I change the code generator to call
> a non-existant method "foo" instead of getUserData or setUserData then
> the current tests still pass.
>
> What is the status of the code generator? The Tuscany web site
> (http://incubator.apache.org/tuscany/sdo-cpp-faq.html) states that there
> are no plans to support this feature. Is this correct?
>
> Thanks,
>
> Andy.
>


--
Pete

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Build problems

2007-07-11 Thread Graham Charters

Thanks, Luciano, I think this is the same problem.  Renaming the 2.2.2
version to 2.2.3 seems to get me through the build :-) .  The other
build problems I've encountered over the past day or so appear to have
gone away now as well.

Thanks for your help.

Graham.

On 10/07/07, Luciano Resende <[EMAIL PROTECTED]> wrote:

You might be hitting the same issue as reported by Simon Laws [1]. But
I'm not sure what is the solution at the moment. Maybe remove the
package from your local repo or try to mvn -U.

[1] http://www.mail-archive.com/tuscany-dev%40ws.apache.org/msg19676.html

On 7/10/07, Graham Charters <[EMAIL PROTECTED]> wrote:
> Hi Raymond,
>
> Thanks for the quick response.  I tried "mvn clean install" and I'm
> still seeing the problem caused by the bad codegen-ecore-2.2.3.jar. It
> results in lots of errors to do with missing package
> org.eclipse.emf.codegen.ecore.genmodel.
>
> Regards, Graham.
>
> On 10/07/07, Raymond Feng <[EMAIL PROTECTED]> wrote:
> > Hi,
> >
> > Please run "mvn clean install".
> >
> > Thanks,
> > Raymond
> > - Original Message -
> > From: "Graham Charters" <[EMAIL PROTECTED]>
> > To: "tuscany-dev" 
> > Sent: Tuesday, July 10, 2007 8:56 AM
> > Subject: Build problems
> >
> >
> > > Hi,
> > >
> > > I'm trying to build Tuscany Java and have hit a couple of problems.
> > > I've started with a clean repository, and checked out the latest from
> > > svn (a few times throughout July 9th/10th).  When I do mvn at the top
> > > level, I get a test case failure with the following exception:
> > >
> > > 
testTransformation(org.apache.tuscany.sca.databinding.xml.JavaBean2XMLStreamReaderTestCase)
> > > Time elapsed: 0.031 sec  <<< ERROR!
> > > java.lang.IncompatibleClassChangeError:
> > > 
org/apache/tuscany/sca/databinding/impl/SimpleTypeMapperImpl.getXMLType(Ljava/lang/Class;)Lorg/apach
> > > e/tuscany/sca/interfacedef/util/TypeInfo;
> > >at
> > > 
org.apache.tuscany.sca.databinding.xml.BeanUtil.isSimpleType(BeanUtil.java:49)
> > >at
> > > 
org.apache.tuscany.sca.databinding.xml.BeanUtil.getXMLStreamReader(BeanUtil.java:100)
> > >at
> > > 
org.apache.tuscany.sca.databinding.xml.BeanUtil.getXMLStreamReader(BeanUtil.java:184)
> > >at
> > > 
org.apache.tuscany.sca.databinding.javabeans.JavaBean2XMLStreamReader.transform(JavaBean2XMLStreamReader.java:35)
> > >at
> > > 
org.apache.tuscany.sca.databinding.xml.JavaBean2XMLStreamReaderTestCase.testTransformation(JavaBean2XMLStreamReaderTestCase.java:
> > > 43)
> > >at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> > >at
> > > 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)
> > >at
> > > 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> > >at java.lang.reflect.Method.invoke(Method.java:615)
> > >at junit.framework.TestCase.runTest(TestCase.java:168)
> > >at junit.framework.TestCase.runBare(TestCase.java:134)
> > >at junit.framework.TestResult$1.protect(TestResult.java:110)
> > >at junit.framework.TestResult.runProtected(TestResult.java:128)
> > >at junit.framework.TestResult.run(TestResult.java:113)
> > >at junit.framework.TestCase.run(TestCase.java:124)
> > >at junit.framework.TestSuite.runTest(TestSuite.java:232)
> > >at junit.framework.TestSuite.run(TestSuite.java:227)
> > >at
> > > 
org.junit.internal.runners.OldTestClassRunner.run(OldTestClassRunner.java:35)
> > >at
> > > 
org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:62)
> > >at
> > > 
org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:138)
> > >at
> > > 
org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:125)
> > >at org.apache.maven.surefire.Surefire.run(Surefire.java:132)
> > >at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> > >at
> > > 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)
> > >at
> > > 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> > >at java.lang.reflect.Method.invoke(Method.java:615)
> > > 

Re: Build problems

2007-07-10 Thread Graham Charters

Hi Raymond,

Thanks for the quick response.  I tried "mvn clean install" and I'm
still seeing the problem caused by the bad codegen-ecore-2.2.3.jar. It
results in lots of errors to do with missing package
org.eclipse.emf.codegen.ecore.genmodel.

Regards, Graham.

On 10/07/07, Raymond Feng <[EMAIL PROTECTED]> wrote:

Hi,

Please run "mvn clean install".

Thanks,
Raymond
- Original Message -
From: "Graham Charters" <[EMAIL PROTECTED]>
To: "tuscany-dev" 
Sent: Tuesday, July 10, 2007 8:56 AM
Subject: Build problems


> Hi,
>
> I'm trying to build Tuscany Java and have hit a couple of problems.
> I've started with a clean repository, and checked out the latest from
> svn (a few times throughout July 9th/10th).  When I do mvn at the top
> level, I get a test case failure with the following exception:
>
> 
testTransformation(org.apache.tuscany.sca.databinding.xml.JavaBean2XMLStreamReaderTestCase)
> Time elapsed: 0.031 sec  <<< ERROR!
> java.lang.IncompatibleClassChangeError:
> 
org/apache/tuscany/sca/databinding/impl/SimpleTypeMapperImpl.getXMLType(Ljava/lang/Class;)Lorg/apach
> e/tuscany/sca/interfacedef/util/TypeInfo;
>at
> org.apache.tuscany.sca.databinding.xml.BeanUtil.isSimpleType(BeanUtil.java:49)
>at
> 
org.apache.tuscany.sca.databinding.xml.BeanUtil.getXMLStreamReader(BeanUtil.java:100)
>at
> 
org.apache.tuscany.sca.databinding.xml.BeanUtil.getXMLStreamReader(BeanUtil.java:184)
>at
> 
org.apache.tuscany.sca.databinding.javabeans.JavaBean2XMLStreamReader.transform(JavaBean2XMLStreamReader.java:35)
>at
> 
org.apache.tuscany.sca.databinding.xml.JavaBean2XMLStreamReaderTestCase.testTransformation(JavaBean2XMLStreamReaderTestCase.java:
> 43)
>at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)
>at
> 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>at java.lang.reflect.Method.invoke(Method.java:615)
>at junit.framework.TestCase.runTest(TestCase.java:168)
>at junit.framework.TestCase.runBare(TestCase.java:134)
>at junit.framework.TestResult$1.protect(TestResult.java:110)
>at junit.framework.TestResult.runProtected(TestResult.java:128)
>at junit.framework.TestResult.run(TestResult.java:113)
>at junit.framework.TestCase.run(TestCase.java:124)
>at junit.framework.TestSuite.runTest(TestSuite.java:232)
>at junit.framework.TestSuite.run(TestSuite.java:227)
>at
> org.junit.internal.runners.OldTestClassRunner.run(OldTestClassRunner.java:35)
>at
> org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:62)
>at
> 
org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:138)
>at
> 
org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:125)
>at org.apache.maven.surefire.Surefire.run(Surefire.java:132)
>at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)
>at
> 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>at java.lang.reflect.Method.invoke(Method.java:615)
>at
> 
org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:290)
>at
> org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:818)
>
> When I try to build Eclipse projects using "mvn -Peclipse
> eclipse:eclipse" I get the following exception:
>
> [INFO] [tuscany-sdo:generate {execution: generate-po-sdo}]
> [INFO] Generating SDO interfaces from
> 
C:\temp\LAMP\Eclipse-3.2.1\eclipse\workspaces\osgi\Tuscany\sca\modules\databinding-sdo\src\test\resour
> ces\ipo.xsd
> [INFO] 

> [ERROR] FATAL ERROR
> [INFO] 

> [INFO] org.eclipse.emf.codegen.ecore.genmodel.GenModelFactory
> [INFO] 

> [INFO] Trace
> java.lang.NoClassDefFoundError:
> org.eclipse.emf.codegen.ecore.genmodel.GenModelFactory
>at
> 
org.apache.tuscany.sdo.generate.JavaGenerator.ecore2GenModel(JavaGenerator.java:540)
>at
> 
org.apache.tuscany.sdo.generate.JavaGenerator.createGenPackages(JavaGenerator.java:438)
>at
> 
org.apache.tuscany.sdo.generate.JavaGenerator.generatePackages(JavaGenerator.java:394

Build problems

2007-07-10 Thread Graham Charters

Hi,

I'm trying to build Tuscany Java and have hit a couple of problems.
I've started with a clean repository, and checked out the latest from
svn (a few times throughout July 9th/10th).  When I do mvn at the top
level, I get a test case failure with the following exception:

testTransformation(org.apache.tuscany.sca.databinding.xml.JavaBean2XMLStreamReaderTestCase)
Time elapsed: 0.031 sec  <<< ERROR!
java.lang.IncompatibleClassChangeError:
org/apache/tuscany/sca/databinding/impl/SimpleTypeMapperImpl.getXMLType(Ljava/lang/Class;)Lorg/apach
e/tuscany/sca/interfacedef/util/TypeInfo;
   at 
org.apache.tuscany.sca.databinding.xml.BeanUtil.isSimpleType(BeanUtil.java:49)
   at 
org.apache.tuscany.sca.databinding.xml.BeanUtil.getXMLStreamReader(BeanUtil.java:100)
   at 
org.apache.tuscany.sca.databinding.xml.BeanUtil.getXMLStreamReader(BeanUtil.java:184)
   at 
org.apache.tuscany.sca.databinding.javabeans.JavaBean2XMLStreamReader.transform(JavaBean2XMLStreamReader.java:35)
   at 
org.apache.tuscany.sca.databinding.xml.JavaBean2XMLStreamReaderTestCase.testTransformation(JavaBean2XMLStreamReaderTestCase.java:
43)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)
   at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
   at java.lang.reflect.Method.invoke(Method.java:615)
   at junit.framework.TestCase.runTest(TestCase.java:168)
   at junit.framework.TestCase.runBare(TestCase.java:134)
   at junit.framework.TestResult$1.protect(TestResult.java:110)
   at junit.framework.TestResult.runProtected(TestResult.java:128)
   at junit.framework.TestResult.run(TestResult.java:113)
   at junit.framework.TestCase.run(TestCase.java:124)
   at junit.framework.TestSuite.runTest(TestSuite.java:232)
   at junit.framework.TestSuite.run(TestSuite.java:227)
   at 
org.junit.internal.runners.OldTestClassRunner.run(OldTestClassRunner.java:35)
   at 
org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:62)
   at 
org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:138)
   at 
org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:125)
   at org.apache.maven.surefire.Surefire.run(Surefire.java:132)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)
   at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
   at java.lang.reflect.Method.invoke(Method.java:615)
   at 
org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:290)
   at 
org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:818)

When I try to build Eclipse projects using "mvn -Peclipse
eclipse:eclipse" I get the following exception:

[INFO] [tuscany-sdo:generate {execution: generate-po-sdo}]
[INFO] Generating SDO interfaces from
C:\temp\LAMP\Eclipse-3.2.1\eclipse\workspaces\osgi\Tuscany\sca\modules\databinding-sdo\src\test\resour
ces\ipo.xsd
[INFO] 
[ERROR] FATAL ERROR
[INFO] 
[INFO] org.eclipse.emf.codegen.ecore.genmodel.GenModelFactory
[INFO] 
[INFO] Trace
java.lang.NoClassDefFoundError:
org.eclipse.emf.codegen.ecore.genmodel.GenModelFactory
   at 
org.apache.tuscany.sdo.generate.JavaGenerator.ecore2GenModel(JavaGenerator.java:540)
   at 
org.apache.tuscany.sdo.generate.JavaGenerator.createGenPackages(JavaGenerator.java:438)
   at 
org.apache.tuscany.sdo.generate.JavaGenerator.generatePackages(JavaGenerator.java:394)
   at 
org.apache.tuscany.sdo.generate.XSD2JavaGenerator.generateFromXMLSchema(XSD2JavaGenerator.java:187)
   at 
org.apache.tuscany.sdo.generate.XSD2JavaGenerator.generateFromXMLSchema(XSD2JavaGenerator.java:153)
   at 
org.apache.tuscany.sdo.plugin.GeneratorMojo.execute(GeneratorMojo.java:270)
   at 
org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:443)
   at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:539)
   at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:480)
   at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.forkProjectLifecycle(DefaultLifecycleExecutor.java:896)
   at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.forkLifecycle(DefaultLifecycleExecutor.java:739)
   at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:510)
   at 
org.apache.mav

Re: Contribute to SCA-OSGi integration

2007-06-21 Thread Graham Charters

Hi Nicole,

I've inlined some comments below.

On 20/06/07, Wengatz, Nicole <[EMAIL PROTECTED]> wrote:

Hi Graham,

I'm still not sure if the proposal is consistent.

Let my explain my concerns:
Every OSGi container provides an OSGi registry. In the OSGi
enterprise expert group we are currently discussing that proxies
for other services (e.g. EJB stateless Bean which is accessible via
IIOP) will be created and registered in the OSGi registry.
From this point of view, your proposal for the implementation.osgi
is consistent.


I think it would be nice if OSGi didn't have to care how the service
was implemented, and this is what can be achieved with SCA.


But do we want to have different behaviour for different SCA implementations
types?


This is exactly what we don't want.  The implementation.osgi approach
registers in the OSGi registry whatever proxies SCA gives it.  These
proxies can be for other implementation types or remote bindings.
Their behaviour is consistent.


Do you expect for example that an implementation.ejb adds remote
proxies to the JNDI service? Or what about implementation.net or 
implementation.c,
do we need now a registry for all implementation types?



We shouldn't have to care.  If implementation.ejb/c/.net are supported
in the SCA runtime, then we will get these for free.  It's up to SCA
to give us the right proxy which we then make available in the OSGi
registry.


I still think that explicit bindings are better.


I still think both approaches are valid and it depends on what you're
trying to achieve :-) .  If you're trying to include OSGi bundles in
your SCA domain, the only way to do this is with implementation.osgi.
If you're trying to create a peer environment where you interoperate
with OSGi bundles but they are not managed by SCA, then binding.osgi
makes sense.



What do the others on the list think?

Thanks
Nicole

P.S.: Graham, Tim told me today that you are going to be at the F2F in Munich 
next week.
Looking forward to meeting you there :-)


Yes, I am.  I look forward to meeting you there too :-) .



-----Ursprüngliche Nachricht-
Von: Graham Charters [mailto:[EMAIL PROTECTED]
Gesendet: Dienstag, 19. Juni 2007 17:10
An: tuscany-dev@ws.apache.org
Betreff: Re: Contribute to SCA-OSGi integration

Hi Nicole,

My turn to chip in :-)

I think both approaches are valid and tackle two different goals.  If
I understand correctly, then the binding approach does not hand the
responsibility for the OSGi bundles and services to SCA.  So this is
more of a peer-to-peer runtime view.  I think this approach is
appealing if you want to keep OSGi outside the SCA domain for either
organizational reasons, or because you don't want to model some
existing OSGi application in SCA.

The implementation.osgi approach is trying to take an SCA assembly
view of the problem where you want to describe and manage the assembly
of the OSGi assets with other implementation technologies.  Here SCA
is responsible for managing the OSGi bundles (installation,
activation), and ensuring their external dependencies are resolved.

I've inlined some additional comments below.

On 19/06/07, Wengatz, Nicole <[EMAIL PROTECTED]> wrote:
> Hi Rajini,
>
> I would prefer a solution where you declare explicitly the bindings, not an 
implicit registration
> of services.
>
> Please find below a snippet of the OSGi prototype provided by Joel some time 
ago:
>
> 
> 
> 
> RetailerComponent
> 
>
> 
> 
> WarehouseComponent
> 
>
> RetailerComponent will not be registered automatically (without a service). 
The Service tag provides the
> information via which binding the RetailerComponent will be accessible, in 
this case via an OSGi Binding.
> The SCA runtime detects the OSGi binding and registers the RetailerComponent 
as OSGi service in the
> OSGi registry.
>
> The Client uses a reference with OSGi binding to access the RetailerService:
>  
> 
> RetailerService
> 
>
> 
> 
> 
> 
>
> In this case the SCA runtime looks up the Retailer OSGi service in the 
registry and injects it into
> the CustomerComponent which is the client.
>
> From my point of view we need such an OSGi Binding for the communication of 
SCA components running in
> different implementation types. If we have only an OSGi implementation type I 
would use instead of an OSGi
> binding the OSGI R4 DS (Declarative Services) or Spring OSGi.
>

Both approaches allow OSGi bundles to talk to SCA components built
using different implementation types.  For the binding approach it's
whatever the service with the OSGi binding is wired to in SCA.  For
the implementation.osgi approach, it's whatever the component
reference is wired to.  The runtime needs to make go

Re: Contribute to SCA-OSGi integration

2007-06-19 Thread Graham Charters
   



Thank you...

Regards,

Rajini
On 6/19/07, Wengatz, Nicole <[EMAIL PROTECTED]> wrote:
>
> Hi Graham,
>
> >OSGi SCA Component -- local wire --> non-OSGi SCA Component (e.g. POJO)
> I'm still not sure if I understand your scenario correctly. What do you
> mean with
> non-OSGi SCA Component, where will it be declared? My understanding is
> that the non-OSGi
> SCA Component will be deployed in another implementation type, e.g. in
> Java or Spring
> implementation type. To be able to wire the OSGi SCA Component with the
> non-OSGi SCA
> component you will need a binding. The other scenario I could imagine is
> that you are
> talking about a simple POJO or Spring Bean which will be injected via
> Dependency Injection,
> e.g. in the Spring implementation type or in the OSGi implementation type
> with Spring-OSGi
> support.  Could you please describe what you have in mind, e.g. where you
> are planning to
> declare the non-OSGi SCA Component?
>
> Thanks
> Nicole
>
>
> -Ursprüngliche Nachricht-
> Von: Graham Charters [mailto:[EMAIL PROTECTED]
> Gesendet: Mittwoch, 13. Juni 2007 10:07
> An: tuscany-dev@ws.apache.org
> Betreff: Re: Contribute to SCA-OSGi integration
>
> Hi Nicole/Rajini,
>
> I'm wondering if there is some confusion over terminology and the
> scenarios being discussed.  I believe Rajini is only referring to OSGi
> bundles integrated into SCA through an .  So in
> these scenarios both components are SCA components.  Perhaps for
> clarity we should refer to the ones implemented using OSGi bundles as
> OSGi SCA components.
>
> So, for scenario 1, I think we have:
>
> OSGi SCA Component -- local wire --> non-OSGi SCA Component (e.g. POJO)
>
> In this scenario the OSGi SCA Component implementation will look up
> and expect to find a service in the OSGi Registry.  The SCA wiring
> states that that service is provided by the non-OSGi SCA Component and
> therefore Tuscany must register a proxy service (a proxy to the
> non-OSGi SCA Component) in the OSGi Registry.  The OSGi SCA Component
> implementation will be unaware that it is calling a non-OSGi SCA
> Component.
>
> For scenarios 2, I think we have:
>
> non-OSGi SCA Component (e.g. POJO) -- local wire --> OSGi SCA Component
>
> In this scenario, Tuscany knows that the target component is
> implemented by an OSGi bundle and it must look-up the target service
> in the OSGi Registry.
>
> Of course, it could easily be me that's confused, but I don't see
> where bindings come into these scenarios.  I do think it would be good
> to expand the scenarios to include bindings thoughts, and perhaps,
> Nicole, you could elaborate on the scenarios you describe.  For
> example, I'm not sure the OSGi components you refer to are SCA.  I
> think you may be thinking of more a peer-to-peer view of OSGi and SCA.
>
> Regards,
>
> Graham.
>
> On 12/06/07, Wengatz, Nicole <[EMAIL PROTECTED]> wrote:
> > Hi Rajini,
> >
> > good to hear that you're going to contribute to SCA-OSGi :-)
> >
> > We wrote a paper about the different possibilities of combining OSGi and
> > SCA for the SCA drumbeat end of march. You can find it on the OSOA
> > homepage:
> > http://www.osoa.org/display/Main/SCA+Resources.
> > The paper contains a high level description of the OSGi Binding,
> > implementation type
> > and OSGi host. Would be great to get some comments from you.
> >
> > >If there are references from the OSGi component to other non-OSGi SCA
> > >components, a proxy service is registered by the Tuscany runtime with
> > the
> > >OSGi registry so that the OSGi bundles can access these SCA services as
> > >normal OSGi services.
> > Well, this is one option, but not the only one. If for example the
> > non-OSGi SCA component
> > provides a SOAP service binding, a SOAP proxy will be injected.
> >
> > >References from non-OSGi components to OSGi components
> > >are resolved by looking up the OSGi registry.
> > Yes, if the non-OSGi SCA component has declared a reference with OSGi
> > binding.
> > If the OSGi component has declared a JMS service binding, the non-OSGi
> > SCA component
> > could use JMS instead of OSGi binding :-)
> >
> > Best regards
> > Nicole
> >
> >
> > > >Hello,
> > >
> > > >I would like to contribute to the SCA<->OSGi integration activities.
> > >
> > > >I have been looking at the existing OSGi binding implementation in
> > > Tuscany
> > > >which exposes SCA services as OSGi services. Even though this bi

Re: Contribute to SCA-OSGi integration

2007-06-13 Thread Graham Charters

Hi Nicole/Rajini,

I'm wondering if there is some confusion over terminology and the
scenarios being discussed.  I believe Rajini is only referring to OSGi
bundles integrated into SCA through an .  So in
these scenarios both components are SCA components.  Perhaps for
clarity we should refer to the ones implemented using OSGi bundles as
OSGi SCA components.

So, for scenario 1, I think we have:

OSGi SCA Component -- local wire --> non-OSGi SCA Component (e.g. POJO)

In this scenario the OSGi SCA Component implementation will look up
and expect to find a service in the OSGi Registry.  The SCA wiring
states that that service is provided by the non-OSGi SCA Component and
therefore Tuscany must register a proxy service (a proxy to the
non-OSGi SCA Component) in the OSGi Registry.  The OSGi SCA Component
implementation will be unaware that it is calling a non-OSGi SCA
Component.

For scenarios 2, I think we have:

non-OSGi SCA Component (e.g. POJO) -- local wire --> OSGi SCA Component

In this scenario, Tuscany knows that the target component is
implemented by an OSGi bundle and it must look-up the target service
in the OSGi Registry.

Of course, it could easily be me that's confused, but I don't see
where bindings come into these scenarios.  I do think it would be good
to expand the scenarios to include bindings thoughts, and perhaps,
Nicole, you could elaborate on the scenarios you describe.  For
example, I'm not sure the OSGi components you refer to are SCA.  I
think you may be thinking of more a peer-to-peer view of OSGi and SCA.

Regards,

Graham.

On 12/06/07, Wengatz, Nicole <[EMAIL PROTECTED]> wrote:

Hi Rajini,

good to hear that you're going to contribute to SCA-OSGi :-)

We wrote a paper about the different possibilities of combining OSGi and
SCA for the SCA drumbeat end of march. You can find it on the OSOA
homepage:
http://www.osoa.org/display/Main/SCA+Resources.
The paper contains a high level description of the OSGi Binding,
implementation type
and OSGi host. Would be great to get some comments from you.

>If there are references from the OSGi component to other non-OSGi SCA
>components, a proxy service is registered by the Tuscany runtime with
the
>OSGi registry so that the OSGi bundles can access these SCA services as
>normal OSGi services.
Well, this is one option, but not the only one. If for example the
non-OSGi SCA component
provides a SOAP service binding, a SOAP proxy will be injected.

>References from non-OSGi components to OSGi components
>are resolved by looking up the OSGi registry.
Yes, if the non-OSGi SCA component has declared a reference with OSGi
binding.
If the OSGi component has declared a JMS service binding, the non-OSGi
SCA component
could use JMS instead of OSGi binding :-)

Best regards
Nicole


> >Hello,
>
> >I would like to contribute to the SCA<->OSGi integration activities.
>
> >I have been looking at the existing OSGi binding implementation in
> Tuscany
> >which exposes SCA services as OSGi services. Even though this binding
> is no
> >longer working with the latest Tuscany builds, the samples were very
> useful
> >to understand the scenarios. I was also looking at the notes  on the
> mailing
> >list  (they are slightly old - dated Nov 2006) which talk about an
> OSGi host
> >and also an OSGi implementation type. Is there any ongoing work in
> these
> >areas?
>
> >Graham Charters and I have been investigating the use of an OSGi
> >implementation type which will enable existing OSGi bundles to be run
> as SCA
> >components under Tuscany.  We are particulary interested in the
> scenario
> >where Tuscany is in control. If components of OSGi implementation
> type are
> >specified in the composite, Tuscany starts up an OSGi runtime and
> deploys
> >the OSGi bundles corresponding to the components into the OSGi
> runtime. If
> >there are references from the OSGi component to other non-OSGi SCA
> >components, a proxy service is registered by the Tuscany runtime with
> the
> >OSGi registry so that the OSGi bundles can access these SCA services
> as
> >normal OSGi services. References from non-OSGi components to OSGi
> components
> >are resolved by looking up the OSGi registry.
>
> >We would like to obtain feedback on using this approach and also
> would like
> >to get involved in the ongoing support for SCA<->OSGi integration.
>
> >Thank you...
>
>
> >Regards,
>
> >Rajini
>



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



[jira] Created: (TUSCANY-484) Attribute groups only working if defined in the default namespace

2006-06-21 Thread Graham Charters (JIRA)
Attribute groups only working if defined in the default namespace
-

 Key: TUSCANY-484
 URL: http://issues.apache.org/jira/browse/TUSCANY-484
 Project: Tuscany
Type: Bug

  Components: C++ SDO  
Versions: Cpp-current
 Environment: Windows
Reporter: Graham Charters


When loading the following schema I get a parse error "Use of undefined group 
commonAttributes".


http://example.org";
  xmlns:ns1="http://example.org"; xmlns="http://www.w3.org/2001/XMLSchema";>




  











It appears that if I change the schema so that the group is defined in the 
default namespace for the schema, then the parse works.  So the following 
schema does not produce the error.


http://example.org";
  xmlns="http://example.org"; xmlns:xs="http://www.w3.org/2001/XMLSchema";>




  











-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]