Hi All! I am just a Zope beginners and I am studing it to make sure it is a good choice to develop an internet application I have been required. This application has quite a lot of data (the biggest table is about 100.000 records) with a lot of people quering it.
From the experts I would like some information:
-Is Zope the right tool to develop this kind of application? -Is Zope not to much young to develop this kind of application? -Is it really stable? -Which database server is better to use? (Interbase, Oracle, MS SQL) -Which SO is better to use? (Linux, NT) -Which HTTP server is better to use? (Apache, ZServer, IIS) -Do you have general considerations to make to me? I know these questions are general but I need them to make me taking the right way! Thank you in advanced, Cesare Cesare Raoss Planning srl Via Bolzano 45 38014 Gardolo (TN) cesare@planningslr.it http://www.planningsrl.it
cesare@planningsrl.it wrote:
I am just a Zope beginners and I am studing it to make sure it is a good choice to develop an internet application I have been required. This application has quite a lot of data (the biggest table is about 100.000 records) with a lot of people quering it.
From the experts I would like some information:
-Is Zope the right tool to develop this kind of application?
It's hard to say exactly without a clearer idea of what the application is to do. You can definitely use ZSQL methods to display data from some database on web pages. You can likewise use SQL insert statements to insert new data. This type of thing is quite doable. For the simpler database applications, it gets near being actually *easy* to do, once you're over the initial learning hump.
-Is Zope not to much young to develop this kind of application?
Zope has been around for about a year now. Before this it was Principia (and a collection of open source applications such as Bobo), which had been around for quite a while too (don't know how long?). The open source Zope is currently already in its second generation; Zope 2 is quite a lot different from Zope 1. I therefore wouldn't say Zope is that young at all. It is definitely not immature. Note that Zope is based on Python, which is a stable and mature language.
-Is it really stable?
Yes, I'd say its stable. There have been reports of Zope locking up on occasion, but in general I believe this kind of experience is rare. So it seems to be quite stable. Any problems tend to be solved quickly.
-Which database server is better to use? (Interbase, Oracle, MS SQL)
Someone who knows more about this topic should answer this one, if this isn't a holy war anyway. Zope works well with most databases. One possible exception is MySQL as it has no transaction support (yet); even so people have been using it with success (it's just not so good if you plan to insert a lot of records as part of the web application, querying the database is not a problem).
-Which SO is better to use? (Linux, NT)
Both seem to work well with Zope. Each have their particular advantages. With NT you can tie Zope into COM objects (using Python). With Linux you can access its vast wealth of open source and other software (again using Python). I've heard reports that on lower end machines Linux is slightly faster with Zope. There doesn't seem to be any big difference between the two platforms, looking at Zope alone. I myself prefer to use Linux. :)
-Which HTTP server is better to use? (Apache, ZServer, IIS)
ZServer is easiest to use (and possibly also fastest as there is no extra overhead. can anyone confirm this?). If you want to host non Zope things on your web server, Apache may be your best bet; you can use its RewriteRule system to seamlessly integrate non Zope and Zope. Apache is also good if you want to use virtual hosting. I have no experience with IIS myself, so others will have to answer here. I'm sure it works just fine as well. :)
-Do you have general considerations to make to me?
Zope is very powerful, but you do need to invest in learning about it. The initial learning curve is considered to be tough by many people. Of course it depends on where you're aiming; you can already use some of its powerful features with a bit of learning. It does get harder if you push it further, though. But the rewards are big as well; Zope is a very extensible environment. You don't tend to run into the limits of the system quickly; there don't seem to be too many limits. :)
I know these questions are general but I need them to make me taking the right way!
I hoped my answers helped you a bit. Regards, Martijn
Martijn Faassen wrote:
-Do you have general considerations to make to me?
Zope is very powerful, but you do need to invest in learning about it. The initial learning curve is considered to be tough by many people. Of course it depends on where you're aiming; you can already use some of its powerful features with a bit of learning. It does get harder if you push it further, though. But the rewards are big as well; Zope is a very extensible environment. You don't tend to run into the limits of the system quickly; there don't seem to be too many limits. :)
How come Zope is difficult to learn but Python is a breeze to get into? I'm a newbie at using Zope and it has been very difficult for me to leverage my Python knowledge into programming Zope. ------------------------------------------------------ Andres Corrada-Emmanuel Email: andres@corrada.com Owner http://www.corrada.com/mamey Mamey Phone: (413) 587-9595 ------------------------------------------------------
Andres Corrada wrote:
Martijn Faassen wrote:
-Do you have general considerations to make to me?
Zope is very powerful, but you do need to invest in learning about it. The initial learning curve is considered to be tough by many people. Of course it depends on where you're aiming; you can already use some of its powerful features with a bit of learning. It does get harder if you push it further, though. But the rewards are big as well; Zope is a very extensible environment. You don't tend to run into the limits of the system quickly; there don't seem to be too many limits. :)
How come Zope is difficult to learn but Python is a breeze to get into? I'm a newbie at using Zope and it has been very difficult for me to leverage my Python knowledge into programming Zope.
I think partially this is because Zope is not a language but a framework; frameworks tend to be harder to learn. And Zope isn't a small framework; it's biiig. Zope consists of a lot of parts; GUI, database integration, object database, etc. To learn more about Zope you need to understand how each of these work and how they interact. Add to this new concepts like object publishing and acquisition, which are hard to get ones mind around in the beginning. Then the very nature of the web is involved in making things more difficult as well. For instance, people can access any page on the site in any order (makes writing applications harder). It is also hard to store session data (people are working on that). Another reason is the complexity of DTML; people are trying to do too much with DTML and DTML isn't really meant to do that. This results in confused people and horrible DTML constructs. Unfortunately the alternative, using Python, is currently still rather hard to get into (excepting external methods; those aren't that hard). This is again because your Python code needs to deal with many parts of the Zope framework; the object database, the security infrastructure, the GUI, etc. People are working on a better integration of Python within the Zope development process (PythonMethods). More and better documentation could help a lot. The documentation situation is getting slowly better; one needed to figure out far more by oneself in the early days. But even today if you want to write Python products that do advanced stuff (like folderish ones, an experience I've just gone through), expect having to dig through the Zope source. What also could help the understandability situation is a cleaner DTML or a DTML replacement, but that's something far off yet. On the source level, something like a clear definition of interfaces and such could help a lot in people's understanding. Python doesn't by default have an 'interface' facility in the language, though last year there was talk about adding one (I believe Jim Fulton was involved in that one..anyone know the status?). Digital Creations appears to be using object oriented modelling extensively now (for ZODB3, the Portal Toolkit); this promises more source level documentation in the future. Regards, Martijn
cesare@planningsrl.it wrote:
-Which database server is better to use? (Interbase, Oracle, MS SQL)
Oracle (especially 7.3.4) is the best DBMS if concurrency and stability is of a primary concern. If you prefer speed MySQL is rumored to be much faster than any other RDBMS, but MySQL does NOT support transactions (commit/rollback).
-Which SO is better to use? (Linux, NT)
I migrated from the NT world to UNIX/Linux world a year ago. Linux is much more stable than NT. Linux is much more easier to manage. Linux is much faster than NT. I will never return to NT world! Now I do not understand how I was able to live without Linux!? However if you need maximum data durability a commercial UNIX is recommended because currently Linux does not support a journalling file system (RedHat promises to include one in RH6.2 by the end of this century).
-Which HTTP server is better to use? (Apache, ZServer, IIS)
If you wish strong security (that is SSL) the only choice is Apache. ZServer does not support SSL, IIS as a US product supports only weak security outside US. Zope's next release will support FastCGI, wich makes Apache/SSL + Zope as a seroius platform for web applications. Miklos Nemeth IQSOFT
participants (4)
-
Andres Corrada -
cesareļ¼ planningsrl.it -
Martijn Faassen -
Nemeth Miklos