Fabasoft app.ducx provides powerful domain-specific languages supporting the rapid implementation of CCAs.
Fabasoft app.ducx relies on cutting-edge technology to facilitate rapid application development. This chapter gives a concise overview of the main benefits of Fabasoft app.ducx.
The use case oriented approach of developing CCAs with Fabasoft app.ducx focuses on the perspective of the end user. Powerful domain-specific languages reduce the complexity of projects leading to less ambiguity and fewer errors between specification and implementation. As a result, maintenance and development costs can be reduced while at the same time increasing end user satisfaction.
In keeping with Fabasoft’s commitment to provide platform independence, Fabasoft app.ducx is a development platform for both the Microsoft Windows and Linux worlds and is therefore integrated into Eclipse. This means greater flexibility for your organization while developing solutions.
Fabasoft app.ducx allows for an easy and effortless localization and customization of your CCAs.
Fabasoft app.ducx allows you to benefit from the rich metadata, compile-time syntax checking, static typing and auto-completion previously available only to imperative programming languages.
Using the compiler provided with Fabasoft app.ducx, a DUCX project can be compiled by simply triggering the build process of the respective development environment, which produces a Fabasoft Folio container file (with a .coo extension) and – if the project also contains use case implementations in Java – a Java archive (.jar) file. These files are then automatically packaged, compressed, and loaded into the Fabasoft Folio domain.
The app.ducx compiler produces a Fabasoft Folio container file, which is uploaded to a web service connected to your Fabasoft DUCX domain. In some projects, this Fabasoft Folio container file holding your software component may get quite large. To optimize upload performance, Fabasoft app.ducx uses a built-in delta loader which, whenever possible, only uploads the changes since the last upload in order to save time.
With Fabasoft app.ducx, you do not need to worry about address management anymore. Fabasoft app.ducx automatically assigns addresses to all component objects created and keeps track of address assignments.
Fabasoft app.ducx uses a set of coding and naming conventions that when adhered to eliminate the need for configuring every single aspect of your software solution. As a result, you need to write less code which will make software development and maintenance much easier.
Developing use case-oriented software solutions requires managing different aspects and elements such as data structures, user interface design, the implementation of methods and business rules.
In order to account for this concept in an optimal manner, Fabasoft app.ducx is comprised of several declarative modeling languages, each designed for covering a particular aspect of solution development. For example, Fabasoft app.ducx includes a modeling language that has been designed explicitly for the definition of an object model. In addition to this, Fabasoft app.ducx includes languages for defining resources, a user interface model, an implementation model, a process model, and an organizational structure model.
These modeling languages are referred to as domain-specific languages (DSLs), where each DSL was designed for addressing a certain aspect of use case-oriented software development.
The purpose of the DUCX object model language is to define the persistent object model for a software component.
Using the DUCX object model language, you can easily define the basic elements that make up the object model:
The DUCX resource language allows you to define resources such as string objects, error messages and icons. Using the DUCX resource language, you can create culture- and language-independent solutions as it allows you to avoid hard-coded, culture- and language-specific values in your solution.
The DUCX user interface language allows you to define forms, form pages, menu items and other user interface elements for your object classes.
The DUCX business process language allows you to define the process model for your software component. The process model is comprised of one or more template processes defining an ordered list of sequential or parallel activities and process control elements such as conditions or loops. Each activity definition consists of a list of steps that need to be carried out by a user responsible for completing a particular activity.
The purpose of the DUCX use case language is to define and implement use cases. With the DUCX use case language, you can define new use cases, and provide method implementations for these use cases that are written in Java. Alternatively, you can also use DUCX expression language or virtual applications to implement use cases.
The abstract elements of the organizational structure required for your solution are defined using the DUCX organizational structure language.
The purpose of the DUCX Customization Language is to define, customize and tailor your software component to project- or solution-specific requirements.
Fabasoft app.ducx is seamlessly integrated in Eclipse, a popular and powerful development environment for Microsoft Windows and Linux.
The software development life cycle is controlled from within your development environment.
Fabasoft app.ducx must be installed in the Fabasoft Folio domain that is used for development.
The Fabasoft Folio domain can also be installed on a remote computer. Only the app.ducx Eclipse plug-in has to be installed on the developer’s computer. The app.ducx Eclipse plug-in supports basic authentication. All information required by Fabasoft app.ducx is retrieved through its service-oriented architecture. Thus, it is still possible to continue development if the connection to the development web server becomes unavailable.
The main use cases for working with app.ducx projects in Eclipse are:
Following features provide pleasant work with Fabasoft app.ducx: