How do you "web" your dolphin?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
19 messages Options
Reply | Threaded
Open this post in threaded view
|

How do you "web" your dolphin?

Smalltalkiano-4
Hi comunity,

    I'm wondering about making applications "webeables".

    What do you make to have some application working on internet with it's
core (server application) made with dolphin?

    Supose you want to make an intranet where customers, and providers, from
their browsers make request, various transactions that you want that your
dolphin application can hadle and manage.

    Is the plug-in (only for Netscape by now) to run dolphin applets the
only approach?

    I heard that the OA site has some application that works like that
without any plug in, but I can't get the whole picture yet. I also heard
that other smalltalks have intrinsic support to make the object browseables
because they have facilities to show themselves as http.

    How do you web your dolphin development? Wich approach to this request
do you recommend?

    Supose a customer ask to you to design an intranet for it's company. He
want to really work online.

    best intriguing regards,

Seb
PD: let  the brainstorm to begin  8:-)


Reply | Threaded
Open this post in threaded view
|

Re: How do you "web" your dolphin?

Andy Bower
Seb,

>     I'm wondering about making applications "webeables".
>
>     What do you make to have some application working on internet with
it's
> core (server application) made with dolphin?
>
>     Supose you want to make an intranet where customers, and providers,
from
> their browsers make request, various transactions that you want that your
> dolphin application can hadle and manage.
>
>     Is the plug-in (only for Netscape by now) to run dolphin applets the
> only approach?
>
>     I heard that the OA site has some application that works like that
> without any plug in, but I can't get the whole picture yet. I also heard
> that other smalltalks have intrinsic support to make the object
browseables
> because they have facilities to show themselves as http.
>
>     How do you web your dolphin development? Wich approach to this request
> do you recommend?
>
>     Supose a customer ask to you to design an intranet for it's company.
He
> want to really work online.
>
>     best intriguing regards,

Recently we've been playing with the Dolphin version of Swazoo. Once you've
got over the learning curve it is pretty easy to design web apps with it.
Steve Waring's site has Swazoo and a number of other interesting
technologies for "webbing" stuff.

Take a look at Dolphin Harbor (www.dolphinharbor.org) and, in particular:

http://www.dolphinharbor.org/dh/projects/index.html

Also, you should investigate the Dolphin port of the Seaside web application
framework if you are using D5.1. This is available here:

http://lists.squeakfoundation.org/pipermail/seaside/2002-June/000574.html

What I would *not* do however is to use the Dolphin browser plugin. This
does not work in the current Microsoft IE browsers (it does however work in
Netscape and, probably, Opera). The result is that we will be phasing out
the plugin in Dolphin 6.

What has been mentioned a couple of times on the newsgroup is the
possibility of using the Dolphin binary package technology (which was the
underlying mechanism by which the plugin distributed applet code) to
dynamically update Dolphin web applications. As I think Chris Uppal pointed
out a week or so ago, this would be similar to the way in which Java
webstart applications work. Seems like an interesting idea to me but we
haven't tried it ourselves.

Best Regards,

Andy Bower
Dolphin Support
http://www.object-arts.com
---
Are you trying too hard?
http://www.object-arts.com/Relax.htm
---


Reply | Threaded
Open this post in threaded view
|

Re: How do you "web" your dolphin?

tgkuo
Hi,
   add my personal experience:
  It seemed that Swazoo has been at still state for a long time without
further update and there is no further newsgroup activities in its community
so far as I knew.  On the contrary, Comanche in Squeak is quite in style and
up to fashioin with good web server function and GUI almost the same as
mainstream web server such as Apache supports. So, I think that either
swazoo needed continued enhancement to increase more web server functions or
we might consider ask for Comanche port in Dolphin.
      Just a reflection or introspection on my experience.

Any ideas?

Best regards.
kuo
Andy Bower <[hidden email]> wrote in message
news:[hidden email]...
> He
> > want to really work online.
> >
> >     best intriguing regards,
>
> Recently we've been playing with the Dolphin version of Swazoo. Once
you've
> got over the learning curve it is pretty easy to design web apps with it.


Reply | Threaded
Open this post in threaded view
|

Re: How do you "web" your dolphin?

Steve Alan Waring
Hi kuo,

