This documents provides broad overview of Virto Commerce architecture. The modules and layers mentioned here will be examined in more details in subsequent documents.
VIrto Commerce consists of multiple layers of functionality. The platform or as we call it a core layer contains modules such as Catalog Module, Order Module and so on. Each module then defines a set of interfaces (Repository and Services), POCO model classes that used to represent business logic, factory interfaces for creating business logic and configuration classes. Each module exists completely independently from one another (there is no dependencies within catalog module to the classes defined in order module). This is done to simplify testing, extensibility and maintenance of the platform. Each module can be easily replaced or removed if needed.
Core layer includes repository interfaces, designed using Repository pattern. The next layer, called Data Layer, implements repository interfaces defined in the core layer and is responsible for persisting POCO objects.
Client layer includes Commerce Manager and Front end accelerator sample. Commerce Manager uses REST/OData Service to communicate with a core layer and Front end uses Repositories.
Virto Commerce utilizes several frameworks including:
- Microsoft .NET 4.5 and ASP.NET 4.5 with MVC4/razor3
- Microsoft Windows Workflow Foundation (WFF)
- Microsoft Windows Communication Foundation (WCF)
- Microsoft Windows Presentation Foundation (WPF)
- Microsoft PowerShell 3.0
- Microsoft Azure
VC is designed to work both as on-premises application as well as azure cloud application.
Virto Commerce is designed to be modular. The core of the foundation consists of systems that are completely independent from one another and thus can be easily replaced or updated. The systems are:
|Catalogs||Define catalog schema, virtual catalogs, import existing catalogs.|
|Orders||Connect payment and shipment gateways, customize order work flow, manage taxes.|
|Customer Service||Respond to customer request, reset customer passwords, create new accounts.|
|Assets||Store binary assets in folder like structure either in cloud services or local file system.|
|Marketing||Create promotions, define and publish dynamic content.|
|Price Lists||Create multiple price lists and prices.|
|Fulfillment||Manage inventory, accept returns, pick/pack shipments|
|Security||Create users, manage claims and permissions.|
|Reviews||Create/approve/reject customer reviews and comments.|
|Settings||Control jobs, email templates and general system wide settings.|
|Stores||Create multiple stores/channels for your items. Assign catalogs to the store.|
|Search||Index and search data.|
Each one of these systems can be replaced by a 3rd party application or disabled.
- Web Applications
- Security and Users
- Email notifications
- Azure development
- Long running tasks
- Working with Expression builder conditions
- Extending and using Logging system
- Lessons 4 - How to build and customize platform manager Web UI (AngularJS) changed
- Platform settings changed
- Lesson 3 - How to create Virto commerce module (API) changed
- As an admin, I want to set a recommended price for products in the price list so that customer see it in storefront changed
- Technical Case Studies changed
- Widgets changed
- Metaform changed
- Enabling authentication with Azure Active Directory changed
- Deploy using Docker changed
- Deploy Platform from source code changed
- Deploy Storefront from precompiled binaries changed
- Deploy Storefront from source code changed
- Extending using events changed
- Lesson 1 - How to deploy and configure Virto Commerce changed
- Lesson 2 - How to import new products into Virto Commerce catalog changed