Dear all,
Happy new year to all of you, let your wishes come to true and let you have great moments with Aida too! Let me make a brief retrospection of last year. We achieved two big things: 1. New website 2. Aida 6.0 with a tree-like control flow And not to forget new ports: Smalltalk/X by Jaroslav and Jan, and refresh of Dolphin port by Bruno. Thanks also to all other contributors, being in ideas, discussions, pointing out deficients etc. Quite some of your ideas are in 6.0 already, many more are coming in 6.1 and future releases. In this year there are few important things already in a queue: - form validation (ajaxified and traditional) - action blocks - more tree-like control flow - specially for popup windows - finish the translation support - Scribo out of beta to the final release - persistence (file/XML based) for both Aida and Scribo - Aida hosting - Documentation, documentation, documentation, .... Any more ideas what to put on this list? So, a lot of interesting work and a lot of exciting moments are waiting for us with Aida in this year too! Best regards Janko PS.: I'll be more responsive to your posts and questions and not just forget to answer, I promise! All of you still waiting for answer please forgive me for such behavior, well, it is hard to find any credible excuse :) -- Janko Mivšek AIDA/Web Smalltalk Web Application Server http://www.aidaweb.si _______________________________________________ Aida mailing list [hidden email] http://lists.aidaweb.si/mailman/listinfo/aida |
Can Aida communicate with a Smalltalk based client other than InternetExplorer?
Can Aida facilitate general client server programming across the internet? Can Aida generate Smalltalk instead of html? Or any other language? Here is the scenario: A user comes to my website. They click on a link and a .exe file is downloaded onto their machine. This .exe was created using Dolphin Smalltalk. They either save it to disk and run it or just run it. It is the client program. The running client program now contacts a Dolphin server somewhere on the web. The running client program sends information back to the server about what the user is doing with the program. The user can chat or send written feedback back to the server. etc. The communication between the server and the program is not html. It is some other textual language. Either Smalltalk or picoLARC. What is the best way to do this kind of client server communication? Is it raw sockets? Can Aida be used? Is there an easy way to make a Smalltalk client that can talk to an Aida server via Smalltalk code or some other text but Not html? Or should I just try to use raw sockets? If Aida can generate html via a tree structure then why can't it also generate Smalltalk? And why couldn't I also make a Smalltalk based client program that talks to Aida? No web browser is used. 2010/1/2 Janko Mivšek <[hidden email]>: > Dear all, > > Happy new year to all of you, let your wishes come to true and let you > have great moments with Aida too! > > Let me make a brief retrospection of last year. We achieved two big things: > > 1. New website > 2. Aida 6.0 with a tree-like control flow > > And not to forget new ports: Smalltalk/X by Jaroslav and Jan, and > refresh of Dolphin port by Bruno. Thanks also to all other contributors, > being in ideas, discussions, pointing out deficients etc. Quite some of > your ideas are in 6.0 already, many more are coming in 6.1 and future > releases. > > In this year there are few important things already in a queue: > > - form validation (ajaxified and traditional) > - action blocks > - more tree-like control flow - specially for popup windows > - finish the translation support > - Scribo out of beta to the final release > - persistence (file/XML based) for both Aida and Scribo > - Aida hosting > - Documentation, documentation, documentation, .... > > Any more ideas what to put on this list? > > So, a lot of interesting work and a lot of exciting moments are waiting > for us with Aida in this year too! > > Best regards > Janko > > PS.: I'll be more responsive to your posts and questions and not just > forget to answer, I promise! All of you still waiting for answer please > forgive me for such behavior, well, it is hard to find any credible > excuse :) > > -- > Janko Mivšek > AIDA/Web > Smalltalk Web Application Server > http://www.aidaweb.si > _______________________________________________ > Aida mailing list > [hidden email] > http://lists.aidaweb.si/mailman/listinfo/aida > Aida mailing list [hidden email] http://lists.aidaweb.si/mailman/listinfo/aida |
Hi Kjell,
KG> Can Aida communicate with a Smalltalk based client other than InternetExplorer? if I wanted to do this I'd use firebug to watch the network traffic and simulate the browser's requests via a smalltalk program. KG> Can Aida generate Smalltalk instead of html? Or any other language? Dunno, Janko? KG> The communication between the server and the program is not html. It KG> is some other textual language. Either Smalltalk or picoLARC. KG> Is it raw sockets? Can Aida be used? IMO sockets, UDP protocol and send JSON objects between the two Smalltalk images (client and server). For Squeak there is a JSON package which serializes and deserializes Smalltalk Objects to JSON objects. KG> Or should I just try to use raw sockets? IMHO yes and use UDP instead of IP and take care about lost packets yourself. But that depends on your application. I once controlled an Asteroids simulation that way where real time was more important than not loosing packets so maybe I'm biased :-)) KG> If Aida can generate html via a tree structure then why can't it also KG> generate Smalltalk? Donno how complicated that would be but for security reasons I would not use Smalltalk. Your JSON serialized Smalltalk objects have a well defined set of messages which only the server controls while if you send Smalltalk some malevolent client can make your server run arbitrary code. KG> And why couldn't I also make a Smalltalk based KG> client program that talks to Aida? No web browser is used. No reason why and I would be interested in your experience for testing web applications (simulating many users). Cheers, Herbert mailto:[hidden email] _______________________________________________ Aida mailing list [hidden email] http://lists.aidaweb.si/mailman/listinfo/aida |
Hi
HK> Donno how complicated that would be but for security reasons I would HK> not use Smalltalk. Your JSON serialized Smalltalk objects have a well HK> defined set of messages which only the server controls while if you HK> send Smalltalk some malevolent client can make your server run HK> arbitrary code. just peeked into a discussion on Squeak dev and they mentioned the openTalk remote message passing framework for Smalltalk which might be interesting for you. Cheers, Herbert mailto:[hidden email] _______________________________________________ Aida mailing list [hidden email] http://lists.aidaweb.si/mailman/listinfo/aida |
In reply to this post by Herbert König
Hi Kjell,
I would rather stop thinking about running anything else on web client than JavaScript programs those days. And specially for future days too. It is pretty evident, that JavaScript based web client programming will prevail in near future over all other languages. See only what is Google doing. The best approach for us Smalltalkers seems to be the as better as possible support for JavaScript, but from Smalltalk. There are quite some effords already on the way on Smalltalk community and I think Aida needs to choose and incorporate one of these. Communication from client to server is then normally done via the same HTTP connection as the main browser uses, with help of JSON serialization as Herbert pointed out already. Best regards Janko On 23. 01. 2010 11:46, Herbert König wrote: > Hi Kjell, > > > KG> Can Aida communicate with a Smalltalk based client other than InternetExplorer? > > if I wanted to do this I'd use firebug to watch the network traffic > and simulate the browser's requests via a smalltalk program. > > KG> Can Aida generate Smalltalk instead of html? Or any other language? > > Dunno, Janko? > > KG> The communication between the server and the program is not html. It > KG> is some other textual language. Either Smalltalk or picoLARC. > > KG> Is it raw sockets? Can Aida be used? > > IMO sockets, UDP protocol and send JSON objects between the two > Smalltalk images (client and server). For Squeak there is a JSON > package which serializes and deserializes Smalltalk Objects to JSON > objects. > > KG> Or should I just try to use raw sockets? > > IMHO yes and use UDP instead of IP and take care about lost packets > yourself. But that depends on your application. I once controlled an > Asteroids simulation that way where real time was more important than > not loosing packets so maybe I'm biased :-)) > > KG> If Aida can generate html via a tree structure then why can't it also > KG> generate Smalltalk? > > Donno how complicated that would be but for security reasons I would > not use Smalltalk. Your JSON serialized Smalltalk objects have a well > defined set of messages which only the server controls while if you > send Smalltalk some malevolent client can make your server run > arbitrary code. > > KG> And why couldn't I also make a Smalltalk based > KG> client program that talks to Aida? No web browser is used. > > No reason why and I would be interested in your experience for testing > web applications (simulating many users). > > > Cheers, > > Herbert mailto:[hidden email] -- Janko Mivšek AIDA/Web Smalltalk Web Application Server http://www.aidaweb.si _______________________________________________ Aida mailing list [hidden email] http://lists.aidaweb.si/mailman/listinfo/aida |
Le samedi 23 janvier 2010 à 12:11 +0100, Janko Mivšek a écrit :
> > Communication from client to server is then normally done via the same > HTTP connection as the main browser uses, with help of JSON > serialization as Herbert pointed out already. Hi, Janko, maybe you could have a look at how I did it in Iliad? We use JSON everywhere to update the DOM is javascript is enabled. We now also handle ajax bookmarking and the back button, and we can even add scripts and css files on the fly, using AJAX and JSON too. The client side: http://github.com/NicolasPetton/iliad/blob/master/Core/Public/javascripts/iliad.js And the server part: http://github.com/NicolasPetton/iliad/blob/master/Core/RequestHandlers/ILJsonHandler.st Cheers! Nico _______________________________________________ Aida mailing list [hidden email] http://lists.aidaweb.si/mailman/listinfo/aida signature.asc (204 bytes) Download Attachment |
In reply to this post by Herbert König
Thank you so much for your very helpful reply.
I hope you can help me some more. Thank you so much in advance. If you have any consulting services I would like to hear about it. I'm probably too cheap but I'd like to hear about it. This e-mail post has a What I am doing now section up here at the top and a client server section below that and a picoLARC section below that. I am using Dolphin but not Squeak. So I am restricted to Dolphin Smalltalk. I am trying to make an online teaching program for autistic children/people. Part of it will be an online programming collaborative setup that uses the picoLARC language. I have a demo .exe client made using Dolphin and I would like to send it to Simon Baron Cohen who is an autism researcher in England( he said he would look at it ). I would like to be able to chat with him online while he is using the demo. Dolphin does have a Chat program in it. But that might be too hard to link up since we are 9 hours apart. So I would like him to be able to send feedback right into the demo .exe client program that is running on his machine that he just downloaded to run. Using AidaWeb. Here is what I want to do now : ----------------------------------------- I want to have a button everywhere in the client program that is for [ Feedback ]. When the user clicks on it the client .exe program generates a small html file on the client machine and tells Internet Explorer to open it. The html file has a feedback link in it that points at an AidaWeb server on the web( the url web link has info in it about which [ Feedback ] button was clicked ). The user clicks this link in IE and the AidaWeb server responds with the SSL secure html for a feedback webpage where you can type in a message and hit the send button and the feedback message gets sent to the Dolphin AidaWeb server. So my question is: What is the best way to make the AidaWeb code for such a feedback webpage? Is it in the AidaWeb tutorial? Is there a template? Are there public resources? Subscription resources? Can I configure SSL secure sockets in Dolphin AidaWeb? Is there a better way to do this? ( I don't have much time , it's just a demo , etc ) Is there a way to make the initial html file so that when IE opens it it automatically sends the link request to the AidaWeb server so the user doesn't have to click on the extra link? And then the feedback page comes up. And then I would like to get the the messages from the AidaWeb server so I can see them and reply to them. When the user clicks the [ Check Replys ] button on the .exe client program the client generates another html file and IE opens it. The user clicks the Check Replys link and the AidaWeb server sends back the message reply page which has my reply to him and a reply text box at the bottom with [ reply ] button next to it. So it's like a forum. Does AidaWeb do forums? Is there a forum template? etc. Can AidaWeb do chat? Is there an AidaWeb based web design service that I can pay for where I can quickly design web pages in AidaWeb using all sorts of templates and etc and then install the Dolphin Packaged code generated for it into my server image? If not then why not? I would definitely pay something for such a service right now. Is there some way that the AidaWeb server can signal me on my machine( which is not the server machine ) when/if Simon Baron Cohen sends me feedback so I can reply to it? Perhaps I could maintain an open raw socket connection between my machine and the AidaWeb server? So when the server got the feedback it could send a message to my running Dolphin image? Which could beep? Or better yet the AidaWeb server sends a text message to my cell phone so it could beep? ( maybe I should just stick my phone number into the demo ) Or how about this idea : -------------------------------- The client .exe program gets the IP address of Simon Baron Cohen's machine and sends it to the AidaWeb server in the feedback link. Then the AidaWeb server sends me the IP address via a new connection. Then I try to use that IP address in the Dolphin Chat program to chat with Simon. Here is the client server section of this e-mail post : --------------------------------------------------------------------- I am very interested to know that you think Raw sockets is the way to go for client server using Dolphin. Isn't there a problem with holding a connection open for long periods of time? Are there a lot of errors in the received data over IP ? Will I have to do error correcting? Or should the client rather open a connection to the server , Send a serialized binary Object , wait for a reply Object , close the connection ? Dolphin can serialize Objects into ascii text blobs. Should I send text blobs via IP instead of serialized binary Objects? Binary is faster to serialize unserialize. If I use IP then will there be no lost packets? I think that I would prefer IP if there are no lost packets. Here is what I am thinking about security : --------------------------------------------------------- I can serialize objects in Dolphin and send them as binary over IP. Then the server image can send a message to the received object. No smalltalk code is transferred. The vandal will not know which message I send to the received Object. If he tries to send his own designed virus Object it will not unserialize because its Class is not defined in the server image. If I was going to send source code over IP I would probably send picoLARC. I can make a picoLARC dialect inside of picoLARC that will not run arbitrary Smalltalk code. If I knew the JSON instruction set that might be helpful. Can you point me at where the JSON instruction set can be found? What is the best way to find this info? ( ? Download Squeak, Look for JSON in the online Package browser ? ) Where can I find the openTalk? What is the best way to find this info? ( ? Download Squeak, Look for openTalk in the online Package browser ? ) picoLARC is a multidialect lisp/smalltalk combination inside of Dolphin. It is planned to have lisp dialects for all the major languages like C and Prolog and Smalltalk and Scheme and ML and Assembler etc. Each dialect works like the language it mimmics. All the dialects can be mixed together and there is an Object Oriented Macro system that works across all the dialects. You can see an old version of picoLARC on sourceforge.net . The oldest version there runs some test code that can be stepped through to see how it works. But that one didn't have the multidialect idea. The new one has a lisp syntax Assembler lisp dialect that can produce machine code for the Intel ADD instruction and it does all the Intel addressing modes. Now it's just a matter of adding Classes for all the other Intel instructions. Starting with the most useful. At some point I would like to open source the newest version of picoLARC when picoLARC is completely written in picoLARC including the Assemblers. I hope to eventually use picoLARC AssemblerLisp or CLisp ( based on C ) to make a fast virtual machine for picoLARC that will be in a BinaryArray inside of Dolphin. Why rebuild all the Dolphin Windowing from scratch? I don't want to do that. 2010/1/23 Herbert König <[hidden email]>: > Hi Kjell, > > > KG> Can Aida communicate with a Smalltalk based client other than InternetExplorer? > > if I wanted to do this I'd use firebug to watch the network traffic > and simulate the browser's requests via a smalltalk program. > > KG> Can Aida generate Smalltalk instead of html? Or any other language? > > Dunno, Janko? > > KG> The communication between the server and the program is not html. It > KG> is some other textual language. Either Smalltalk or picoLARC. > > KG> Is it raw sockets? Can Aida be used? > > IMO sockets, UDP protocol and send JSON objects between the two > Smalltalk images (client and server). For Squeak there is a JSON > package which serializes and deserializes Smalltalk Objects to JSON > objects. > > KG> Or should I just try to use raw sockets? > > IMHO yes and use UDP instead of IP and take care about lost packets > yourself. But that depends on your application. I once controlled an > Asteroids simulation that way where real time was more important than > not loosing packets so maybe I'm biased :-)) > > KG> If Aida can generate html via a tree structure then why can't it also > KG> generate Smalltalk? > > Donno how complicated that would be but for security reasons I would > not use Smalltalk. Your JSON serialized Smalltalk objects have a well > defined set of messages which only the server controls while if you > send Smalltalk some malevolent client can make your server run > arbitrary code. > > KG> And why couldn't I also make a Smalltalk based > KG> client program that talks to Aida? No web browser is used. > > No reason why and I would be interested in your experience for testing > web applications (simulating many users). > > > Cheers, > > Herbert mailto:[hidden email] > > _______________________________________________ > Aida mailing list > [hidden email] > http://lists.aidaweb.si/mailman/listinfo/aida > Aida mailing list [hidden email] http://lists.aidaweb.si/mailman/listinfo/aida |
Free forum by Nabble | Edit this page |