TaskBuilder.net can be used to:
- Build ERP applications that work parallel with Mago.net, with its own tables, Business Objects, data entry windows, menus, reports and so on
- use the Mago.net Business Objects to perform actions already provided by the standard application, e.g.: Register an order, calculate the final balance of an account etc..
- Dynamically extend or edit the behaviour of Mago.net without modifying the original source code
Some important things to remember about TaskBuilder.net:
- it is not a proprietary platform or language. It is based on standard programming languages (C++ and C#) and standard development environments are used (MS Visual Studio).
- it is not a general development platform. It is mainly oriented towards developing solutions and applications like ERP.
- it is not a closed platform. Since it uses standard languages and development environments, it leaves the developer free to add other software components to enrich its customization
- it was not designed just to customize Mago.net, but it is the platform Mago.net is constructed on. This means that the developers work at the same level and with the same potential as the Microarea development team.
Here are some of the key concepts of the general architecture of TaskBuilder.net:
- Components: TaskBuilder.net provides an extensive set of software components oriented towards ERP solutions: controls, templates, management of the DBMS, abstraction of Business Objects, and so on
- Tools: Radar, Security, Path Finder, Auditing ... TaskBuilder.net contains many tools that help the user interact with the application, for example: che aiutano l'utente ad integragire con l'applciazione, ad es.: to navigate and search for data, manage rights of access to functions, track activities and so on
- Applications: the construction of the applications is based on the elements of the platform. Mago.net itself is formed of various applications, including the ERP heart of the system, but it is all conceived to easily allow third parties to add applications.
- Web Services: Web Services are used for all the communication and orchestration of the components. This means that the support for Web Services was not added just to specific objects with a limited interface, but that the Web Services are the communication protocol used by all the objects and components that form TaskBuilder.net and the applications realised with it. The result is that all the application functions and components can be transparently reached through Web Services, allowing the use of the Business Objects developed with the platform by programming.
TaskBuilder.net introduces the concept of Dynamic Application. This means that the ERP solution installed to the user is not a single block, but is composed of several independent applications that are dynamically coordinated to execute the actions requested by the user.
The same installation can contain applications supplied by different producers and targeting different company areas, which are dynamically loaded when they are used. Since they all share the environment and the building blocks provided by TaskBuilder.net, the user has on their screen a consistent set of interfaces and behaviours, even though they are supplied by independent components.
In turn, the applications are not monolithic but are composed of modules that can be installed as options, like for the various application modules of Mago.net.
TaskBuilder.net is not only developed with Object Oriented languages, but it encourages a strict OOD (Object Oriented Design) approach for the development of applications. Each component is obtained by specialisation of abstract components, integrating it with others. The abstract components contained in the platform incorporate numerous predefined behaviours that become the characteristics of the specialist component.
For example, an abstract component that manages a date entry form can already:
- save, load, retrieve the data contained in it, in the database
- esportarsi o importarsi in formato XML export or import itself in XML format
- be used by way of programming by other components
- make itself accessible through Web Services
- used interactively by the user can be created, edited, deleted, navigated etc…
- ... and much, much more
In many cases, you just need to place the abstract component in relation to the data it has to manipulate to obtain a new, perfectly functioning management component.
The applications developed with TaskBuilder.net use an exclusive reporting tool: Woorm (Windows Object Oriented Report Maker). Woorm is a powerful and sophisticated reporting tool that is also part of the standard contents of Mago.net.
Some of its innumerable features include:
- Intuitive graphic interface for design
- Sophisticated script language for instructions and expressions makes it possible to develop using the visual interface plus as a common programming language
- Combines an inquiry engine and designer layout in a single tool
- Events processor for total control of the flow of data and the layout
- Definition of parameters using dialogues that interact with the user to use for conditions, filtering etc…, and to create extremely sophisticated reports
- Layout defined with an extremely precise "WYSIWYG" designer the result being the same on any printer
- Powerful inquiry engine with SQL-like syntax, irrespective of the database used
- Management of images in any format, including as background to compose the layout
- Can retrieve native functions of Mago.net and other applications
- Support for drill-down, it executes reports connected also in cascade or opens template entry documents of Mago.net and other applications
- Data export into Excel, Word, HTML, text with just a click
- Sending reports as PDF attachments to emails
- ... and much, much more
TaskBuilder.net provides a wide range of software components that make it possible to manipulate the data from the application code. These components encapsulate the OLEDB Providers managed by TaskBuilder.net (to now, MS SQL Server and Oracle) with a simple programming interface that prevents the develop from going into the complexity of constructing SQL statements compatible between the databases.
These components make it simple to compose queries from your own application code and to get the result directly in the memory structures used in the development.
And all the other aspects of the interaction with the DBMS (transactions, degree of isolation, connections etc…) are manipulated through specific software components provided by the platform.
Objects dynamic collaboration
TaskBuilder.net introduces an exclusive and innovative approach to extend the ERP applications like Mago.net, without changing their source code: the model of dynamic cooperation between components.
Indeed, the possibility of constructing new Business Objects making use of the ones already present by way of programming is definitely an important feature to create customised or vertical applications. Still, often to satisfy customer and market demands, the behaviours of the standard functions need to be extended or modified.
Anyone who uses TaskBuilder.net also has all the sources of Mago.net available, and can theoretically modify these to obtain the desired behaviours. However, this is not usually recommended since it limits, if not prevents, the possibility of following the updating path of the product and prevents the installation of new versions when these are published.
The dynamic cooperation between components model can be used to satisfy both needs and to dynamically change the behaviour of the standard business objects without changing their source code.
In implementing these dynamic extensions, the Business Objects are connected to run-times to their extensions, and rotate all the significant events of their working lifecycle around these. The extensions can act on and add actions like calculations, messages, additional controls etc… They can also enrich the interface by adding buttons, windows, manage data on database tables of their competence etc…
The dynamic collaboration model is not only conceived for customisations: many of the Mago.net functions are created with the same principle, including management of agents, many production functions etc.
Task Builder Wizard
TaskBuilder Wizard is a tool that is easy to learn and to use and helps programmers with an interactive and guided definition of new applications based on TaskBuilder.net.
From inside its simple and intuitive interface it is possible to define and control all the aspects of an application developed with TaskBuilder, guiding the logical correlation between components and automatically preparing the whole environment needed for its execution.
TaskBuilder Wizard is particularly helpful in the initial phase of designing a new application or extension module: it generates and maintains SQL script for defining the database, XML metadata, source code, etc., and prepares the necessary injection points to enter the specific business logic of the customisation. It enables a considerable saving of time and makes developers productive right from the start.
Applications created with TaskBuilder.net are easy to localise. The localisation features were behind the design of the platform.
In terms of language localisation, the applications created with TaskBuilder.net are easy to translate in all languages because they fully support the UNICODE standard to manage any written language including from the Far East.
The application is developed with all the text elements (templates, messages etc…) in a base language (usually English), then translated into any language desired thanks to a specific tool: TBLocalizer.
TBLocalizer supports the translation process with the possibility of applying glossaries, repeat translations already applied elsewhere, preview templates to control the appearance and so on.
Translated elements are memorised in XML databases (called “dictionaries”) that are dynamically loaded when using the programme. This means that the application can be visualised in different languages by different users in the same organisation. Indeed, attributing the interface language can be set at the installation, company or single user level.