Re: AW: Implementing a custom protocol with grizzly

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

Re: AW: Implementing a custom protocol with grizzly

John ROM
Hello,
now after a day looking into grizzly I think I have a better overview about what grizzly does.

In short words :
1) I want a grizzly client to send
   java serialized objects over only one or more connections (configurable) to a grizzly server.

2) If the connection breaks maybe because a firewall terminates the connection I want the client to reconnect.

3) the grizzly-client should not block on the connection

4) the grizzly server should able to send heartbeat-messages to the client.
5) the client should be able to fragment serialized objects so that other maybe  smaller objects can be send in between.

6) the client can cancel the sending of any of its objects.

I have a feeling that a lot of functionality that I need would be there if Grizzly would fully implement CORBA IIOP.
(For example CORBA Fragmentation with its Request IDs, or Corba Cancel)
Anyway looking for one day at grizzly I happily found the following:

- Grizzly Connection Caching which would help resolving 1) and 2).
- Grizzly Protocol Parser which would help with 3)

Are there any other classes I should be looking at?

Many Greetings
John

--
Der GMX SmartSurfer hilft bis zu 70% Ihrer Onlinekosten zu sparen!
Ideal für Modem und ISDN: http://www.gmx.net/de/go/smartsurfer

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: AW: Implementing a custom protocol with grizzly

charlie hunt-3
Hi John,

There is work currently work in progress to have GlassFish CORBA using
Grizzly.  So, there will soon be a CORBA IIOP which uses Grizzly.   The
status of that work at the moment is that the GlassFish CORBA unit tests
are working.  But, we have not done code review(s) of the work nor do we
know how well it performs compared to what was implemented in GlassFish
V2's CORBA.

We can take an action to let those on the grizzly mailing lists know
when that work is completed and integrated into the GlassFish CORBA
repository at http://glassfish-corba.dev.java.net.

A couple other noteworthy items on GlassFish CORBA's IIOP implementation:
1.) It currently does not use the Grizzly connection caching you see
under Project Grizzly.  It is currently using its own connection caching
implementation.  But, there are plans to move to using Grizzly's
connection caching in the future.  Fwiw, the connection caching in
Grizzly grew out of deficiencies observed in the GlassFish CORBA
connection caching.
2.)  When a GlassFish CORBA client sends a request, it blocks and waits
for a response.  I see in your list of (short) requirements you would
like the client to not block.   Grizzly does support the ability for a
client to not block.

Alexey worked on both areas of Grizzly connection caching and
non-blocking client requests.  So, he may be able to point you at some
Grizzly unit tests for some help in those areas.

Ooh, before I forget ... If you want to look at any of the
implementation of GlassFish CORBA IIOP, its project web site is
http://glassfish-corba.dev.java.net.  It uses Mercurial as its source
code management system.  to retrieve the source code and build it is
probably easiest to use NetBeans IDE 6.0 and grab the Mercurial plug-in
from NetBeans plug-in center.  And, of course, you'll need a Mercurial
client too.  Additional instructions are on GlassFish CORBA's web site.

hths,

charlie ....

John ROM wrote:

> Hello,
> now after a day looking into grizzly I think I have a better overview about what grizzly does.
>
> In short words :
> 1) I want a grizzly client to send
>    java serialized objects over only one or more connections (configurable) to a grizzly server.
>
> 2) If the connection breaks maybe because a firewall terminates the connection I want the client to reconnect.
>
> 3) the grizzly-client should not block on the connection
>
> 4) the grizzly server should able to send heartbeat-messages to the client.
> 5) the client should be able to fragment serialized objects so that other maybe  smaller objects can be send in between.
>
> 6) the client can cancel the sending of any of its objects.
>
> I have a feeling that a lot of functionality that I need would be there if Grizzly would fully implement CORBA IIOP.
> (For example CORBA Fragmentation with its Request IDs, or Corba Cancel)
> Anyway looking for one day at grizzly I happily found the following:
>
> - Grizzly Connection Caching which would help resolving 1) and 2).
> - Grizzly Protocol Parser which would help with 3)
>
> Are there any other classes I should be looking at?
>
> Many Greetings
> John
>
>  

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: AW: Implementing a custom protocol with grizzly