tgkuo wrote:
> Hi,
>    add my personal experience:
>   It seemed that Swazoo has been at still state for a long time
> without further update and there is no further newsgroup activities
> in its community so far as I knew.  On the contrary, Comanche in
> Squeak is quite in style and up to fashioin with good web server
> function and GUI almost the same as mainstream web server such as
> Apache supports. So, I think that either swazoo needed continued
> enhancement

This is always welcomed. If anyone has enhancements to Swazoo, they can send
them through to me and I will integrate them. Alternatively, we could put
the source into a public repository like sourceforge.


> to increase more web server functions or we might
>       consider ask for Comanche port in Dolphin. Just a reflection or
> introspection on my experience.

The two areas you mention; GUI and Socket code are non-standard across the
dialects and can be challenging to port and maintain. That said, if you do
port Comanche to Dolphin, I am sure it would be very useful to the Dolphin
community.

Thanks,
Steve

--
Steve Waring
Email: [hidden email]
Journal: http://www.stevewaring.net/blog/home/index.html


Reply | Threaded
Open this post in threaded view
|

Re: How do you "web" your dolphin?

ar-4
In reply to this post by Smalltalkiano-4
On Wed, 04 Jun 2003 21:42:52 -0300, Smalltalkiano wrote:

> Hi comunity,
>
>     I'm wondering about making applications "webeables".
>
>     What do you make to have some application working on internet with it's
> core (server application) made with dolphin?
>
>     Supose you want to make an intranet where customers, and providers, from
> their browsers make request, various transactions that you want that your
> dolphin application can hadle and manage.

I have written a java servlet interface. So my dolphin apps can play in
any java servlet container, I use Tomcat. The interface on the smalltalk
side is exactly like the java servlet api. Works very nicely.


Reply | Threaded
Open this post in threaded view
|

Re: How do you "web" your dolphin?

Smalltalkiano-4
"ar" <[hidden email]> escribió en el mensaje
news:[hidden email]...
> On Wed, 04 Jun 2003 21:42:52 -0300, Smalltalkiano wrote:
>
> > Hi comunity,
> >
> >     I'm wondering about making applications "webeables".
> >
> >     What do you make to have some application working on internet with
it's
> > core (server application) made with dolphin?
> >
> >     Supose you want to make an intranet where customers, and providers,
from
> > their browsers make request, various transactions that you want that
your
> > dolphin application can hadle and manage.
>
> I have written a java servlet interface. So my dolphin apps can play in
> any java servlet container, I use Tomcat. The interface on the smalltalk
> side is exactly like the java servlet api. Works very nicely.

Did you publish your interface anywhere?

thanks

Seb


Reply | Threaded
Open this post in threaded view
|

Re: How do you "web" your dolphin?

Chris Uppal-3
Smalltalkiano wrote:

> > I have written a java servlet interface. So my dolphin apps can
> > play in any java servlet container, I use Tomcat. The interface on
> > the smalltalk side is exactly like the java servlet api. Works very
> > nicely.
>
> Did you publish your interface anywhere?

I'd be interested to know a bit how Alan did it too.

    -- chris


Reply | Threaded
Open this post in threaded view
|

Re: How do you "web" your dolphin?

alan-2
On Mon, 16 Jun 2003 11:14:09 +0100, Chris Uppal wrote:

> Smalltalkiano wrote:
>
>> > I have written a java servlet interface. So my dolphin apps can play
>> > in any java servlet container, I use Tomcat. The interface on the
>> > smalltalk side is exactly like the java servlet api. Works very
>> > nicely.
>>
>> Did you publish your interface anywhere?
>
> I'd be interested to know a bit how Alan did it too.
>
>     -- chris

Seb and Chris,

I would be happy to publish it, I just have to work out some non-tech
issues like how to host it, a license etc, as well as some tech ones like
prerequisite packages, so stay tuned. BTW, speaking of all that stuff, I
enjoyed visiting your site Chris, esp. your straightforward license terms
and your copyright attribution to Sun, etc:) Also jniport looks way cool on
first glance.

-Alan R.


Reply | Threaded
Open this post in threaded view
|

Re: How do you "web" your dolphin?

1wbj9yejnp001
On Tue, 17 Jun 2003 15:55:32 GMT, alan <[hidden email]> wrote:

>On Mon, 16 Jun 2003 11:14:09 +0100, Chris Uppal wrote:
>
>> Smalltalkiano wrote:
>>
>>> > I have written a java servlet interface. So my dolphin apps can play
>>> > in any java servlet container, I use Tomcat. The interface on the
>>> > smalltalk side is exactly like the java servlet api. Works very
>>> > nicely.
>>>
>>> Did you publish your interface anywhere?


