[Seaside] Re: Building realtime applications with Seaside

Philippe Marschall philippe.marschall at gmail.com
Thu Jun 19 07:26:52 UTC 2014


On Wed, Jun 18, 2014 at 8:11 PM, Andy Burnett
<andy.burnett at knowinnovation.com> wrote:
>
>> <<
>>
>> > I believe (if I remember correctly), that the app (vaguely) described here
>> >
>> >   http://forum.world.st/Another-Pharo-based-solution-released-td4762341.html
>> >
>> > is also using web sockets. But you should ask.
>> >
>> > It is perfectly possible to combine Seaside with other servers/services in the same or different images. But this is a broad subject.
>>
>> Correct. Implement the real time part in Zinc and let the other things
>> go through to the Seaside adapter.
>>
>> Cheers
>> Philippe
>>
> >>
>
> Thanks guys. I want to be absolutely clear about your advice - partly for my benefit, but also for people who might search for these answers.
>
> If we take the example of creating a real time things to do list.
>
> Seaside could be appropriate for creating e.g. the login system, account management, reporting etc. Basically, anything that doesn't need to be updated in real time, and shared between users synchronously
> The real time components would be handled by Zinc, and integrated into the overall application.

Correct.

> If I have got that right, this poses some other questions:
>
> How does one handle session management and authentication between the two elements. For example. I login to the Seaside session on port 80, and navigate to the real time url. Let's assume Zinc is running on port 3000.  Is there any - built-in - way for the Zinc server to know that I am authenticated already? Or, do I have to roll my own approach?

I would run both on the same port. Remember Seaside is not a web
server, Zinc is. Zinc does it's thing first and the delegates to
Seaside. For the real time parts you would simply implement them in
Zinc an then not delegate to seaside.
I would try to avoid dependencies on seaside sessions from the
realtime part. Instead I would depend only on domain objects. You may
need a "message bus" between the parts.

Cheers
Philippe


More information about the seaside mailing list