hi Simon, AntElder -

Thanks for your responses. I will take a couple of days and reconfigure it
the way you mention with Tuscany 2.0 M5 and not M4.
I also wanted to ask - is this a 'proper' architectural approach in
developing a webapp?

My reasoning is - this approach could help me swap out the interface layer
(the webapp part of it) - with say Spring MVC or Struts or Guice and such.
And allow scaling of the other composites (components) across one or more
nodes.

Once i get this webapp going I would like to approach it from a Spring MVC
webapp perspective and keep the other composites as they are.

Just wondering if you think that - that is a good approach - or should I be
considering scaling and such from a different approach.

Thanks.

monosij

On Mon, Apr 4, 2011 at 3:20 PM, ant elder <[email protected]> wrote:

> On Mon, Apr 4, 2011 at 6:00 PM, Monosij Dutta-Roy
> <[email protected]> wrote:
> > hi Raymond
> > Thanks for your response. I don't know if you got those composites from
> the
> > war but here are my 3 composites attached.
> > I think the references are ok. I did make sure they are.
> > It is not the same as you show below - which means maybe there is maven
> > packaging issue?
> > The dependency is as follows: qmWebApp > qmController > entitBCA.
> > I did a mvn clean - and mvn package - before a mvn jetty:run
> > And to answer your ques - I have (as far as I understand) 1 web app -
> with 2
> > dependent components.
> > Yes they are to the same Jetty (under Maven).
> > Hope that helps.
> > I will be taking a look at the war file again and the composites in it
> when
> > I get back later today.
> > Thanks a lot.
> > monosij
> >
> > On Mon, Apr 4, 2011 at 12:24 PM, Raymond Feng <[email protected]>
> wrote:
> >>
> >> By looking at the web.composite file you have:
> >> <composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200903";
> >>            xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.1";
> >>            targetNamespace="http://com.bca.app";
> >>            name="qmApp">
> >>     <!-- component name="qmAppWebComponent">
> >>         <implementation.web web-uri=""/>
> >>         <reference name="service" target="QueryServiceComponent"/>
> >>     </component>
> >>     <component name="QueryControllerComponent">
> >>         <implementation.java class="com.bca.qm.QueryControllerImpl"/-->
> >>     </component>
> >>     <component name="QueryService">
> >>         <implementation.java
> class="com.bca.pearl.app.QueryServiceImpl"/>
> >>     </component>
> >> </composite>
> >> There are two issues:
> >> 1) The target attribute doesn't match the component name (red)
> >> 2) There is no reference under QueryService component
> >> to QueryControllerComponent
> >> Thanks,
> >> Raymond
> >> ________________________________________________________________
> >> Raymond Feng
> >> [email protected]
> >> Apache Tuscany PMC member and committer: tuscany.apache.org
> >> Co-author of Tuscany SCA In Action book: www.tuscanyinaction.com
> >> Personal Web Site: www.enjoyjava.com
> >> ________________________________________________________________
> >> On Apr 4, 2011, at 8:33 AM, Monosij Dutta-Roy wrote:
> >>
> >> As requested here are the attached files.
> >>
> >> Thanks for taking a look at my war. Its attached along with the three
> >> composites and two contributions.
> >> It contains the dependent jars: entityBCA and qmController.
> >> The errors I get is in the earlier part of the thread.
> >> I am trying to create a basic db search app with three components.
> >> So the structure is as follows:
> >> ----------
> >> entityBCA - domain.composite - sca-contribution.xml - pom.xml
> >> has domain objects such as patients, addresses.
> >> qmController - querycontroller.composite - sca-contribution.xml -
> pom.xml
> >> a search controller that has a searchComposer and searchExecutor.
> >> qmApp - web.composite - no sca-contribution.xml
> >> the webapp which passes the query to qmController
> >> ----------
> >> What I was trying to figure out is - as you show in the examples -
> client
> >> do the entityBCA and qmController need to be loaded as nodes?  Or does
> >> Tuscany within Jetty already do it?
> >> My goal is to keep the webapp framework - jsp / jsf and such completely
> >> separate from the core components such that the front end technologies
> can
> >> be changed while configuring the other components to be run in a
> distributed
> >> environment.
> >> ----------
> >> My background is Java / C++ and somewhat new to the JEE frameworks such
> as
> >> Tuscany, Maven and such - so XML configs is a little new to me.
> >> Thanks a lot!
> >> monosij
> >>
> >> On Sun, Apr 3, 2011 at 10:26 AM, Simon Nash <[email protected]> wrote:
> >>>
> >>> Monosij Dutta-Roy wrote:
> >>>>
> >>>> New to Tuscany and following SCA in Action. Have a question on a
> webapp
> >>>> I created using the Maven tasks.
> >>>> The webapp works fine as a single composite - broken up by several
> >>>> components.
> >>>> ------------------------
> >>>> However when I create several composites (different contributions
> using
> >>>> Maven tasks) and wire them together - again webapp compiles and sets
> up in
> >>>> Jetty fine. When I hit a component that has a reference in a separate
> >>>> composite I get an error as below:
> >>>> ------------------------
> >>>> Problem accessing /qmApp/. Reason:
> >>>>    org.oasisopen.sca.SCARuntimeException: Unable to bind
> >>>> (@31214809)EndpointReference:  URI =
> >>>> QueryServiceComponent#reference(queryController)
> WIRED_TARGET_NOT_FOUND
> >>>>  Target = (@3751575)Endpoint:  URI =
> >>>> QueryController#service(QueryControllerService) [Unresolved]
> >>>>
> >>>> The QueryController/QueryControllerService is setup as a reference.
> >>>> ------------------------
> >>>> Its a small app and I have looked at the configs in detail and think
> >>>> they are correct. Of course Maven compiles all of them fine - and as I
> said
> >>>> deploys fine as well.
> >>>>
> >>>> However I am not sure I am loading the QueryController (the other
> >>>> contribution/composite/reference - setup as a service) properly. I
> have
> >>>> checked the composite file quite thoroughly and relevant code. I can
> upload
> >>>> them if needed.
> >>>> ------------------------
> >>>> I assume when the war is build all the dependent jars are packaged in
> by
> >>>> Maven and when Jetty starts the Tuscany API sorts out the
> dependencies? Or
> >>>> is there anything else I need to do for this quite simple setup? But a
> setup
> >>>> that involves a webapp with different contributions.
> >>>>
> >>>> The reason I ask is also because the webapp generated by Maven does
> not
> >>>> have a sca-contribution.xml file where I import / export other
> packages.
> >>>> ------------------------
> >>>> Thanks.
> >>>>
> >>> It would be very useful if you could upload the failing war file.  This
> >>> might provide some important clues to the cause of the problem.
> >>>
> >>>  Simon
> >>>
> >>
> >>
> >>
> >>
> <qmApp-1.0-SNAPSHOT.war><qmApp-1.0-SNAPSHOT.pom><entityBCA-1.0-SNAPSHOT.pom><qmController-1.0-SNAPSHOT.pom>
> >
> >
>
> Hi monosij,
>
> I don't think Tuscany 1.x or 2.0-M4 supported multiple SCA
> contribution within the WEB-INF/lib folder, there may be a way I'm not
> remembering but I don't think so. If you put SCA contributions jars
> into WEB-INF/lib they are just treated as regular jars not SCA
> contributions and any .composite or sca-contribution.xml files within
> are ignored.
>
> There is a way to do this since 2.0-M5 by putting the contributions
> into a folder name WEB-INF/sca-contributions. There is a sample which
> demonstrates this that we have just added to the trunk samples, so its
> pom.xml shows what you need to do, see
>
> https://svn.apache.org/repos/asf/tuscany/sca-java-2.x/trunk/samples/getting-started/helloworld-webapp/
>
> Note that when you update to the later Tuscany 2.x releases that the
> SCA namespace changed so you will need to update your contributions.
> The change is in your .composite and sca-contribution.xml files should
> have xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912"; - note
> 12 at the end instead of the 03 that 2.0-M4 used.
>
> Give it a try with the latest Tuscany release - 2.0-Beta2 - and let us
> know how you get on.
>
>   ...ant
>

Reply via email to