A comparison of the advantages and apache+php+mysql of Zope

Source: Internet
Author: User
Tags file system ftp header implement sql mysql new features variable
apache|mysql| comparison

Zope can be compared with apache+php+mysql because it is an HTTP server, a database, and a scripting language. Zope is now recommended because it is more functional, easier to build applications, and more efficient than PHP several times. The server-side programming environment now has iis+asp+sqlserver, Apache+php+mysql, and current Zope, which is more professional than Zope for document publishing.

I have used DW and FrontPage to make pages, it feels like FrontPage navigation system is better, and it can generate graphical titles, and a variety of specialized templates. DW's navigation system is almost useless, but DW's Web page is more professional and the DW template has its own unique place. I've thought about combining FrontPage with DW, but it feels awkward. When the site's more information is the most urgent need is to put the data in the database, so easy to unified management. Often strange large websites often have a unified look, rich navigation systems, rich related links. Certainly behind the website has the professional website management software and the professional technical personnel support. So I often look for a Web site management system that I can use. I found Zope on the LINUXFAB.CX website and finally found what I wanted.

Whenever you recommend Zope to people, someone always says that I use PHP very well without changing, or that the ASP is very good. ASP and PHP are similar, both can be included in the HTML scripting language. In comparison, I appreciate the ASP, it is based on VB, and because it has a stand-alone script engine, but also can support Perl, JavaScript and other scripts. So that everyone can use their familiar language to program and not to learn new language. And PHP is quite strange, originally and Perl is very similar, why not simply use Perl to implement the page in the embedded also to create a language, to increase the burden of learning, PHP, although the language is a little clearer, but there is no fundamental difference, but the essence of Perl pattern matching lost. Perl is also strange, why not like JSP to launch the same function? So psychologically for PHP is more annoying, although it and the close combination of database, and can generate images of the function is better. Although Zope is a great site manager, it is also a good programming environment. It supports Python and Perl,python. Now the development momentum is very strong, good at compiling large programs, is a very rich syntax of object-oriented database, in many ways can replace C and Java, programming efficiency is much higher, very attractive. I've learned that Python is not getting the chance to use it, and Zope gives me the opportunity to use Python, and it gives me the strength of Python. ->zope the whole program is made up of Python!

Zope is an object-oriented database, is a document management database, is a powerful HTTP server, is a perfect development environment. From the essence and the starting point, Zope is a document management database. It has a large number of document management functions.

First of all, Zope is the advantage of HTTP servers:

Although Zope is a database, all of its documents are placed in the database rather than the file system, but it completes a management interface similar to the File Manager and an FTP interface that can be used as a familiar file system and familiar with management practices.

And Zope is an object-oriented database, object-oriented database and the general database is very different, it is not like a relational database based on the table, and more like a file system is like a tree structure. From an object's perspective, each field value of a record is the individual property of the object. It transcends relational databases where it adapts to a variety of data types, each of which is an object, not only with a variety of attributes, but also with a variety of methods for manipulating specific data types. Often heard of object database, through Zope to specifically contact the object database. (Ingresql and Userland products are also object databases)

Zope features files and folders as basic objects, each file and folder can be added at will, and the files and folders under the folder are the properties of the parent folder. By increasing the format of the script file, you can add a method to the file and the text folder. For example, a file can be added to the "author", "category", "difficulty level" and other attributes, folders can also be added to the "show the contents of all the files under this folder" method.

Zope also has its own unique approach to implementing object-level inheritance. This method is "get". For example, the file system structure is/a/b/c,c is a file, in C if you want to refer to a variable V, if there is no V in the C attribute, find it in the properties of B, then find out if there is a file called V under B, then find the attribute of a, then find the file in a, then find the attribute of the directory, and find the file under the root. If V is a property of B, you do not need to refer specifically to A.B.V. In this way, a rich variable environment is inherited from all levels of folders in the C file. A typical example is that if you place a file Standard_html_header in the root directory, you can refer to the file in any directory to represent the commonality of each page. If you need your own unique web page effect in a directory, just delegate a unique standard_html_header to this directory. In this way, the files in this directory will get the header in this directory, not the header in the root directory, thus achieving the individuality of each column.

The form can also be obtained by: C.m,m can be a method, which is a script file, such as using M to make C have another form of representation. M files can be placed in the B folder, can also be placed under a folder, C.M expression methods are set up. In this way, I decentralized m in the root directory, all the files on the site have a method m.

You can also support this acquisition with a URL, such as using Http://my.com/a/b/c/m to invoke method M. Similarly, the variable environment of M is/a/b/c.

Summary: Zope, as an HTTP server, can make files and folders in a server rich in additional information such as attributes and methods. Easy to find and manage files and performance and other operations. At the same time, it provides convenient file operation.

