See responses inline. On Mon, Oct 13, 2008 at 9:21 AM, fahim salim <[EMAIL PROTECTED]> wrote: > Hello Luciano > > Thank you for your useful informations. > > Yes I'd like to get some details if possible. > > For the contribution phase : > How is the java annotation processor working ?
This is part of the Java implementation.You can check org.apache.tuscany.sca.implementation.java.introspect.JavaClassVisitor for the SPI used to plug new visitors that handle these annotations. As for when this happens, it's done when the runtime is processing the composite file and finds a component that has a java implementation (e.g implementation.java) > For example, what will be done when @Reference is encountered. Does a proxy > will be created to give access to this component reference ? When the @Reference is processed, it will only create a reference model in the component type, this is also used as a injection point for the particular reference. As for the proxy creation, it will happen when the component gets instantiated, at this time, dependency injection happens and the proxy is created and injected. > What is the role of the ModelResolver (as decribed in the contribution part > of the sca-java-architecture-guide) ? > ModelResolver is used to resolve artifacts/models to it's fully initialized instance. As an example, imagine a composite being processed and having a reference to a resource (e.g content/store.html)... this resource might be part of the current contribution or not... when the composite is being resolved, we need to find the actual model for the given resource, and modelResolver will be used. > For the build phase : > > What kind of object is a wire ?How is a wire constructed between one > component and one component reference ? > Then how is a wire invoked ? > Wire links a SCA Reference to a SCA Service, they could be defined by using @target in your component reference or use the wire element. As for the invocation, this happens when you invoke the proxy in your application. The wire will have an invocation chain, which consists of a bunch of interceptors or invokers ending at the component type invoker that understands how to invoke your implementation code. > Regards > Fahim > > > > > 2008/10/10 Luciano Resende <[EMAIL PROTECTED]> >> >> On Wed, Oct 8, 2008 at 9:56 AM, fahim salim <[EMAIL PROTECTED]> wrote: >> > Hi >> > >> > I'm currently trying to understand what's going on in Tuscany tool in >> > order >> > to use it in an efficient way later on (for a demo). >> > My purpose is to have a clear idea concerning the main mecanisms >> > involved >> > in the creation of the artifacts. >> > For example, I'm trying to understand the Calculator sample. >> > As far as I understand, the CalculatorClient invokes newInstance method >> > to >> > get a new domain. >> >> When an application calls SCADomain.newInstance(), it's boostraping >> the sca runtime that will identify the current project and contribute >> it to the domain. >> >> > Ok >> > Then, it invokes getService method in order to get a reference for the >> > service offered by the CalculatorServiceComponent. >> > Ok >> > >> > But what about the creation of the components, services and references ? >> > In the "sca-java-architecture-guide.html" it seems to be related to the >> > bootsrap process. The process described here is difficult for me to >> > understand . >> >> During the contribution process, the artifacts are processed and >> resolved resulting in an in-memory representation of the assembly. >> Next is the build phase, where the model is processed by the runtime >> and the components, services and references are actually created and >> wired and activated. Are you looking for any specific details of any >> particular phase ? >> >> >> > Any explanations are welcom. >> > >> > Thanks >> > Fahim >> > >> > >> > >> >> >> >> -- >> Luciano Resende >> Apache Tuscany, Apache PhotArk >> http://people.apache.org/~lresende >> http://lresende.blogspot.com/ > > -- Luciano Resende Apache Tuscany, Apache PhotArk http://people.apache.org/~lresende http://lresende.blogspot.com/
