Business Logic Layer (BLL)

Znode Storefront uses a multi-tier BLL (Business Logic Layer) that has been organized to allow developers to easily extend the e-commerce functionality available out of the box.

Please Note

The BLL does not include any database access functionality. You must avoid adding any data access functions and use the DAL instead to retrieve data
Modifying certain areas of the BLL could effect PCI compliance. You should refer to the PCI Compliance Guide included with Znode Storefront before making any changes

The Znode BLL

The Znode BLL in the Enterprise Edition includes 12 different C# libraries that can be modified and deployed independently

 

The ZNode.Libraries.ECommerce.Analytics library contains services for managing analytics code such as Google Analytics and the affiliate tracking.
The ZNode.Libraries.ECommerce.Catalog library encapsulates the functions needed for managing and displaying the product catalog.
The ZNode.Libraries.Fulfillment library takes care of order and payment management.
The ZNode.Libraries.SEO library provides the facilities for rewriting URLs and updating page meta tags.
The ZNode.Libraries.Shipping library encapsulates the shipping engine that calculates shipping rates.
The ZNode.Libraries.ShoppingCart library contains the implementation for the shopping cart.
The ZNode.Libraries.Suppliers library provides services for sending orders to different suppliers in various formats.
The ZNode.Libraries.Taxes library handles tax calculations.
The ZNode.Libraries.UserAccount library allows you to override User Account properties.
The ZNode.Libraries.FedEx library provides functions specific for calculating FedEx rates.
The ZNode.Libraries.UPS library  provides functions specific for calculating FedEx rates.

View of the Znode BLL Libraries

BLL_Enterprise

Extending the Znode BLL

The Business Logic Layer can be easily extended. New library DLLs can be copied to a production server without redeploying the entire application. Further, you can add new functionality to the Shipping, Supplier, Tax and Promotion libraries and configure them to be available as options in the storefront admin. For example, you may want to add a new promotion that calculates 10% off orders on the 3rd day of every month. To do this you just need to do the following:

 

1.Create a new class derived from ZNodePromotionRule (in this case you could start with the ZNodePromotionAmountOffOrder.cs class as an example).
2.Drop your new library DLL into your deployment directory under the Web/Bin folder.
3.Now go into the storefront admin and choose ADVANCED TOOLS from the top menu. Then select PROMOTION RULE ENGINE.
4.Next click on Add New Promotion Rule Type and fill out the form (again use ZNodePromotionAmountOffOrder as an example of how to fill this in).
5.Now your new function will show up in the Select Discount Type drop down when you add a new Promotion Rule.

 

The same procedure will be used for extending the Shipping, Supplier and Tax libraries.

 


See Also:

Znode Storefront Architecture