Possible architectures for building online store software
For the URIF conference, I wrote a report on the architecture of online stores, one of which I want to present to the public for discussion. I will publish the whole report later (or you can read it on the website of the URIF ).
Popular and most common. It runs all the CMS for sites and many CMS for stores, such as shop-script, phpshop, joomla, netcat, oscommerce and hundreds of other solutions from professional to student. This is the most common pattern. One base, and one set of scripts.
Dual-core architecture.
This is the architecture that is less known to a wide range of consumers and therefore we will describe it in more detail today. Dual-core architecture for example used Ozone. It is used in CMS for stores like Melbis Shop and OSG.
The difference is that in fact there are two databases - one on a server on the Internet - customers work with it. The second - on another server - store staff works with it. Asynchronously, the second is replicated to the first. Options for such replication may vary.
Theoretically, for a two-base architecture, this, of course, is not necessary, but in practice, in these decisions, the personnel always use the window interface, and not the web browser - this allows to significantly increase productivity. Those. in addition to two bases, there are also two parts - server for customers and applications for staff. Why is such an architecture less commonly used than single core? Obviously, the development of such a system is much more expensive, in addition, its use, installation is also more difficult for the user - this is a whole complex. Why is it still used? Working with the store is an order of magnitude more convenient, more functional, the overall system performance is higher, security is much better.
The advantages of a single-core scheme are the relatively inexpensive development of such a software complex and, as a result, the low price, up to completely working free options. Normal multi-user mode, the ability to quickly and inexpensively add, rewrite anything.
Minuses- low productivity of managing the product base by managers, poor usability of such management, a large load on the server. Even in fairly successful schemes, wherever you can use Java, Ajax, etc., the interface is still more constrained and slower. Group operations with goods, often requiring a large amount of data from the server, are also problematic. Drive back and forth megabytes (tens of megabytes) is not always the best solution. With such server-intensive operations, there may be problems with buyers accessing the site.
Advantages of the dual-core circuit- By storing data on a server on your network or directly on your computer, you can perform any of the most resource-intensive operations on all products, without fear of performance problems that lead to the loss of orders. We have unlimited speed of the interface with the base and all its window advantages. We can accept orders if there is no Internet connection. We can deal with the filling of the store in the absence of an Internet connection. The second base, not connected to the Internet, is virtually inaccessible to hackers.
Cons - in some cases, the restriction of the multi-user mode, complexity, high cost, sometimes less cross-platform. That's all about theory.
Possible architectures for building online store software.
Single core architecture.Popular and most common. It runs all the CMS for sites and many CMS for stores, such as shop-script, phpshop, joomla, netcat, oscommerce and hundreds of other solutions from professional to student. This is the most common pattern. One base, and one set of scripts.
Dual-core architecture.
This is the architecture that is less known to a wide range of consumers and therefore we will describe it in more detail today. Dual-core architecture for example used Ozone. It is used in CMS for stores like Melbis Shop and OSG.
The difference is that in fact there are two databases - one on a server on the Internet - customers work with it. The second - on another server - store staff works with it. Asynchronously, the second is replicated to the first. Options for such replication may vary.
Theoretically, for a two-base architecture, this, of course, is not necessary, but in practice, in these decisions, the personnel always use the window interface, and not the web browser - this allows to significantly increase productivity. Those. in addition to two bases, there are also two parts - server for customers and applications for staff. Why is such an architecture less commonly used than single core? Obviously, the development of such a system is much more expensive, in addition, its use, installation is also more difficult for the user - this is a whole complex. Why is it still used? Working with the store is an order of magnitude more convenient, more functional, the overall system performance is higher, security is much better.
Pros and cons of each system.
The advantages of a single-core scheme are the relatively inexpensive development of such a software complex and, as a result, the low price, up to completely working free options. Normal multi-user mode, the ability to quickly and inexpensively add, rewrite anything. Minuses- low productivity of managing the product base by managers, poor usability of such management, a large load on the server. Even in fairly successful schemes, wherever you can use Java, Ajax, etc., the interface is still more constrained and slower. Group operations with goods, often requiring a large amount of data from the server, are also problematic. Drive back and forth megabytes (tens of megabytes) is not always the best solution. With such server-intensive operations, there may be problems with buyers accessing the site.
Advantages of the dual-core circuit- By storing data on a server on your network or directly on your computer, you can perform any of the most resource-intensive operations on all products, without fear of performance problems that lead to the loss of orders. We have unlimited speed of the interface with the base and all its window advantages. We can accept orders if there is no Internet connection. We can deal with the filling of the store in the absence of an Internet connection. The second base, not connected to the Internet, is virtually inaccessible to hackers.
Cons - in some cases, the restriction of the multi-user mode, complexity, high cost, sometimes less cross-platform. That's all about theory.
Known interesting solutions.
CMS and proprietary solutions for regular sites do not use dual-core architecture. Because it is not needed. The content of a regular site is texts, group computing operations on which are not used. But the OZON store was one of the first to switch to dual-core architecture.Unfortunately, the article does not say how OZONE is functioning now, so we can only guess from the context that they still not only worked dual-core at one time, but remained on such a scheme. Also interesting is the CMS OSG . In fact, the main base there is “1C” and the data from it is transferred to a web server on which the store is already operating (Microsoft SQL Server, Microsoft Internet Information Services, .Net Framework 1.1. Another good dual-core solution is Melbis Shop . Work is ongoing with the store through a convenient windows-interface.http://www.microsoft.com/Rus/Casestudies/CaseStudy.aspx?id=183
“The work of the Ozone web storefront and the back office application (warehouse, procurement, work with goods, content management, etc.) was carried out on a single database. The back office application user interface was built using a web interface using Allaire Cold Fusion technologies. The use of a single database for both Ozone customers and for back-office applications led to a high load on the DBMS server and, as a result, to the slow operation of the online store. When a hundred or more users visited the Ozone website at the same time, the loading of the website approached 100%. This often led to a reduction or even cancellation of planned advertising campaigns - the system did not allow to process requests from attracted customers, ”says Alexey Timonin, Technical Director of Ozone. The development and implementation of the new system took place in stages. At the first stage, a system of back-office applications was developed and implemented. Microsoft SQL Server 2000 Enterprise was used as the DBMS, the user interface was implemented on Borland Delphi 5. The new back-office worked on a DBMS separate from the web-window, the data exchange was carried out using a specially written asynchronous data exchange module between Microsoft DBMS and Sybase. ”