Technical insider of ASP. NET open-source framework hippo System (I)

Source: Internet
Author: User

I. Overview

CMS is short for content management system, meaning "Content Management System ". You can find many CMS systems on the Internet. CMS products are also diverse, and there are various platforms, the price from free to tens of millions is also very different, each enterprise needs to choose according to their actual needs.

Hippo is a small CMS system based on the core design method of BroadVision, a top-level CMS system, and some special Oracle EBS technologies. Considering the actual commercial situation, currently, MSSQL and Oracle are supported, but access is not supported at the moment. Because access databases lack the features of multiple enterprise-level databases, they cannot take advantage of them like other databases. The database connection encapsulates a dedicated component, which is the basic module of the system and can be called at all levels. It can be used directly when users customize websites.

The core of this product is the meta-data drive. Meta-data abstracts all the basic information and stores it in the database. Then, it is called from it during use, then it is assembled into a page to ensure the flexibility of the system and lay the foundation for the future multi-language.

The system uses a large number of "object" modes, such as "user" and "content". In a user-registered module, you do not need to write an insert Statement (insert) as before ), you only need to create a user and assign the relevant attribute values to the user object. When you log on to the user for verification, you only need to call the relevant verification function and do not need to write SQL statements for verification, it effectively prevents SQL injection attacks and greatly improves readability and maintainability. Attributes of all objects can be extended, and extended information is stored in meta-data.

The system adopts Microsoft's DOTNET technical architecture and ASP. net Language, flexible use, sharing ASP. net, especially in the multi-language aspect, can realize the real multi-language, the multi-language part adopts the method similar to the resource file, but is different, the operation is simple, to expand the language, you only need to provide the corresponding translation materials.ProgramIt does not need to be re-compiled to minimize the difficulty and cost of post-maintenance.

In order to achieve a better user experience, third-party ready-made components are used for encapsulation. This gives you a sound set of controls with fast development and high quality. In particular, the use of grid components is similar to the CS structure, which can achieve a variety of control, such as right-click menus, and the use of multi-document effects, the effect is very good. Of course, a better user experience will also bring about a certain negative effect, that is, a larger bandwidth resource is required, because the complex interface needs to transmit more information, however, in today's network conditions, coupled with the actual situation of my promotion, I think it is worthwhile to increase bandwidth resources. Of course, this very complex effect only appears in the background management program. The websites used by front-end members continue to adopt the traditional HTML method.

With regard to the implementation of front-end websites, the system does not provide ready-made websites for direct use as some small CMS products, but is provided to users in the form of a framework, so that users can be more fully customized, in particular, the artist does not need to provide templates for this product, but can use a standard MVC Architecture for development and flexibility. Because this product encapsulates a large number of components and controls, therefore, development is extremely difficult. In the development process, you do not need to know the existence of the database. You can directly call the database component. Many large systems use this framework structure.

Different from front-end display, the backend Management Program is an integral part of the product and can be used directly. In addition, the management program module is configured for each module of the system, if you need to add new features in the customer orientation, you only need to add the corresponding connections in the menu, and do not need to make too many changes to the main program.

Security is an important indicator of data storage. The logon password of the system is encrypted using MD5.Algorithm, Similar to other products, even if you can access the database and obtain a password string, you cannot reverse the original password, so you cannot log on correctly. However, if you enter the database and do not have a password for the managed content, you can see the real content of the data. For example, if your system manages tens of millions of member information, or housing replacement information, the contact number of the member becomes very sensitive information. If it is obtained by competitors, it will cause a fatal blow to the company. In this case, this product has a Special encryption policy that can encrypt a field in a table separately. In this way, you can only see some garbled characters when you directly view the field in the database, you can see the original article only after logging on to the system.

Starting from the next chapter, we will introduce the meta-data driver, which is the core of the system design.

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.