Application server & web developement enviroment


(Radu M. Obadã) #1

Howdy,
Back in the old days when I was using Python (sigh!), I came across Zope
(http://www.zope.org), which is an extremely powerfull web developement
enviroment (that’s my personal oppinion, of course): it features a
full-blown web-server, fast, secure, with advanced caching techniques, a
HTML embedding scripting language, object oriented database system and
so on…
Now, considering the power that Matz gave us by creating Ruby, wouldn’t
be nice to have such a thing, but written from the ground up in Ruby?
Just some thoughts…
Best wishes,
Radu

This e-mail was scanned by RAV AntiVirus!

···

Xnet scaneaza automat toate mesajele impotriva virusilor folosind RAV AntiVirus.
Xnet automatically scans all messages for viruses using RAV AntiVirus.

Nota: RAV AntiVirus poate sa nu detecteze toti virusii noi sau toate variantele lor. Va rugam sa luati in considerare ca exista un risc de fiecare data cand deschideti fisiere atasate si ca MobiFon nu este responsabila pentru nici un prejudiciu cauzat de virusi.
Disclaimer: RAV AntiVirus may not be able to detect all new viruses and variants. Please be aware that there is a risk involved whenever opening e-mail attachments to your computer and that MobiFon is not responsible for any damages caused by viruses.


(Holden Glova) #2

Radu,

I do the occasional bit of Zope for work and I do agree it is pretty damn
cool! Since I started playing with it, I too have thought this would be great
to have in all Ruby for Ruby. Alas…my spare time is spoken for, but I think
this would be great for Ruby :slight_smile:


Signed,
Holden Glova

···

On Fri, 14 Jun 2002 18:55, Radu M. Obadã wrote:

Howdy,
Back in the old days when I was using Python (sigh!), I came across Zope
(http://www.zope.org), which is an extremely powerfull web developement
enviroment (that’s my personal oppinion, of course): it features a
full-blown web-server, fast, secure, with advanced caching techniques, a
HTML embedding scripting language, object oriented database system and
so on…
Now, considering the power that Matz gave us by creating Ruby, wouldn’t
be nice to have such a thing, but written from the ground up in Ruby?
Just some thoughts…
Best wishes,
Radu


(Austin Ziegler) #3

[stuff regarding a Ruby appserver like Zope]

Isn’t IOWA doing something … similar? I’ll admit that I haven’t
really played with it much, but…

…object oriented database system…

Frankly, this has no value anywhere. If I read another article that
praises OODBs or XMLDBs, I’m going to puke. They have their purposes,
certainly, but they have severe limitations to what they can do. As
an example, I’m currently maintaining a package called Bug Traction
(http://www.halostatue.ca/Corporate/products/bugtraction.html) which
could not be done in a sane manner if it were using an OODB or XMLDB,
because it’s all about relationships between the data – and OODBs
and XMLDBs are strongly hierarchical in nature. If you get your
hierarchy wrong, you’re screwed.

I’m going to be looking at taking Bug Traction from Perl to Ruby (at
some point), and maybe even implementing a Ruby version of My Little
DB (hey, there’s a PHP version of the server – why not a Ruby
version?) as an option for storage for folks who don’t want to use
mySQL or something similar.

But I find that it’s next to impossible to query intelligently in
either an XMLDB or OODB without intimately knowing the structure and
how it fits in the hierarchy – and you cannot get useful information
out of it without that. Granted, you still have to know the structure
with an RDB, but you can get useful information without knowing all
of the relationships that the programs place on them.

Have I mentioned that I hate the hype surrounding these things? Bah.
Hierarchical databases serve a purpose – LDAP shows that – but it’s
a narrow purpose. (Of course, I’m also of the opinion that RDBs are
overused when flat files would do the job as well and safely, and
faster to boot for some applications. Not EVERYTHING needs full
transactional support and relationship management capabilities.)

-austin
– Austin Ziegler, austin@halostatue.ca on 2002.06.14 at 03.44.08

···

On Fri, 14 Jun 2002 15:55:31 +0900, Radu M. Obadã wrote:


(Brad Cox) #4

That’s roughtly what the ILE project is driving to while trying to avoid
issues of their largely graphical approach. Chunks are
present there now. See http://virtualschool.edu under ILE.

···

On Fri, 14 Jun 2002, Radu M. Obadã wrote:

Howdy,
Back in the old days when I was using Python (sigh!), I came across Zope
(http://www.zope.org), which is an extremely powerfull web developement
enviroment (that’s my personal oppinion, of course): it features a
full-blown web-server, fast, secure, with advanced caching techniques, a
HTML embedding scripting language, object oriented database system and
so on…
Now, considering the power that Matz gave us by creating Ruby, wouldn’t
be nice to have such a thing, but written from the ground up in Ruby?
Just some thoughts…
Best wishes,
Radu

This e-mail was scanned by RAV AntiVirus!


Xnet scaneaza automat toate mesajele impotriva virusilor folosind RAV AntiVirus.
Xnet automatically scans all messages for viruses using RAV AntiVirus.

Nota: RAV AntiVirus poate sa nu detecteze toti virusii noi sau toate variantele lor. Va rugam sa luati in considerare ca exista un risc de fiecare data cand deschideti fisiere atasate si ca MobiFon nu este responsabila pentru nici un prejudiciu cauzat de virusi.
Disclaimer: RAV AntiVirus may not be able to detect all new viruses and variants. Please be aware that there is a risk involved whenever opening e-mail attachments to your computer and that MobiFon is not responsible for any damages caused by viruses.


Brad J Cox, Ph.D. bcox@virtualschool.edu, 703 361 4751
For industrial age goods there were checks and credit cards
For everything else, there is http://virtualschool.edu/mybank
Java Web Application Environment: http://virtualschool.edu/jwaa
Interactive Learning Environment: http://virtualschool.edu:8083/tut/HomePage


(Aidan) #5

Radu M. Obadã wrote:

be nice to have such a thing, but written from the ground up in Ruby?
Just some thoughts…

Just a thought - how feasible would it be to piggy back ? I mean to
write some products for Zope in Ruby using a RubyPy bridge.

A


(George Moschovitis) #6

Hi,

I am currently working an application server / object database system.
We are using it to create some custom web applications for the last two
months. When the code is stable enough we 'll release it as an open
source project. I truly believe our server redefines RAD, so stay tuned
for the first release…

George Moschovitis
Director of Technology, Navel

Radu M. Obadã wrote:

···

Howdy,
Back in the old days when I was using Python (sigh!), I came across Zope
(http://www.zope.org), which is an extremely powerfull web developement
enviroment (that’s my personal oppinion, of course): it features a
full-blown web-server, fast, secure, with advanced caching techniques, a
HTML embedding scripting language, object oriented database system and
so on…
Now, considering the power that Matz gave us by creating Ruby, wouldn’t
be nice to have such a thing, but written from the ground up in Ruby?
Just some thoughts…
Best wishes,
Radu


(Tobi Reif) #7

Austin Ziegler wrote:

But I find that it’s next to impossible to query intelligently in
either an XMLDB

Might be true for some people …

Tobi

···


http://www.pinkjuice.com/


(Kirk Haines) #8

I’ve never looked at Zope.

I have looked at Iowa, however. I am using it extensively, and actually
have a number of updates to it that I will be uploading to
Sourceforge…sometime soon.
Rather than me babbling about what Iowa is, though, just take a quick hop
to here:
http://beta4.com/iowa/

Kirk Haines

···

On Fri, 14 Jun 2002 15:55:31 +0900, Radu M. Obadã wrote:

[stuff regarding a Ruby appserver like Zope]

Isn’t IOWA doing something … similar? I’ll admit that I haven’t
really played with it much, but…


(Christopher Browne) #9

Oops! Tobias Reif tobiasreif@pinkjuice.com was seen spray-painting on a wall:

Austin Ziegler wrote:

But I find that it’s next to impossible to query intelligently in
either an XMLDB

Might be true for some people …

You’re missing the point.

The hype of XML is that you can modify what’s in the document
structure; it’s got all sorts of good, crunchy metadata so that that
should work out very nicely.

Reality is that it’s as fragile as any other sort of system, and
perhaps moreso.

If you change the hierarchy of the database, all the code written for
the old hierarchy will have to change to reflect the new hierarchy.

Some changes won’t require code changes; adding a field (aka slot
aka frame aka element) may not require any coding changes, if it has
no crucial semantic effect.

But changes in hierarchy likely strike down the house of cards.

The point isn’t of whether you can create a query; it’s of whether you
can create a query that will still work after you reorder the fields
or move a field to a different level of the ODBMS hierarchy.

The issues aren’t all that different from using relational databases,
except that with relational databases, you don’t normally get forced
into writing code involving specific database navigation strategies.

···


(reverse (concatenate 'string “gro.gultn@” “enworbbc”))
http://cbbrowne.com/info/linux.html
It’s hard to tell if someone is inconspicuous.


(Austin Ziegler) #10

Oops! Tobias Reif tobiasreif@pinkjuice.com was seen
spray-painting

But I find that it’s next to impossible to query intelligently
in either an XMLDB
Might be true for some people …
You’re missing the point.

The hype of XML is that you can modify what’s in the document
structure; it’s got all sorts of good, crunchy metadata so that
that
should work out very nicely.

And it is VERY good at representing hierarchical structured data. A
common example for XML is the address book. It’s great for
representing that, but there are often relationships between entries
which don’t fit into a hierarchical model, and trying to represent
them turns the document into a minor nightmare.

If you change the hierarchy of the database, all the code written
for the old hierarchy will have to change to reflect the new
hierarchy.

This is so, and why I don’t like XMLDB and OODB systems. In my
experience, data has value outside of how it is manipulated in a
particular program. If the data is forced to be structured in a
particular way because you’ve chosen a particular object model and
that model is replicated in your data store, it is often difficult
to turn that data upside down and look at it a different way. The
classic example here is that of orders and details; an invoicing
application only cares about orders from the order down to the
detail. An inventory tracking application, however, doesn’t care
about the order, but the details. If your data is stored in such a
way as to require that order details are accessed through the order
itself, your inventory tracking application is going to perform as
slowly as molasses in January in Iqaluit, Nunavut.

The point isn’t of whether you can create a query; it’s of whether
you can create a query that will still work after you reorder the
fields or move a field to a different level of the ODBMS
hierarchy.

As I noted above, it’s not just about the ability to reorder the
fields, but to be able to access the fields through multiple
navigation paths. Relational databases, for all of their faults,
tend to allow for easy navigation from almost any direction – even
if the database is badly designed. Certainly, the problem of
marshaling objects is a problem, but it’s not insurmountable.

The issues aren’t all that different from using relational
databases, except that with relational databases, you don’t
normally get forced into writing code involving specific database
navigation strategies.

This is also true.

That said, OO is a great way of conceptually dealing with data when
it’s active (that is, in a program), and XML is a great way of
dealing with data exchange, but I don’t think that either one is
particularly well suited to data storage per se, primarily for the
reasons I’ve outlined above.

-austin
– Austin Ziegler, austin@halostatue.ca on 2002.06.14 at 11.36.33

···

On Fri, 14 Jun 2002 23:53:28 +0900, Christopher Browne wrote:

on a wall: >> Austin Ziegler wrote:


(Tobi Reif) #11

Christopher Browne wrote:

You’re missing the point.

did you work with XMLDBs?

Tobi

···


http://www.pinkjuice.com/


(Massimiliano Mirra) #12

Which reminds me of ZigZag. [*] Anyone knows of real life uses of
ZigZag? It looks like either an great solution or a bigger problem
(with nothing inbetween).

Massimiliano

[*]

Frequently Asked Questions about GZigZag, with answers.
$Id: FAQ,v 1.7 2001/02/09 05:59:36 ajk Exp $

[…]

http://gzigzag.sourceforge.net

[…]

  1. What is ZigZag?

ZigZag, an invention of Ted Nelson, is a new type of data structure.

For mathematicians, the key words would be

- discrete
- multidimensional
- locally euclidean
- with global directions (coordinate axes)

and for non-mathematicians, these are explained below:

Discrete:
	the information is stored in cells, kind of like a 
	spreadsheet.

Multidimensional:
	instead of two dimensions, X and Y, that a spreadsheet 
	has, a ZigZag space can have any number of dimensions
	which are distinguished by strings.

Locally Euclidean:
	a spreadsheet is globally euclidean, i.e. it is a lattice.
	ZigZag is only locally euclidean, so the neighborhood of
	(i.e. the cells next to) a given cell looks euclidean:
	if you go up and come down, you are back where you were before.

	But if you start from location 1, and go up, left, down and
	right, you might not get back to where you were, let's
	say you are at location 2. But if you then go left, up, down
	and right from location 2, you get back to location 1.

	The connections in ZigZag are user-alterable so you can
	connect any two cells along any given dimension, but
	because of the local euclidean constraint, each cell
	can be connected to only one cell in the positive and one
	cell in the negative direction on each dimension.

Computer scientists might note that ZigZag is an interesting special
case of graphs.

···

On Sat, Jun 15, 2002 at 12:46:58AM +0900, Austin Ziegler wrote:

If you change the hierarchy of the database, all the code written
for the old hierarchy will have to change to reflect the new
hierarchy.

This is so, and why I don’t like XMLDB and OODB systems. In my
experience, data has value outside of how it is manipulated in a
particular program. If the data is forced to be structured in a
particular way because you’ve chosen a particular object model and
that model is replicated in your data store, it is often difficult
to turn that data upside down and look at it a different way.


(Jean-Hugues ROBERT) #13

Hello,

If you change the hierarchy of the database, all the code written
for the old hierarchy will have to change to reflect the new
hierarchy.

This is so, and why I don’t like XMLDB and OODB systems. In my
experience, data has value outside of how it is manipulated in a
particular program. If the data is forced to be structured in a
particular way because you’ve chosen a particular object model and
that model is replicated in your data store, it is often difficult
to turn that data upside down and look at it a different way.

Which reminds me of ZigZag. [*] Anyone knows of real life uses of
ZigZag? It looks like either an great solution or a bigger problem
(with nothing inbetween).

Massimiliano

I had a look at it sometimes ago. That’s fascinating. And of course
one needs to pay attention to whatever Ted Nelson comes with, he
is the generally accepted “inventor” of the hypertext structure
(with reverse links, yet to be implemented…)

I just could not figure out any case where a ZigZag would help
me… Navigating in a ZigZag is not quite something you can relate
to any other navigational experience you may have had before.

Jean-Hugues

···

At 05:13 15/06/2002 +0900, you wrote:

On Sat, Jun 15, 2002 at 12:46:58AM +0900, Austin Ziegler wrote:


(Massimiliano Mirra) #14

If you change the hierarchy of the database, all the code written
for the old hierarchy will have to change to reflect the new
hierarchy.
This is so, and why I don’t like XMLDB and OODB systems. In my
experience, data has value outside of how it is manipulated in a
particular program. If the data is forced to be structured in a
particular way because you’ve chosen a particular object model and
that model is replicated in your data store, it is often difficult
to turn that data upside down and look at it a different way.

Which reminds me of ZigZag. [*] Anyone knows of real life uses of
ZigZag? It looks like either an great solution or a bigger problem
(with nothing inbetween).

I just could not figure out any case where a ZigZag would help
me…

The case brought up in this thread, for instance. When a different
way of navigating through the database is needed, a new web of links
is created instead of reorganizing the database.

Navigating in a ZigZag is not quite something you can relate
to any other navigational experience you may have had before.

Why, it’s relatively easy. Think of browsing a hypertext by theme:
load it, choose Computer Science'' from a menu, and the words that get activated as links are those that lead to documents in theComputer Science’’ web; choose Politics'' and the words that get activated are those that lead to documents in thePolitics’’ web.
In other words, each node (the document) of the web can have more than
just one group of ways out (links to other documents).

Massimiliano

···

On Sat, Jun 15, 2002 at 07:10:56PM +0900, Jean-Hugues ROBERT wrote: