Techcello is a cloud-ready, multi-tenant application development framework built on Microsoft .NET. ISVs, Enterprises and BPO/KPOs use Techcello to build software (SaaS/Non SaaS) products and applications within .NET - better and faster. Applications built on Techcello can be hosted anywhere from public cloud (such as amazon, azure) or private cloud to on-premise servers.
Techcello provides complete freedom, flexibility and control of custom development, without vendor or framework lock-in and still saves you from all the complexities and cost overheads of building and maintaining your own engineering framework.
Techcello Framework consists of all the basic engineering components & administration components in a ready to use form (API, WCF services and inheritable classes) so that application developers can focus on building their domain specific business features rather than engineering / multi tenant features.
Multi-tenant application development framework for .NET. Techcello provides a fast way to develop multi tenant applications on .NET for any cloud. Applications built using Techcello can be deployed on-premise servers, data centres, private cloud or public cloud. There is no vendor lock-in meaning you have complete technical and strategic control over the entire application stack
Techcello Framework Features:
End user configurable business rules
Unlike developer centric Business Rules and Workflow tools, CelloSaaS provides your application with the capability to configure business rules during run time, by Non IT users. The CelloSaaSBR engine is used by developers to build their business logic and activities and expose the variables to the GUI. During run time, Power users can dynamically set up and configure the rules to suit their own requirement without the help of the developers. These configurations are stored as Meta data - tenant wise. Thus different tenants can set up and use different rules without having to make script or code level changes.
End user configurable work flows
Developer control over Workflow configuration and execution. The web 2.0 based designer allows Non IT Users to drag and drop activities and create / edit the work flows to suit their requirement. All the workflows and their various versions are listed. Users can edit, save and publish them. Users can also create new workflows during run time using the user friendly intuitive Dashboard, using activities already registered by developers during development time.
Role-based access control (RBAC) configured by each tenant
Role-based access control (RBAC) provides a more secure alternative to the all-or-nothing super user model. With RBAC, Tenants can enforce security policy at a more fine-grained level. RBAC uses the security principle of least privilege. Least privilege means that a user has precisely the amount of privilege that is necessary to perform a job. Regular users have enough privilege to use their applications, check the status of their jobs, print report, and create new report, and so on.
Privilege management system configured by each tenant
Developers demand only privileges during development. The complete role - privilege management and mapping is configured during run time using a powerful GUI. Administrator permits the granting and revoking of access privileges to be left to the discretion of the individual Tenant Administrator. Techcello allows users to grant or revoke access to any of the objects under their control without the intercession of an Application Provider.
Thus different tenants can create their own roles and map the privileges to them. CRUD privileges, field level and page level privileges, service level privileges and named privileges are mapped like this. Dynamic data scope policies are also configured during run time and can vary from tenant to tenant. (Example a HR manager can only see data with respect to 3 locations assigned to him - the location itself coming from a tenant specific master).
Provision modules & features to various tenants
Product administrators will be able to provision (enable / disable) the various modules and features in the system to tenants. Parent tenants in turn can provision them to Child tenants and so on. Seat based, flat licensing can be set up and enforced. Licensing can also be linked to Usage quota which in turn is linked to the metering service. Any event or transaction can be metered and licenses can be controlled through the usage quota set for the metered item.
Customize forms and grids
Apart from Logos and themes, CelloSaaS system also allows end users / tenants to configure and customize their forms and grids. Display names, Display languages, Visibility, Required / Not Required, Order of fields etc. can be customized for both forms and grids, provided they have been inherited from classes provided by Techcello. Data models can be extended to add Custom fields and these Custom (Extended) fields can be shown not only in various forms and grids but can also be used in Reports and Business rules.
Ad hoc query builder and report / chart designer
CelloSaaS comes with a ready to use Query Builder and Report / Chart designer which end users could use during run time to drag and drop fields from entities and build simple custom reports and charts. Developers can decide which entities to expose for this feature. Access control and Data scope privileges are enforced dynamically during run time by the framework, depending on the context of the user and tenant. Using the saved query from the Adhoc Query builder, charts and reports can be created and exported. Multiple queries can be combined to create and export custom reports.
Tenant and user management through admin screens
Ready to use admin screens can be further modified or extended by developers. Or a completely new presentation layer can be created by consuming the web services provided by Techcello. Virtual tenants (without any users) are also supported.
Tenant templates assigned to parent & child tenants
Multiple users from different customers / geographies / divisions could be grouped as tenants and sub tenants with parent child relationships. Tenant settings can be managed through templates and these automatically cascaded to child tenants when a new tenant is created. Child tenants automatically copy parent tenant templates.
Manage tenant scope and data scope
Techcello allows the data scope policies to be configured at the tenant level and role level.
Pick up lists
Tenants can create and manage Pick up lists (with cascading effect) and also use them in their custom fields.
Usage Auditing
Usage auditing can help the application providers and tenants to understand the usage of the features and modules. Notification audit, Event Audit, Product analytics are the various audits available with this service.
Metering Services
Metering is the base for Billing and Throttling. CelloSaaS Metering Service measures the various features, modules and tools consumed by each tenants. Quota Throttling runs its throttling rules against the metered data and takes decisions on access controlling to resources. Based on the usages SaaS application provider can charge the customers based on the metered data in a monthly or yearly basis. Billing can consider metered data, and the usage plan which the tenant is subscribed.
Event System
CelloSaaS provides a web based Event registration facility using which tenants can register their own events and map it with Custom jobs. The events can trigger jobs or workflow in the procedural code throughout the application.
Schedulers Service
Scheduler is a full-featured job scheduling service that can be integrated with, or used alongsidethroughout the application. It can be used to create simple or complex schedules for executing tens, hundreds, or even tens-of-thousands of jobs; jobs whose tasks are defined as standard Application logic or components that may execute virtually anything you may program them to do.
Notification Service
Cello Notification Services provides an end user configurable notification template and content template using which the Tenant administrator can configure notification information themselves. The Supported Notification services are Email/Bulk Email, FTP/SFTP and System Notification.
Pre & Post Processors
Pre and Post Processors facilitate hooking up of additional programming logic in the default flow of a feature or functionalities. These hooked logics are common across all the tenants.
The table below enumerates the various capabilities of the Techcello Development framework. Multi-tenant SaaS Applications Developed on Techcello framework automatically inherit all these features, without your developers having to re-invent the wheel - writing code for all these Non functional requirements. They can instead focus only on building the business functionalities. As Architects and CTOs, you benefit from a proven engineering stack that is multi-tenant, scalable and cloud ready.
Basic Plumbing
Components | Features |
Performance Instrumentation | • Install, manipulate, capture log Performance data can be captured for any or all methods |
Post and Pre Processors | • Hook pre and post processing logic for CRUD operations Support the unique needs of each application |
Notification | • Custom Notification throug emails and FTP Tenant can configure their email notification text & templates • Map placeholder entities |
MVC architecture | • Provides high level of modularity |
Service factories & DAL Implementation Factories | • Plug-in using configuration Different Service Implementation and DAL implementation can be easily plugged in using configuration |
Scheduler | • Schedule various activities based on time and events |
Caching | • Methods for Add, Remove, etc Set up default cache manager in config file |
Exception Handling | • Configure and extend handlers • Rethrow exceptions • Prioritize exceptions • Write exceptions to event log • Write exceptions to database |
Data Access Layer (DAL) | • Designed to support multiple databases Designed to work with multiple databases – MS SQLServer, SQL Azure, etc. by just changing the provider in config file. Data Provider currently available for MSSQL 2008, SQL Azure. Other Data providers can be custom developed on request. • Tenant Isolation & DAL Automation |
Data Isolation and Scale-out Schemes | • Separate DB per tenant • Separate table per tenant • DB or Table per application • Shared DB and tables |
Saas Customization Framework
Components | Features |
Tenant based URL Mapping | • Each tenant can be mapped to a different URL |
Data Model Extension | • Add more columns to existing data model entities |
Skin Configuration | • Customize the Themes, logos etc. for each Tenant |
Forms and Grids customization | • Customize the grid and form labels • Manage the visibility of the form and grid columns • Manage the editability of the form columns |
Pickup List Management | • Manage pickuplists • Manage pickup list values • Manage the releationship between pickup lists |
Business Rule Configuration | • Add custom business rules through XML • End user customizable (UI based) Business Rules template • Business Rule Chaining • Tenant aware and isolated business rules execution |
Report customization | • Customize the labels of tabular reports • Manage visibility of the report columns • Custom Query Builder and Report builder |
Work flows Management | • End user Customizable Workflows • Drag and Drop Workflow customization tool • Developer control over Workflow configuration and execution • Parallel execution of multiple workflows • Cascading configuration from Parent to Tenant to Sub tenant • Automated and Manual Workflow Configuration • Governance Dashboard |
Tenant Configuration Template | • Group configurable parameters into a template and assign it to Tenants. • Roll down Parent Tenant configurations to sub tenants. Allow sub tenants and users to change configurable attributes |
Saas Security Framework
Components | Features |
Role Management | • Manage global roles and roles specific to each tenant |
Privilege Management | • Manage the privileges in the product and restrict access based on privileges |
Role Access Management | • Map privileges to roles |
Data Level Access Management (Data Scope policies) | • Restrict access at a data level based on privileges Example: Manager can see only his subordinate details or department details. Sales person can see only data related to his territory. |
Page Level Access Management | • Restrict access to menus and pages based on privileges |
Field Level Access Management | • Restrict field level access based on privileges Example: only HR can see the salary details |
Audit Trail | • Audit log of events and transactions • Track CRUD changes at object level • Track field level changes to objects • Track and analyze changes such as Create, Read, Update, Delete. |
SaaS Administration
Components | Features |
Tenant Data Management | • Create mutlti tenant screens and simple data entry screens through XML configuration Example : Master screens can be created in 15 min by adding configuration in master config file |
Tenant Hierarchy management | • Administer group of tenants by a Service Manager, Tenant Scope Management • Manage Relationship between users. • Multi level Tenant - Sub tenant - user management • Roles and privilege management for nth level user |
Fluent API | • Register application related configuration information into the Techcello framework using FluentAPIs |
SaaS Package Management
Components | Features |
Manage / Validate Packages | • Create Packages by enabling and disabling various sub-systems modules and features of a product / product suite / product line • Assign these packages to specific Tenants • Users within each tenant can use only those features, modules and menus enabled for their tenant. |
SaaS Tenant Management
Components | Features |
Manage Tenants | • Provision new tenants, update and delete |
Customize / Extend attributes | • Configure Cutom Attributes and extend depend upon their specific needs |
Manage Packages for each Tenant | • Create and manage group of features in to packages |
SaaS User Management
Components | Features |
Manage Users | • Create, update and delete users |
Customize user attributes | • Register application related configuration information into the Techcello framework using FluentAPIs |
Manage User Roles | • Map users to global as well as tenant specific roles |
Share Users across Tenants | • Share users across multiple tenants upon approval from the user's own Tenant • Ready to use screens for User Approval and Disapproval |
SaaS Metering
Components | Features |
Metering / Usage recording | • Record / Meter the usage of any entity, transaction or event |
Usage reports | • View the usage details – user wise and tenant wise |
SaaS System Settings
Components | Features |
Tenant Settings | • Configure System settings at a tenant level |
Role Settings | • Configure System settings at a role level within each Tenant |
User Settings | • Configure System settings at a user level,/td> |
Development Productivity
Components | Features |
Code Generator (Integrated with Visual Studio) | • Creates basic scaffolding as required by the Techcello framework • Generates loosly coupled and well structured code • Complete control over the generated source Code • Change and configure the Code generator plug-in |