K2BTools overview

K2BTools is the most experienced set of tools in the GeneXus community. Used by the largest GeneXus consultancy companies, it aims to decrease the development time and complexity of GeneXus applications. K2BTools generates GeneXus code automatically, based on the experience in the development of a large number of GeneXus applications, using all the know-how gathered by GeneXus Consulting in more than 130 projects, K2B in the development of a complex ERP, and our customers in more than 15 years of research and development.

K2BTools automates the generation of GeneXus code to solve common and repetitive problems. Its main objectives are:

  • Productivity: Increasing productivity to develop GeneXus applications faster and more easily.
  • Best Practices: Following the best practices when building GeneXus applications.
  • User Experience: Generating applications with an excellent user experience is a critical success factor. This is very difficult to achieve as many developers have little knowledge of design and user experience best practices. K2BTools generates the user interface following best practices and guidelines.
  • New technologies: K2BTools is always up-to-date with GeneXus, releasing new versions for each GeneXus version taking advantage of its new features.
  • Security: Nowadays it is highly important that business applications are secure. Code generated by K2BTools follows security best practices.

All this is implemented in three products, K2BTools for Web, K2BTools for Smart Devices and K2B Audit.

Business applications commonly have the components shown below. The following sections contain information about these components and how K2BTools helps creating them.

K2BToolsOverviewComponents
Components of a business application

First level: Transaction level.

The developer at first must specify the transactions, the relationship between them, and the business logic. Transactions are the first GeneXus objects a developer should create in the Knowledge Base, as they allow the developer to describe the reality modelled by the application. For this purpose the developer must create the transactions, define the attributes, and declare the relationship between the transactions in order for GeneXus to create de Data Model. This step is done enterily using GeneXus, no other tools are necessary.

Second level: Entity level

An Entity groups all the data and behaviour of a (real or abstract) object that operates the system. An entity may consist of a single GeneXus transaction or serveral transactions. Unless the application is very simple, the user doesn't access the transaction level directly. Some user interfaces must be built in order for the user to operate with the transactions defined in the previous level. All the user interfaces that allow inserting, updating, deleting, and displaying items are generated in this level. Also the Entity Manager interface is included in this level. This interface allows the end user to explore how an instance in the system relates to other entities. Basic reports are also generated in this level.

The WorkWith pattern provided by GeneXus aims to automate the creation of some parts of this level with a basic UI. However, in K2BTools we have enhanced the WorkWith to generate better user interfaces, providing flexibility and more features in order to completely generate this level automatically.

To see more details, see Generating the Entity Level.

For more information about the definition of Entity read Entities

Third level: Advanced User Interfaces Level

The previous level contains all the interfaces for a simple CRUD application. However, most complex applications require other types of interfaces. For example:

  • Interfaces that may use data from different data sources
  • Interfaces that need to integrate with other applications.
  • Interfaces used to analyze the application's data.

It may also be important to track the application's data history, including all revisions and which user authored them. K2BAudit solves this problem by storing all revisions and allowing an end user to browse all that information.

To see how K2BTools helps in this level read Generating the Advanced User Interfaces Level.

Fourth level: Access level

The next level is the access level, in which the user must be provided with ways of accessing the application. The access can be done using a menu interface and from many devices by using a responsive or a native application. To see how K2BTools helps in this level read Generating the Access Level.

General features

Also some general features must be provided to ensure the quality of the application . The application should satisfy user needs, and should not have any security vulnerabilities.

User interface customization

The user interface must be easily customized, so that the developer can adapt the design to the users' needs. To see how this can be done using K2BTools, read User interface customization

Application Security

Security is an important aspect that must be taken into account in all the development cycle. K2BTools helps developers in creating secure applications. For more information read Application Security.

Responsive Web Application

Users access applications from many devices so the applications should adapt to the different screen sizes. Therefore the application must be responsive. For more information read Responsive Web Application