The current disadvantage of Zope is that it is not possible to use external files directly, but also to copy them to the database via FTP. There are now remedial measures in this area, but not the Zope default. It is hoped that Zope will be able to manipulate the files of external files and other Web sites as they do their objects.

The advantages of Zope as a database:

From the above discussion, we have a general impression of the performance of Zope as a database. Zope is an object-oriented document database compared to other databases.

Unlike Mysql,zope, which has a visual management interface, all of Zope's management work is done through the web. The advantage of Web interface is Cross-platform, can operate remotely, facilitate the customization of the interface. The management interface of Zope is similar to a file manager, and after clicking on a file, you can use the same web interface for editing and adding attributes, security management, and so on. Zope script debugging is done using the web as well.

Zope as a database, has a powerful user rights management function, its user and rights management is very powerful, you can add a user under a folder operation, but also for specific objects have their own security rights management.

The main data in the database of the website is the document, Zope as the document database, has the powerful document management function, has the edition management, the history record function, has the full-text search function. While integrating the editing and managing environments of the document, managing documents is as easy as it is in the file manager. These are not available in the general database.

If there are tens of thousands of records in the database, Zope is less efficient than the traditional database, but Zope has a large number of adapters to link the various databases. To achieve a pure table operation and a large number of record operations.

The advantages of Zope as a programming and custom environment:

Zope has dtml (dynamic template markup) language to embed HTML, to achieve the Dynamic Web page. You can insert dynamic content simply by using the form. The document has a very rich variable environment because it is easy to add properties and methods and get functionality. Can provide more powerful functionality than regular client-side inclusion. Another form to easily get the contents of multiple files. Python expressions can also be embedded in dtml. In this way, there is a powerful Dynamic Web page function without programming, so it is easy to realize navigation function. These features are much easier to implement than languages such as PHP.

If you want to add complex functionality, you can use a scripting module to implement functions and complex operations, and then invoke the Scripting module in Dtml, which enables the separation of logic and performance. In Zope, scripting languages are allowed in Python, Perl, and SQL, and various scripts can be invoked with each other, enabling mixed programming in multiple languages. NET to achieve the purpose of mixed programming. Zope provides a unified Zope API for scripting languages. In this way (dtml media) Perl can also achieve embedded HTML in UNIX. The Perl lovers are blessed. You can use SQL to manipulate the database directly, eliminating the hassle of embedding SQL in other languages.

Zope presents the concept of Zclass, which bundles a series of properties and methods for specific purpose data in one product, even editing and viewing interfaces, specific permissions, help, and so on. For example, the task as a zclass, the task has the task of the sender, the task of the performer, the task start time, completion time, task content and other attributes, you can also have a task of the establishment and completion of the method. This sends a letter to the executor when the method is invoked, and sends a letter to the sender when the method is completed. Also, you need to have a Web editing interface for tasks, issue tasks, and modify the permission definitions for tasks. When you create such a zclass, you can add a task instance to any folder, and Zope first checks to see if the user has the right to create a new task, and then brings up the task's editing interface to fill in the various attributes of the task, as well as the build and Finish buttons to invoke the method. With Zclass, you can easily add new features to Zope. The concept of product is a function that is not available in languages such as PHP, and it is possible to accomplish a complex function clearly by Product,zope.

At the same time, in the implementation of product, the Zope API can be invoked, and the various modules of Zope itself can be invoked directly to achieve more complex functions. Because Zope is open source and Python implemented, you can always refer to Zope's source code, easily invoke Zope modules and functions, or even modify the Zope code, which is not available in other programming environments, when you encounter problems in programming.

Zope's user management, versioning, and other features are also implemented through product, so Zope has a standard, open development environment.

I just read an article recently, it uses the relationship between DOS and windows to simulate Apache and Zope, all things in Apache to do, if not their own, but also to assemble a lot of different programs to complete their tasks, and each person's choice is different, so, Create a common language between each other, like to edit a DOS program, to take their own everywhere to catch some graphics programs, printing programs, sound programs, installation programs, to gather together, so it is easy to go wrong. In Zope, there are a lot of unified API, when you finish a product, user management, rights Management, management interface, editing interface and so these are zope self-contained, there are APIs available, there is no need to be busy. For example, like Zwiki, almost without it, Zope itself is a collaborative product with user management and versioning, which does not waste time from scratch. There is a good saying in the article: "The worst unified programming interface is better than no unification." The Cmf,zope provides an extremely rich API.

Finally, if you're not satisfied with Zope, you can also use CMF (Content Management framework, Zope level two development platform) to build, manage, and develop new features. CMF has expanded the user management, document management, and product of Zope to achieve more high-end functionality. About the function of CMF, need to write another article to narrate.



Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.