Hi all ,
Today is almost obligatory develop applications which must be 'web enable'. It means that apps can be used on a browser or can execute remotely bettween serv and clients using web technologies to do that. Dolphin does not have native mechanism to do that things. Are Anyone developing web enable app with Dolphin. What technologies are sugested to use in that scenary. TIA Pablo PD : Sorry for my english |
> Today is almost obligatory develop applications which must be 'web
> enable'. It means that apps can be used on a browser or can execute > remotely bettween serv and clients using web technologies to do that. > Dolphin does not have native mechanism to do that things. > Are Anyone developing web enable app with Dolphin. What technologies are > sugested to use in that scenary. You can use Steve Waring SPRAY toolkit to develop web services. You can use Swazoo to develop a web application. You can use FastCGI to connect Apache to a Dolphin server. I've knocked together an SCGI server, which serves the same purpose as FastCGI. Soon you will be able to develop web apps in Seaside for Dolphin. I believe Dolphin 6 is even going to include some sample Swazoo web applications. In terms of architecture, this is how I will be deploying a web app I'm currently building: Multiple single threaded images (Meaning they don't fork socket connections. Each image handles one connection at a time, only) Each image has a single database connection. Then a load balancer to distribute requests between the images. Saves the headache of sharing db connections/other resources between multiple processes. It also means I can leave the concurrency issues to the database. |
In reply to this post by pdigonzelli
Pablo Digonzelli escribió:
> Hi all , > Today is almost obligatory develop applications which must be 'web > enable'. It means that apps can be used on a browser or can execute > remotely bettween serv and clients using web technologies to do that. > Dolphin does not have native mechanism to do that things. > Are Anyone developing web enable app with Dolphin. What technologies are > sugested to use in that scenary. Pablo: To develop web "enabled" applications in Dolphin, you can use the Smalltalk Web server Swazoo, available at: <http://www.dolphinharbor.org/dh/projects/swazoo/download.html> It is a "native mechanism" (whatever it means), swazoo is a well designed web server entirely written in Smalltalk (and available for other smalltalk dialects also). For a nice example of what can be done using Dolphin to serve web requests you can point your browser to: <http://www.gorisek.com/WikiDoc/WikiPage> Best regards, -- Esteban. |
In reply to this post by Sean M-4
Sean M escribió:
> In terms of architecture, this is how I will be deploying a web app I'm > currently building: > Multiple single threaded images (Meaning they don't fork socket connections. > Each image handles one connection at a time, only) > Each image has a single database connection. > Then a load balancer to distribute requests between the images. > Saves the headache of sharing db connections/other resources between > multiple processes. > It also means I can leave the concurrency issues to the database. ¿How this scale when you have 30 concurrent users? Perhaps adding more CPU and RAM solves the problem... Best regards. -- Esteban. |
>> Saves the headache of sharing db connections/other resources between
>> multiple processes. It also means I can leave the concurrency issues to >> the database. > > ¿How this scale when you have 30 concurrent users? > Perhaps adding more CPU and RAM solves the problem... I don't know. I would _imagine_ that yes, throwing more hardware at it, and just running more images on more servers would allow you to scale it easily. Provided you're not trying to do lots of fancy session state, ie: Persist session data to a database or something at the end of a request. |
In reply to this post by Sean M-4
Sean,
we seem to be on a similar development track regarding Dolphin client apps and the deployment of a Dolphin server. How are you handling security (Digital Signatures and User Authentication)? Just curious about your approach concerning these two beasties. If you can't discuss such solutions in public, feel free to email me. When it comes to the server side, I will be changing out my database system for ReStore. At present, each service on the server has its own persistence manager that handles database transactions. It works, but ReStore will do a much better job. Also means I don't have to craft handwritten code for all CRUD transactions. Pax |
> we seem to be on a similar development track regarding Dolphin client
> apps and the deployment of a Dolphin server. How are you handling > security (Digital Signatures and User Authentication)? Just curious > about your approach concerning these two beasties. If you can't discuss > such solutions in public, feel free to email me. User auth, I haven't even thought about that. How I will do it: HTTPS + Basic authentication. Won't be worrying about client signatures etc. The stuff I'm doing doesn't call for extreme security measures. > When it comes to the server side, I will be changing out my database > system for ReStore. At present, each service on the server has its own > persistence manager that handles database transactions. It works, but > ReStore will do a much better job. Also means I don't have to craft > handwritten code for all CRUD transactions. Yeah I'm using ReStore too :) |
> Yeah I'm using ReStore too :)
Kewl, not that it's critical but what size executables have you seen with your server using ReStore? Right now I'm seeing 690k for my server image. The customers are just baffled by this small size not to mention the size of client applications being small as well. I'm thinking that after I remove my server-side database system, the image will trim down somewhat. I'm betting that transaction performance will also benefit from ReStore. From what I hear and have read, ReStore rocks! Pax |
> Kewl, not that it's critical but what size executables have you seen
> with your server using ReStore? Right now I'm seeing 690k for my server > image. The customers are just baffled by this small size not to mention > the size of client applications being small as well. I'm thinking that > after I remove my server-side database system, the image will trim down > somewhat. I'm not stripping down to .exe's. I'm running full images. Keeping in mind these images are not for public consumption. I'm not building web apps for customers. Unless you consider me the customer! I might be breaking the OA license agreement with regards to redistributables, but I don't think so. I basically have full development images running, but I have created a Smaller "Server" image, which only contains the CHB and the Debugger. > I'm betting that transaction performance will also benefit from > ReStore. From what I hear and have read, ReStore rocks! The only issue I have with ReStore is inserting a new object into a collection results in pulling back the whole collection. Bruno posted one solution which meant writing actual SQL which sort of defeats the purpose of ReStore. Also writing your own SQL opens you up to having more to maintain if you change any of your class definition code.. But I guess that's the price to pay until John releases the next version! |
Free forum by Nabble | Edit this page |