jack Schmidt-2
In reply to this post by John ROM
Hi Charlie,
thank you very much for your reply.

Just to make sure:

1) So at SUN a group is programming a complete IIOP Protocol on Grizzly.
At some time in the future the code will be available at
http://glassfish-corba.dev.java.net.

2) When they are ready, the more general concepts (For example CORBA fragmented messages) may then be refactored to the basic Grizzly API?

3) if I want to look at the old Glassfish IIOP Code I can take a look
at http://glassfish-corba.dev.java.net.  

Many Greetings

John
--
Ist Ihr Browser Vista-kompatibel? Jetzt die neuesten
Browser-Versionen downloaden: http://www.gmx.net/de/go/browser

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: AW: Implementing a custom protocol with grizzly

John ROM
In reply to this post by John ROM
Hi Charlie,
thank you very much for your reply.

Just to make sure:

1) So at SUN a group is programming a complete IIOP Protocol on Grizzly.
At some time in the future the code will be available at
http://glassfish-corba.dev.java.net.

2) When they are ready, the more general concepts (For example CORBA fragmented messages) may then be refactored to the basic Grizzly API?

3) if I want to look at the old Glassfish IIOP Code I can take a look
at http://glassfish-corba.dev.java.net.  

Many Greetings

John
--
GMX FreeMail: 1 GB Postfach, 5 E-Mail-Adressen, 10 Free SMS.
Alle Infos und kostenlose Anmeldung: http://www.gmx.net/de/go/freemail

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: AW: Implementing a custom protocol with grizzly

charlie hunt-3
In reply to this post by jack Schmidt-2
jack Schmidt wrote:
> Hi Charlie,
> thank you very much for your reply.
>
> Just to make sure:
>
> 1) So at SUN a group is programming a complete IIOP Protocol on Grizzly.
> At some time in the future the code will be available at
> http://glassfish-corba.dev.java.net.
>  

Yes and Yes. :-)

That group at Sun is also very active in the Grizzly community.

And, for a little more clarification on what is being done is, GlassFish
CORBA is being migrated to use Grizzly's (framework) transport.

I would speculate that some time in the next 30 to 60 days that work
will be available in the GlassFish CORBA V3 source code repository.
 
> 2) When they are ready, the more general concepts (For example CORBA fragmented messages) may then be refactored to the basic Grizzly API?
>  
CORBA fragmented messages and other types of CORBA messages will be
supported.  If you look at the GlassFish CORBA V2 implementation, there
is a pretty good separation of transport and protocol layers.  Hence,
the migration to Grizzly is not too complicated since the protocol layer
doesn't know what underlying transport it is using.

What I am trying to say is that the existing protocol implementation you
see in GlassFish CORBA V2, is what you will see in GlassFish V3 once
Grizzly is integrated.  About all that will be changed is underlying
transport will use Grizzly instead of what it was using before.  The
protocol parser in GlassFish CORBA V2 is very similar to what is used in
the Grizzly based implementation.  Some interface changes just meant
that some of the logic moved to a different method.  There are some
other minor exceptions such as the transport used for CSIV2 (for the
moment) will use the GlassFish CORBA V2 implementation.  But, for the
most common IIOP configurations it will use Grizzly as the transport in
the near future.

> 3) if I want to look at the old Glassfish IIOP Code I can take a look
> at http://glassfish-corba.dev.java.net.

Yes, if you look at https://glassfish-corba.dev.java.net, you will want
to look at the V2 repository.  Well, I suppose you could look at V3's
repository too since it also currently has all the old GlassFish IIOP
code there too.

charlie ...

>  
>
> Many Greetings
>
> John
>  

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]