Could you help me finding out whether Zope could be a serious
technological framework for big corporation (compared to J2EE and
.Net) or not ?
In the (quite very) big corporation I work in, the IT managers are
wondering about the future of web technologies for our intranets.
Currently, we run web applications in many technologies : heavy J2EE
(EJB...), light J2EE (JSP), ASP.Net, ASP, PHP, ... Our big IT boss
wants to build a more homogeneous strategy for the technological
framework of our future intranet web applications. He may identify
J2EE and .Net as the most serious and only candidates for the future
of our intranet technologies.
I would like to promote Zope as good alternative to examine. But I
don't know how I should position Zope as a serious challenger
solution. Is there a hope for Zope in big corporations ?
I may suggest to my IT boss scenariis such as :
A. Zope is the best solution for every of our intranet needs, I would
name it LAMP(Z) = Linux + Apache + Mysql + Python (+Zope)
- pros => very homogeneous. Cool for maintainability and reusability.
Zope is highly adequate for strong knowledge/content management needs
- cons => Zope may be to heavy for simple needs we could easily
manage with PHP, Zope skills are rather rare of the market whereas PHP
is now quite easily available.
- risks => Wouldn't it be to much closed ? Would it be opened enough
for integrating it with our ERPs (SAP), business intelligence
solutions (Business Objects, Hyperion, ...), with transactional
B. The solution is LAMP(PZ) as Linux + Apache + Mysql + PHP + Python
- pros => PHP is cool and Zope too. PHP and Zope seem to be
complementary (PHP for "simple needs", Python + Zope for "complex
needs"). PHP skills are available on the market.
- cons => Integrating Zope and PHP is quite difficult and risky
(XML-RPC, ...). The framework remains quite heterogeneous.
C. Or there is no hope for zope and the only open source candidate is
LAMP as Linux + Apache + Mysql + PHP
- pros => homogeneous.
- cons => PHP may not be adequate for building complex IT
architectures. It should be accompanied with some J2EE or .Net
What do you think about that ? Is there a hope for Zope in big
ZOPE certainly has it's places for intranet as well as extranet
applications. It's scope is more limited than that of J2EE or .NET
though. It's basically a (web) application server. J2EE/.NET can be used
for more than that.
> I may suggest to my IT boss scenariis such as :
> A. Zope is the best solution for every of our intranet needs, I would
> name it LAMP(Z) = Linux + Apache + Mysql + Python (+Zope)
*Cough*. The words "enterprise" and MySQL don't go together for me. For
an Open Source database that can be used as a preferred general-purpose
RDBMS I'd suggest PostgreSQL. In any case ZOPE is pretty
database-agnostic, there are database adapters (DA's) for all major RDBMS.
> - cons => Zope may be to heavy for simple needs we could easily
> manage with PHP, Zope skills are rather rare of the market whereas PHP
> is now quite easily available.
PHP skills may be easily available, but I have my doubts wrt. to
maintainability of PHP. The little I saw until know from PHP I didn't
like at all.
> - risks => Wouldn't it be to much closed ? Would it be opened enough
> for integrating it with our ERPs (SAP), business intelligence
> solutions (Business Objects, Hyperion, ...), with transactional
> systems ?
I have no idea about all this stuff, but I suppose integration works via
either a Java API or a SOAP/XML-RPC/CORBA interface. Apart from the Java
API, no such interface should be a problem to access via Python (or ZOPE).
My job requires me to work with ASP.NET and ADO.NET currently and I find
the technology quite "sexy". The WYSIWYG editor for ASP.NET that's
integrated into Visual Studio is quite nifty. It makes component-based
web programming a reality.
The only downside is that realistically it ties you to the Windows
platform and to Microsoft.
The big advantage of Java's APIs is that you can choose among multiple
implementations, including quite good Open Source ones.
The problem with Python is that there is no *one* "solution" (gee how I
hate these marketing words) that you can show to management types.
You'll always have to choose among several totally different libraries
for each task, like for example web programming.
> framework of our future intranet web applications. He may identify
> J2EE and .Net as the most serious and only candidates for the future
> of our intranet technologies.
> I would like to promote Zope as good alternative to examine. But I
> don't know how I should position Zope as a serious challenger
> solution. Is there a hope for Zope in big corporations ?
A year and half ago our research group went through a similar search for
a new application server to move our 40K+ perl cgi (10K registered
users, with an average of about ten searches per minute) code to a new
framework. With my colleagues we've have test driven many technologies,
coldfusion, jsp, servlet, and .NET amongst them. I' have looked at many
templating engines too.
I have looked at Zope too, I liked it but it did not make it through the
next round based on my recommendations alone. I was voted out very
promptly. Unless there are already python programmers on the team, it
will be difficult to sell the idea. We had one programmer who hated so
religiously the way whitespace is handled in python that ridiculed it
every time he had the chance.
I did not push hard on the matter, especially since I was not
programming in python myself at that time, and as a fresh owner of a
Java and XML certification I felt confident that we can easily get there
with java and XML.
Today I do as much as possible in Python, I get things done with a whole
lot less work, and I wonder how much better my old employer would be
doing if we have chosen Zope from the get go. Make no mistake the site
works well with Java, it is robust and fast but I think we work we
needed to put in was a little bit too much. We ended up with a solution
that needs all kinds of disparate knowledge to keep it up and running,
in the end I feel that we have over engineered things.
I have moved to a different city and I know that it will take quite a
while for my successor the get into the game. If I were to do this again
I would argue much harder for a Python solution, mainly based on the
strengths of Python.
Zope has indeed a steep learning, less so for people who are already
used to developing web apps. For something Zope-like but lighter and
still Python-based, you might want to look at other solutions :
WebWare + Cheetah
See http://www.zope.com/ZopeClientList for a list of some of the big
organizations (such as the Navy, AARP, Bank of America, etc.) that use
Zope. I'd say the answer is "YES!" I run a very small corporation, and
it works quite well for me, also.
Evan @ 4-am