Just a small point: do we agree that independing on the protocol used to
communicate with JNDI, the proxy needs to be obtained in a specific way
(like now, through standard TCP) to bootstrap.

> -----Message d'origine-----
> De : [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED]]De la part de Bill
> Burke
> Envoye : jeudi, 27 juin 2002 10:11
> A : [EMAIL PROTECTED]
> Objet : RE: [JBoss-dev] http transport
>
>
> Holger, your ideas are very interesting and thought provoking.  Although I
> disagree with a lot of them (read further), I believe that this is a good
> conversion and something very cool will come out of it.
>
> > -----Original Message-----
> > From: [EMAIL PROTECTED]
> > [mailto:[EMAIL PROTECTED]]On Behalf Of
> > Holger Engels
> > Sent: Thursday, June 27, 2002 2:36 AM
> > To: [EMAIL PROTECTED]
> > Subject: RE: [JBoss-dev] http transport
> >
> >
> > On Wed, 26 Jun 2002, Bill Burke wrote:
> >
> > >
> > >
> > > > -----Original Message-----
> > > > From: [EMAIL PROTECTED]
> > > > [mailto:[EMAIL PROTECTED]]On
> > Behalf Of marc
> > > > fleury
> > > > Sent: Wednesday, June 26, 2002 12:55 PM
> > > > To: [EMAIL PROTECTED]
> > > > Subject: RE: [JBoss-dev] http transport
> > > >
> > > >
> > > > |Seems like I don't need an HTTPInvoker. Only an
> > HTTPInvokerProxy and a
> > > > |InvokerServlet, that forwards invocations to the local
> invoker. If I
> > > >
> > > > use the JMX bus directly,
> > > >
> > > > |understand it, the proxy must provide a
> TransactionPropagationContext
> > > > |instance to each Invocation. This has to be "imported" in
> the servlet
> > > > |before the invocation is forwarded to the LocalInvoker.
> > > >
> > > > The transaction is not mandatory, but if it is there then yes
> > it has to be
> > > > "imported" (this is a weakness, necessary I am told (?) of
> the current
> > > > transaction engine design).
> > > >
> > >
> > > This weakness needs to be corrected.
> > >
> > > > |Also, there must be a HTTPProxyFactory, that binds an
> > HTTPInvokerProxy
> > > > |into jndi for every ejb. An then, there's the setup /
> > integration. I need
> > > > |some MBean, that sets up the proxy factory and deploys the servlet.
> > > >
> > > > I am thinking, bill, we should do a "factory bind" in JNDI
> > that knows what
> > >
> > > I think we may have to use JNDI properties to implement this i.e.
> > >
> > > jndi.properties:
> > >
> > >
> java.naming.factory.initial=org.jnp.interfaces.HTTPNamingContextFactory
> > > java.naming.provider.url=http://yomama.com/JrmpInvoker
> > >
> > > Also, this may be the best solution anyways.  I really want
> to avoid any
> > > proprietary configuration on the client side.
> >
> > Coding the protocol into the jndi-name is a good idea, but I'm still not
> > confident with this approach. I see it this way:
> >
>
> That's not what I meant.  IMHO, coding the protocol into the
> jndi-name is a
> hack.  i.e. ctx.lookup("http/foo")
>
> I think how you communicate to jndi should be described in the
> jndi.properties file.  But how you get references to other
> objects should be
> different.
>
> I would rather have one of these possible solutions:
>
> 1. Depending the transport type, a different value for "foo" is returned.
> If you do a ctx.lookup("foo") and you're talking HTTP, you get a foo HTTP
> proxy back to communicate.
>
> 2. Let the application developer decide how things are mapped in
> JNDI.  For
> instance, we can recommend that they bind a invoker-proxy binding
> into jndi
> as "http/foo" , iiop as "iiop/foo".  Am I making sense?
>
> > o the server hosts components and makes them accessible through
> > rmi, iiop,
> >   http, .. (different invokers)
> > o serverside interceptors and container are configured per component on
> >   the server. Invokers are configured as part of the server
> configuration.
>
> Right now, client and container and invoker configurations are
> all separate.
> This allows us to have multiple transports per EJB(later per MBean too).
>
> > o that's the server's part. nothing more!
> >
>
> Not true at all.  The server has to have knowledge of the client-side
> interceptors.  Where you idea breaks down is when an method returns a
> different EJB or a collection of EJBs of different types.  How will your
> ideas work then?  How will the correct client-side interceptor chain and
> transport and endpoint be attached to the EJB refs contained in these
> arbitrary collection objects?  When I was implementing the multi-invoker
> stuff, I played with the idea of having generic EJB refs, but the
> idea fell
> apart in this scenario.
>
> Also, many server-side interceptors require a mirror client-side
> interceptor
> to work.  Security, Transactions and especially Clustering fall into this
> category.
>
> > o the client / caller does a lookup in its local jndi namespace with a
> >   coded name. The coded name is declared somewhere as an
> ejb-ref, res-ref,
> >   *-ref
> > o the declaration of this *-ref is parameterized in a jboss specific
> >   descriptor (jboss.xml):
> >   + protocoll (InvokerProxy)
> >   + identifier of the target component (jndi-name)
> >   + both, the protocol and the address of the component can be
> coded into
> >     a single jndi-name, by using a special url context factory for every
> >     protocol or by using a subcontext
>
> This just goes against location transparency and I can't see why anybody
> would want to hard-code the address of each component in their
> system, or to
> manage and know what protocols and what bindings and what client-side
> interceptors are required.   Client side configuration just does
> not scale.
> Too many config files in separate places to manage.  People want
> centralized
> config, especially ISVs.
>
> >   + client side interceptors (there are interceptors, that can
> _never_ be
> >     configured on the server / per component / per invoker (think of a
> >     recording interceptor)
> >
>
> Currently in 3.1 you CAN configure client-side interceptors per component
> and per invoker. You're right on this point it would be cool to
> have client
> specific interceptors.
>
> > > I also agree that this whole proxy mess needs to be non-EJB
> specific and
> > > generic to MBeans.  The first step though is creating an
> > HTTPInvokerProxy
> > > and HTTPInvoker.
> >
> > The HTTPInvoker is a servlet or httpd. There's no lookup of
> this invoker,
> > only invocations, that are sent to the servlet.
> >
> > how many remote calls are involved in a simple acces to a bean method:
> >
> > 1. lookup
> > 2. create
> > 3. bean
> >
> > why not skip the first one? just give the client a proxy, wether the
> > target component is accessible or not. the invocation of create can fail
> > anyway. there's no way, how we could assure, that a create works, if the
> > lookup has worked. thus imo there's no problem, if we skip the lookup.
> >
>
> Your ideas are cool.  I think it would be very useful to be able
> to create a
> proxy at the client side. i.e. give an interceptor chain, transport,
> endpoint, and Java interface and you get an MBean connection.  But I think
> this would be the exception and not the norm.
>
> > That's like communication happens in real life. If I send you a message,
> > you won't give me the pencil, I have to use. I don't lookup your address
> > at your door. I look it up in my private addressbook. If I send the
> > message, I don't know, if the address is correct. However, I'll
> notice if
> > it was incorrect.
> >
> > Holger
> >
> >
> >
> > -------------------------------------------------------
> > Sponsored by:
> > ThinkGeek at http://www.ThinkGeek.com/
> > _______________________________________________
> > Jboss-development mailing list
> > [EMAIL PROTECTED]
> > https://lists.sourceforge.net/lists/listinfo/jboss-development
>
>
>
> -------------------------------------------------------
> Sponsored by:
> ThinkGeek at http://www.ThinkGeek.com/
> _______________________________________________
> Jboss-development mailing list
> [EMAIL PROTECTED]
> https://lists.sourceforge.net/lists/listinfo/jboss-development
>



-------------------------------------------------------
Sponsored by:
ThinkGeek at http://www.ThinkGeek.com/
_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to