>-Alan R.

Here's the link:

http://www.reider.net/dolphinsmalltalk/free/software.html


Reply | Threaded
Open this post in threaded view
|

Re: How do you "web" your dolphin?

Chris Uppal-3
ar wrote:

> > > > > I have written a java servlet interface. So my dolphin apps
> > > > > can play in any java servlet container, I use Tomcat. The
> > > > > interface on the smalltalk side is exactly like the java
> > > > > servlet api. Works very nicely.

> Here's the link:
>
> http://www.reider.net/dolphinsmalltalk/free/software.html

Thanks for that.  Seems simple and effective.

(For anyone who's interested, but not interested enough to go read the code,
he's using a Java stub servlet that communicates with a Dolphin image via TCP.)

    -- chris


Reply | Threaded
Open this post in threaded view
|

Re: How do you "web" your dolphin?

Damon
"Chris Uppal" <[hidden email]> wrote in message news:<3ef6e09d$0$45169$[hidden email]>...

> ar wrote:
>
> > > > > > I have written a java servlet interface. So my dolphin apps
> > > > > > can play in any java servlet container, I use Tomcat. The
> > > > > > interface on the smalltalk side is exactly like the java
> > > > > > servlet api. Works very nicely.
>  
> > Here's the link:
> >
> > http://www.reider.net/dolphinsmalltalk/free/software.html
>
> Thanks for that.  Seems simple and effective.
>
> (For anyone who's interested, but not interested enough to go read the code,
> he's using a Java stub servlet that communicates with a Dolphin image via TCP.)
>
>     -- chris

Interesting.  So I can have Apache/Tomcat running on a Linux box but
the Dolphin image running on a separate Windows box using TCP to
communicate with the image?  What is required to set up the Dolphin
image to listen for TCP connections from the servlet on the Linux box?

Taking this a bit further, suppose I use Samba to mount a Linux
directory on the Windows file system.  Can I then have Dolphin serve
HTML pages and images located in the Linux directory?

This may seem like a convoluted way of doing things.  If I were more
comfortable using Squeak and Comanche, I'd simply set up a Squeak
server on the Linux box which is set up as my web server, but as I
really like the Dolphin environment, this may be a away of factoring
out Dolphin onto a separate machine, while keeping and organizing all
the server pages and images on the Linux box.  Would this work?

Thanks,

Damon


Reply | Threaded
Open this post in threaded view
|

Re: How do you "web" your dolphin?

ar-4
On Mon, 23 Jun 2003 20:30:24 -0700, Damon wrote:

> "Chris Uppal" <[hidden email]> wrote in message
> news:<3ef6e09d$0$45169$[hidden email]>...
>> ar wrote:
>>
>> > > > > > I have written a java servlet interface. So my dolphin apps
>> > > > > > can play in any java servlet container, I use Tomcat. The
>> > > > > > interface on the smalltalk side is exactly like the java
>> > > > > > servlet api. Works very nicely.
>>  
>> > Here's the link:
>> >
>> > http://www.reider.net/dolphinsmalltalk/free/software.html
>>
>> Thanks for that.  Seems simple and effective.
>>
>> (For anyone who's interested, but not interested enough to go read the
>> code, he's using a Java stub servlet that communicates with a Dolphin
>> image via TCP.)
>>
>>     -- chris
>
> Interesting.  So I can have Apache/Tomcat running on a Linux box but the
> Dolphin image running on a separate Windows box using TCP to communicate
> with the image?

Yes, the webserver can be any box/os separate from the windows box running
Dolphin. I've only tested Tomcat on win2k as the webserver though.

>What is required to set up the Dolphin image to listen for TCP
>connections from the servlet on the Linux box?

You just start the listener process in Dolphin and it will wait for
incoming connections from the java servlet.

eg, ServletConnection start.

The port that it listens on is configurable.

> Taking this a bit further, suppose I use Samba to mount a Linux
> directory on the Windows file system.  Can I then have Dolphin serve
> HTML pages and images located in the Linux directory?
>
> This may seem like a convoluted way of doing things.  If I were more
> comfortable using Squeak and Comanche, I'd simply set up a Squeak server
> on the Linux box which is set up as my web server, but as I really like
> the Dolphin environment, this may be a away of factoring out Dolphin
> onto a separate machine, while keeping and organizing all the server
> pages and images on the Linux box.  Would this work?

Yes, that should work fine. Presumably the web server serves static pages
and images which live in the webapp alongside the java servlet, and
Dolphin serves whatever you would normally serve in a java servlet. What I
do is store pages in XHTML format and parse them using the dolphin xml
parser into an html framework which is something like apache ECS. I use id
attributes to address nodes on the page in order to add dynamic content.
Then I turn the page back into a string and send it back to the java
servlet.

The xml and html stuff is not in the servlet package but I could publish
those too if anyone was interested.


Reply | Threaded
Open this post in threaded view
|

Re: How do you "web" your dolphin?

Chris Uppal-3
In reply to this post by Damon
Damon wrote:

> Interesting.  So I can have Apache/Tomcat running on a Linux box but
> the Dolphin image running on a separate Windows box using TCP to
> communicate with the image?  What is required to set up the Dolphin
> image to listen for TCP connections from the servlet on the Linux box?

Another approach would be to use Steve Warning's implementation of the fast_cgi
"standard" at http://www.dolphinharbor.org/dh/projects/fs/index.html.

The architecture is similar except that the connection is made directly by
apache rather than via tomcat and, IIRC, fast_cgi keeps the TCP connection open
and multiplexes requests over it internally, OTOH fast_cgi doesn't give you the
session management stuff that comes with a servlet container like tomcat.

(I haven't actually *tried* either of these solutions, BTW ;-)

    -- chris


Reply | Threaded
Open this post in threaded view
|

Re: How do you "web" your dolphin?

Damon
In reply to this post by ar-4
"Chris Uppal" <[hidden email]> wrote in message news:<3ef807fe$0$45184$[hidden email]>...

> Damon wrote:
>
> > Interesting.  So I can have Apache/Tomcat running on a Linux box but
> > the Dolphin image running on a separate Windows box using TCP to
> > communicate with the image?  What is required to set up the Dolphin
> > image to listen for TCP connections from the servlet on the Linux box?
>
> Another approach would be to use Steve Warning's implementation of the fast_cgi
> "standard" at http://www.dolphinharbor.org/dh/projects/fs/index.html.
>
> The architecture is similar except that the connection is made directly by
> apache rather than via tomcat and, IIRC, fast_cgi keeps the TCP
> connection open and multiplexes requests over it internally, OTOH fast_cgi
> doesn't give you the session management stuff that comes with a servlet
> container like tomcat.
>
> (I haven't actually *tried* either of these solutions, BTW ;-)
>
>     -- chris

Thanks Chris.  I'll take a look at fast_cgi.  I like the idea of
having an Apache plug-in, though session management is also important
for some things I need to do.


ar <[hidden email]> wrote in message news:<[hidden email]>...

>
> Yes, that should work fine. Presumably the web server serves static pages
> and images which live in the webapp alongside the java servlet, and
> Dolphin serves whatever you would normally serve in a java servlet. What I
> do is store pages in XHTML format and parse them using the dolphin xml
> parser into an html framework which is something like apache ECS. I use id
> attributes to address nodes on the page in order to add dynamic content.
> Then I turn the page back into a string and send it back to the java
> servlet.
>
> The xml and html stuff is not in the servlet package but I could publish
> those too if anyone was interested.

Thanks also, Alan.  I'd be very interested in those packages.  That
would offer a very nice solution to embedding a Smalltalk application
within a Java servlet: Jar up all the necessary HTML and XHTML pages
into a single war file, drop it into Tomcat, and let Smalltalk handle
all the dynamic content.  Sweet!

Damon


Reply | Threaded
Open this post in threaded view
|

Re: How do you "web" your dolphin?

ar-4
In reply to this post by Chris Uppal-3
On Tue, 24 Jun 2003 09:01:08 +0100, Chris Uppal wrote:

> Another approach would be to use Steve Warning's implementation of the
> fast_cgi "standard" at
> http://www.dolphinharbor.org/dh/projects/fs/index.html.
>
> The architecture is similar except that the connection is made directly
> by apache rather than via tomcat and, IIRC, fast_cgi keeps the TCP
> connection open and multiplexes requests over it internally, OTOH
> fast_cgi doesn't give you the session management stuff that comes with a
> servlet container like tomcat.

Just a BTW and IMHO, making a fresh connection on each request (which
happens anyway in http) is not a significant performance component of a
typical request, otherwise the WWW would be in trouble:)

Anyway in my timings of smalltalk servlets it didnt really show up on the
radar. It's really TCP turnarounds that are killer, I have it down to
about one turnaround which makes it pretty fast.

-alan r.


Reply | Threaded
Open this post in threaded view
|

Re: How do you "web" your dolphin?

1wbj9yejnp001
In reply to this post by Damon
On 24 Jun 2003 14:25:34 -0700, [hidden email] (Damon) wrote:

>ar <[hidden email]> wrote in message news:<[hidden email]>...
>>
>> Yes, that should work fine. Presumably the web server serves static pages
>> and images which live in the webapp alongside the java servlet, and
>> Dolphin serves whatever you would normally serve in a java servlet. What I
>> do is store pages in XHTML format and parse them using the dolphin xml
>> parser into an html framework which is something like apache ECS. I use id
>> attributes to address nodes on the page in order to add dynamic content.
>> Then I turn the page back into a string and send it back to the java
>> servlet.
>>
>> The xml and html stuff is not in the servlet package but I could publish
>> those too if anyone was interested.
>
>Thanks also, Alan.  I'd be very interested in those packages.  That
>would offer a very nice solution to embedding a Smalltalk application
>within a Java servlet: Jar up all the necessary HTML and XHTML pages
>into a single war file, drop it into Tomcat, and let Smalltalk handle
>all the dynamic content.  Sweet!

Ok, I put the XML package out there

http://www.reider.net/dolphinsmalltalk/free/software.html

Any bug reports or other feedback would be appreciated


ps, in another post I just wrote:

>Just a BTW and IMHO, making a fresh connection on each request (which
>happens anyway in http) is not a significant performance component of a
>typical request, otherwise the WWW would be in trouble:)
>
>Anyway in my timings of smalltalk servlets it didnt really show up on the
>radar. It's really TCP turnarounds that are killer, I have it down to
>about one turnaround which makes it pretty fast.

Actually, failing to buffer the traffic is a huge hit too.

-alan r.


Reply | Threaded
Open this post in threaded view
|

Re: How do you "web" your dolphin?

Damon
> Ok, I put the XML package out there
>
> http://www.reider.net/dolphinsmalltalk/free/software.html
>
> Any bug reports or other feedback would be appreciated
>
>

Thanks Alan.  I'll try this out shortly, and let you know it works.

Damon


Reply | Threaded
Open this post in threaded view
|

Re: How do you "web" your dolphin?

Chris Uppal-3
In reply to this post by ar-4
ar wrote:

> > The architecture is similar except that the connection is made
> > directly by apache rather than via tomcat and, IIRC, fast_cgi keeps
> > the TCP connection open and multiplexes requests over it
> > internally, OTOH fast_cgi doesn't give you the session management
> > stuff that comes with a servlet container like tomcat.
>
> Just a BTW and IMHO, making a fresh connection on each request (which
> happens anyway in http) is not a significant performance component of
> a typical request, otherwise the WWW would be in trouble:)

Sorry, I didn't mean it to sound as if your approach was slow.  I did have a
sub-clause to the effect that it wouldn't make a real difference in practice in
an earlier version of the post, but took it out because it made the sentence
too long even for me...

Yes I agree that in most circumstances the setup/tear-down time of a TCP
connection will not matter.  I suppose an exception might be if the Servlet
container and the Dolphin image were separated by a major ocean and several
firewalls, but that can't be a too common situation.

BTW, HTTP 1.1 introduced the ability to chain several request-response pairs
over a single connection precisely because there *was* a perceived performance
problem for real world (long distance) connections (i.e. not over the local
LAN, or similar).  Come to that, Sun introduced the JAR format for the same
reason.

    -- chris


Reply | Threaded
Open this post in threaded view
|

Re: How do you "web" your dolphin?

ar-4
In reply to this post by Damon
On Wed, 25 Jun 2003 12:40:02 -0700, Damon wrote:

>> Ok, I put the XML package out there
>>
>> http://www.reider.net/dolphinsmalltalk/free/software.html
>>
>> Any bug reports or other feedback would be appreciated
>>
>>
>>
> Thanks Alan.  I'll try this out shortly, and let you know it works.
>
> Damon

Your welcome. I just updated the xml package which now includes the html
package and fixes some minor bugs.

-Alan

--

sure is _quiet_ around here