We are considering when and how to release a lot of the code in Swiki.net...there is a lot of stuff in there that is generally useful. We've also talked with the guys working on Swazoo/Aida...probably, our first step will be to organize our stuff and get it out...then we can begin to think about other issues.
In the meantime, I've attached links to the 2 page extended abstract and the powerpoint presentation that I gave...in the demo, I actually had a lot of material that was presented directly in Squeak, but it's kind of meaningless without explanation.
Here are the links:
http://spair.swiki.net/.uploads/oopsla00/NetUnify_OOPSLA00.ppt http://spair.swiki.net/.uploads/oopsla00/NetUnifyExtendedAbstract.pdf
- Stephen
-----Original Message----- From: Ian Trudel [mailto:ian.trudel@tr.cgocable.ca] Sent: Saturday, October 28, 2000 9:27 AM To: squeak@cs.uiuc.edu Subject: Re: Swiki.net vs. Comanche ?
It would be nice to see a transcript, slides or something from Stephen's demonstration at OOPSLA. Tuesday 4:15 pm - 5:00 pm, Wednesday 4:15 pm - 5:00 pm 18. Implementing NetUnify.com Using Squeak as an App Server Stephen Pair, NetUnify.com
Yes, it'd be very nice! ::)
*squeak* *squeak* said the little mouse while eating a Java hog. Ian Trudel, mailto:ian.trudel@tr.cgocable.ca
Thanks for the links and providing the information.
I read your PDF and enjoyed the your description of the technologies you used.
Permission system: Does this provide delegated access to objects, pages, directories? Sessions Virtual Hosting Squeak Server Pages Remote Server Management XML Database
All of these would be great additions to Squeak and/or Squeak Web Servers. Are any of these already publicly available?
I find the database of tremendous interest. It would seem that it would/could be of value to any Squeaker. There are many desktop apps which could benefit from a native XML/object database.
I believe Squeak Web Systems need all of the above and will eventual get them. However, it would be tremendous if the community was blessed with a current implementation or project to be able to run with.
Thanks again for sharing this information. I look forward to seeing what becomes available in the near future.
Jimmie Houchin
Stephen Pair wrote:
We are considering when and how to release a lot of the code in Swiki.net...there is a lot of stuff in there that is generally useful. We've also talked with the guys working on Swazoo/Aida...probably, our first step will be to organize our stuff and get it out...then we can begin to think about other issues.
In the meantime, I've attached links to the 2 page extended abstract and the powerpoint presentation that I gave...in the demo, I actually had a lot of material that was presented directly in Squeak, but it's kind of meaningless without explanation.
Here are the links:
http://spair.swiki.net/.uploads/oopsla00/NetUnify_OOPSLA00.ppt http://spair.swiki.net/.uploads/oopsla00/NetUnifyExtendedAbstract.pdf
- Stephen
[snip]
Thanks for the links and providing the information.
I read your PDF and enjoyed the your description of the technologies you used.
Thanks!
Permission system: Does this provide delegated access to objects, pages, directories?
I'm not exactly sure what you mean, but probably yes. The authentication mechanism allows easy definition of "net actions." Each net action is assigned a security level. It's up to the object (or it's presenter) to determine semantic meaning of that security level. In addition, any object can have an authorization set attached to it that defines what account have access level for a given object (thus defining the set of net actions a given user has access to).
Sessions Virtual Hosting Squeak Server Pages Remote Server Management XML Database
All of these would be great additions to Squeak and/or Squeak Web Servers. Are any of these already publicly available?
- Squeak server pages is ... see http://ssp-squeak.swiki.net - Sessions I believe is already part of comanche (see http://comanche.swiki.net), but we may have added some more capabilities in that area
The other stuff should come over time and Je77 or Bolot may have a variant on some of these in their Comanche and Swiki work.
The next thing I'm working toward is a good transaction service implementation. I've got a Transactional Compiler and the start of a robust framework (that will support TIP). I'm planning on writing a paper for this one to illustrate clearly how to use it...I see it as a critical part of any application server.
I find the database of tremendous interest. It would seem that it would/could be of value to any Squeaker. There are many desktop apps which could benefit from a native XML/object database.
There are several solutions available already (I just found it more fun to build my own)...there's Minnestore, a MySql interface, and probably others. I'm trying to get to a scalable solution that will have multiple Squeak images able to access multiple OODBs using a coordinating Squeak image, with object references among them, and garbage collection. The ultimate goal here is to get a cluster of Squeak app servers working together behind a load balancer with each node capable of maintining it's own local in-memory object cache. I have the basics done...GC, mapping, caching, object refs...but no multi-image stuff yet, and Swiki.net/NetUnify is not powered by it yet. Again, the transaction stuff is critical here.
I believe Squeak Web Systems need all of the above and will eventual get them. However, it would be tremendous if the community was blessed with a current implementation or project to be able to run with.
I agree...I've had fun working with Squeak as a server and it's an area in which I think it has great potential.
Thanks again for sharing this information. I look forward to seeing what becomes available in the near future.
Me too. ;)
- Stephen
Stephen Pair wrote: [snip]
Permission system: Does this provide delegated access to objects, pages, directories?
I'm not exactly sure what you mean, but probably yes. The authentication mechanism allows easy definition of "net actions." Each net action is assigned a security level. It's up to the object (or it's presenter) to determine semantic meaning of that security level. In addition, any object can have an authorization set attached to it that defines what account have access level for a given object (thus defining the set of net actions a given user has access to).
I am coming from a background in Zope. With Zope you have a sophisticated permission system which allows the owner/creator/manager of an object the capacity to determine who is able to do what with the object. The URL is used to traverse the object system. URL's create hierarchies. Permissions can be established from various points in the hierarchy for various individuals. The individual can thus be restricted or empowered from said point.
Example.
www.mysite.com/company_A/ is a directory for Company A www.mysite.com/company_A/news/ www.mysite.com/company_A/products/ www.mysite.com/company_B/ is a directory for Company B
Manager from company A can be restricted to only modifying or viewing content below company_A, likewise someone from Company B to company_b. The news manager for company A can have authority in the news directory and below but not the products directory or below. Permissions can be inherited (or acquired via context) and overridden individually or hierarchically.
Hopefully this helps.
Sessions Virtual Hosting Squeak Server Pages Remote Server Management XML Database
All of these would be great additions to Squeak and/or Squeak Web Servers. Are any of these already publicly available?
- Squeak server pages is ... see http://ssp-squeak.swiki.net
- Sessions I believe is already part of comanche (see
http://comanche.swiki.net), but we may have added some more capabilities in that area
Thanks for the links. I'll look into the SSP. :)
The other stuff should come over time and Je77 or Bolot may have a variant on some of these in their Comanche and Swiki work.
The next thing I'm working toward is a good transaction service implementation. I've got a Transactional Compiler and the start of a robust framework (that will support TIP). I'm planning on writing a paper for this one to illustrate clearly how to use it...I see it as a critical part of any application server.
This sounds great. I agree it is critical. I look forward to reading your paper.
I find the database of tremendous interest. It would seem that it would/could be of value to any Squeaker. There are many desktop apps which could benefit from a native XML/object database.
There are several solutions available already (I just found it more fun to build my own)...there's Minnestore, a MySql interface, and probably others. I'm trying to get to a scalable solution that will have multiple Squeak images able to access multiple OODBs using a coordinating Squeak image, with object references among them, and garbage collection. The ultimate goal here is to get a cluster of Squeak app servers working together behind a load balancer with each node capable of maintining it's own local in-memory object cache. I have the basics done...GC, mapping, caching, object refs...but no multi-image stuff yet, and Swiki.net/NetUnify is not powered by it yet. Again, the transaction stuff is critical here.
I like your vision of the future. I would like to see it as reality. Unfortunately I am not skilled enough to help. Maybe others can, I don't know.
Currently I will probably be using PostgreSQL. However, I much prefer to stay in an object system and preferable within Squeak.
I thought I saw something about image segments. Is there any information about that anywhere? I've tried to search the egroups archives but searching for "image" and "segments" isn't easy. :(
I thought (maybe naively so) that if image segments were possible that they would make for a great basis of an OODB. Reasoning that they are the native objects system of Squeak. If multiple Squeak image segments were usable from a master Squeak (and image) then one could partition apps and data into their own image segment. Just some thoughts. I may be late to this party. :)
I believe Squeak Web Systems need all of the above and will eventual get them. However, it would be tremendous if the community was blessed with a current implementation or project to be able to run with.
I agree...I've had fun working with Squeak as a server and it's an area in which I think it has great potential.
I am just learning Squeak and Smalltalk. Currently the code still looks foreign to me, but I am intrigued by the IDE and working in a running system with all of the code available for browsing, modifying, etc. Coming from a Mac background it feels more comfortable than creating in a text editor and then compiling or using the interpreter. I also like what I read about the Squeak/Smalltalk philosophy.
Thanks again for sharing this information. I look forward to seeing what becomes available in the near future.
Me too. ;)
- Stephen
Jimmie Houchin
I am coming from a background in Zope. With Zope you have a sophisticated permission system which allows the owner/creator/manager of an object the capacity to determine who is able to do what with the object...
Yes, this is very similar to what we do in Swiki.net
I thought I saw something about image segments. Is there any information about that anywhere? I've tried to search the egroups archives but searching for "image" and "segments" isn't easy. :(
I can't point you to anything directly (other than the image itself). Perhaps Dan has a good description of them.
I thought (maybe naively so) that if image segments were possible that they would make for a great basis of an OODB. Reasoning that they are the native objects system of Squeak. If multiple Squeak image segments were usable from a master Squeak (and image) then one could partition apps and data into their own image segment. Just some thoughts. I may be late to this party. :)
I believe they can be the basis for a great OODB...however, the last time I looked, image segments specified a system of objects by identifying a set of "root objects" and then using the garbage collector to find all objects in the shadow of those roots. This is fine for certain applications, however, it is probably too slow for a database full of a bunch of really small ones. What's needed is a way of specifying the set of objects to go in an image segment in a more declarative way, avoiding the need to use GC...maybe this has been added recently? I don't think it should be too hard to do and would be really useful.
- Stephen
Stephen Pair wrote:
Jimmie Houchin wrote:
I thought I saw something about image segments. Is there any information about that anywhere? I've tried to search the egroups archives but searching for "image" and "segments" isn't easy. :(
I can't point you to anything directly (other than the image itself). Perhaps Dan has a good description of them.
I thought (maybe naively so) that if image segments were possible that they would make for a great basis of an OODB. Reasoning that they are the native objects system of Squeak. If multiple Squeak image segments were usable from a master Squeak (and image) then one could partition apps and data into their own image segment. Just some thoughts. I may be late to this party. :)
I believe they can be the basis for a great OODB...however, the last time I looked, image segments specified a system of objects by identifying a set of "root objects" and then using the garbage collector to find all objects in the shadow of those roots. This is fine for certain applications, however, it is probably too slow for a database full of a bunch of really small ones. What's needed is a way of specifying the set of objects to go in an image segment in a more declarative way, avoiding the need to use GC...maybe this has been added recently? I don't think it should be too hard to do and would be really useful.
What I had in mind was very much an explicit use of image segments for persistence of certain objects. For example in a web app the web app logic would be in the root image. This image would also contain any persistence not explicitly specified to other image segments. This would allow for the image segments to be used similarly to tables in a RDBMS. In many instances the objects stored would require little GC due to the nature of what is stored.
This would still require transaction machinery to be really useful. All in all I don't know that it would have any advantages over what you have created or are creating as described in your PDF. At least not in web apps which need to scale.
Jimmie Houchin
- Stephen
squeak-dev@lists.squeakfoundation.org