CMS (Content Management Systems) are used almost universally to organize a simple web site, online store, corporate portal or other type of online representation. The peculiarity of their construction is that the CMS system is essentially a separate chain in the middle of the process of requests execution from the client to the internet resource. This means the consumption of additional computing power to execute each query to determine the necessary procedures for processing the request, the selection of templates, execution of business logic directly in your application, the layout of the results and the elements of the template and send the results to the visitor's browser. On top, of it creates a potential point of failure for reasons of security and performance.
In the classical theory of content management in addition to the above-described approach to the organization of the site and provided alternative methods involving separation between the functions of content management and query processing. These functions may be separated into different nodes, to increase the performance of each of them and reduces the risk of information security incidents. However, in today's global world, for many companies no longer enough simply internet site. Site under the pressure of market and technological trends and business needs is transforming into a complete information system to which you want to apply the best practices of design, construction and operation of information systems.
Among these basic principles appropriate to pick
- implementation of full-cycle development - testing - using a separate, independent nodes;
- substantial adaptation of the solutions to fit your needs, which will provide support for the implementation of your competitor benefits;
- supportable, distributed, scalable, and reliable solutions;
- integration into the ecosystem of your internal and external information environment to provide continuous coverage of your process with automated solutions;
- common approaches to automation, information storage and information structure in your divisions, parent and child business structures.
Traditional CMS systems in this regard because of its basic architecture substantially lose a front of presented in the corporate portal solutions from leading players such as IBM, Oracle or Microsoft. However, the magnitude of the solutions offered by technology giants makes it for a variety of reasons not fully suitable for small and medium-sized companies.
As an alternative to the use of a classical CMS systems approach for the construction and management of the Internet project, we propose an approach that combines the features of different approaches.
Our technology, which we call WEHIUS ( http://wehius.com/
) is a solution that includes the elements inherent from CMS systems (for example, mechanisms for templates, support for multiple languages, modularity, and others), as well as elements inherent from systems that provide an independent external monitoring and control of your target system, which in this kontekstve is your website, portal or shop.
Below is a table comparing the individual characteristics of the two approaches (*).
|Installing on the server \ Supported Technologies
||Requires installation of the entire system on each server, usually supported by single server technology. Installation requires constant updates.
||Installation is not required at all. The system works centrally and forms the resulting code on any number of your servers based on a single repository metadata
|Mechanisms of the templates
||Implementing support for XSLT and similar technologies. Own template engine.
||Own mechanism of dynamically changeable templates representing elements of the system in developer friendly formats. A template can contain logic for different technologies simultaneously and can be used for both static solutions, solutions for PHP, Java, JSP, etc. The content of the template, the inclusion of sections or exclusion may be defined with a set of parameters that can be redefined for individual modules, projects, domains in the project, interface language, and even directories.
|Support for development, testing and operational environments
||Typically, each copy is an independent CMS and installed on the appropriate server and licensed separately. Transferring configuration is performed manually or in some solutions based on complete export\import of the entire storage of the CMS systems
||Support for any number of environments does not require a separate installation. Transfer between environments, generation and deployment on your server is made from a single management console
|Query processing from visitor (user)
||The whole cycle, from analysis of the query and identifying of the modules responsible for its handling, loading elements template execution modules, data overlay on the elements of the pattern, and only then send the results back
||Once formed the resulting code which is already integrated into the template. When requested by the visitor module fulfills the business logic of your site and its results without subsequent post processing are sent to the visitor's browser.
|The unity of the information model
||Usually developed modules form their structure and business data perspective are not integrated with each other. If your unit does not meet the requirements and need to use a different module, all business data should be independently moved from one structure to another
||Common information model is provided due to the centralized approach to the publication of the modules for public use. However, this puts more demands on the quality of modules code, as they have to correctly handle the data in the information objects that are written into them by other modules and may not contain all the values.
|Customization to suit your needs
||Usually limited with object model of the CMS system that implements a particular basic API
||Given that the concept of underlying API practically not applicable to the technology, the is no limitation on the development or modification of modules functional. Any business logic can be executed on your servers, and communication with the control system it is not really necessary.
(*) Some functions still in the testing phase.