Home

Source Code is available at GitHub EasyLOB 1.X and GitHub EasyLOB 2.X

Wiki is available at GitHub EasyLOB 1.X and GitHub EasyLOB 2.X

Posts Index is available at Index

What is EasyLOB 1.X?

EasyLOB is a Data-Driven Design Archetype for developing Web based .NET Line of Business (LOB) Applications. An Archetype is a set of Libraries, Design Patterns, Design Practices, Code Generation Scripts and Guidelines. The goal is to build LOB Applications without worrying about “code plumbing”: let EasyLOB take care of most of it for you and leave more time to worry about the real Business problems.

EasyLOB has many of the features necessary to build an ASP.NET MVC LOB Application and related Services:

  • Paradigms
    • Layered Architecture: Presentation, Service, Application, Persistence and Core
    • Data-Driven (Database First) Code Generation with CodeSmith (Commercial) Software (Free) scripts
  • Presentation Layer
    • Applications
    • ASP.NET MVC
    • ASP.NET Web API Client
    • ASP.NET Web API OData Client
    • Console Application
    • ASP.NET MVC Applications using Syncfusion (Free) Components Library
    • Dashboards using Syncfusion (Free, but using a commercial Dashboards Server) Components Library or PowerBI (Commercial)
    • RDL and RDLC (SQL Server Reporting Services) Reports using Syncfusion (Free) Components Library
    • Dependency Injection using Unity (Free) Library
    • Examples for Excel Files IO using Syncfusion (Free) Library
    • Examples for Text Files IO using FileHelpers (Free) Library
  • Service Layer
    • Applications
    • ASP.NET Web API REST
    • ASP.NET Web API OData, including a Persistence OData Layer
    • ASP.NET Web Service
    • Windows Service
    • Jobs using Hangfire (Free) Library
    • Dependency Injection using Unity (Free) Library
  • Application Layer
    • Generic SCRUD Repository with Data Model/DTO conversion, Transactions and Audit Trail
  • Persistence Layer
    • Models:
    • Data Models
    • DTOs – Data Transfer Objects
    • View Models (Presentation Layer)
    • Unit of Work and Generic Repository Design Pattern
    • ORM SQL Databases Persistence with:
    • Entity Framework
    • NHibernate
    • Micro ORM SQL Databases Persistence with:
    • LINQ to DB
    • NoSQL Databases Persistence with:
    • MongoDB
    • RavenDB
    • Redis
    • OData (ASP.NET Web API)
  • Application Core
    • Audit Trail
    • Log using NLog (Free) Library
    • Security
    • Authentication using ASP.NET Identity
    • Authorization using Activity Based Authorization
  • EasyLOB Core
    • EasyLOB
    • EasyLOB Extensions
    • EDM for File Attachments
    • INI Files
    • Mail

What is EasyLOB 2.X?

EasyLOB 2 is the new version of EasyLOB, first released 6 month ago. Despite of some important changes in lower layers the main changes in this version are related to Presentation Layer.

  • Presentation Layer
    • ASP.NET Applications without AJAX are deprecated
    • RDL Reports area created using Visual Studio SSDT Projects
    • A single “CRUD.cshtml” partial view is used instead od one for each CRUD operation
    • Controllers code was refactored and optimized
    • Authentication Views and Controller were customized
    • EasyLOB JavaScript code was optimized
    • EasyLOB CSS was optimized
    • Dependency Injection was optimized using an Http per Request Lifetime Manager
  • EasyLOB Generator
    • A Windows Forms based Solution Generator is available to create a new EasyLOB Solution from a MyLOB Template Solution.
    • Now you get a new EasyLOB solution in less than 10 seconds, just follow the EasyLOB Generator Tutorial !

  • Data Profiles
    • Data Layer includes now the new “Profile” classes to define what is shown in Collection and Item views. It works like a central Data Dictionary and is used to avoid customizing Collection and Item Views.
  • Multi-Tenancy
    • Multi-Tenancy is possible using sub-domains to define the current Tenancy. You may use a single Security database and many different application databases: one for each Tenant

GitHub Repositories 1.X

GitHub Repositories 2.X

Syncfusion is a Commercial Software, with a Community Version for a specific Customer scenario.

CodeSmith is a Commercial Software, but EasyLOB Libraries do not depend on it: it’s just used to generate much, much faster, most of the source code.