Version 11 BETA is for testing purposes only. We do not support 11 BETA in production or development environments.
What’s New in USoft 11 BETA?
Web UIs
Renewed runtime web UI
The runtime web UIs output by USoft Web Designer now have a cleaner HTML5 structure.
All JavaScript output by USoft has moved to modules. This ensures a clean separation when 3rd‑party libraries are combined with USoft web solutions. Interference between 3rd-party functions and similar USoft embedded functions is prevented.
Improved web UI testing suite
The embedded web UI test recording, playback, and benchmarking tooling that comes with USoft has an improved user experience, making web testing simpler and more fun.
Template defaults for web UIs
Summary: You can now replace the USoft factory default for web pages by a custom default. You can re-use your default as a template in multiple applications or Development environments.
Benefits: Low-code developers are relieved from painstakingly “painting” individual details of UI controls in web pages. “Painting” is now only needed if the web page requires special features.
Template defaults can take into account the access rights to data sources that the end user has.
Explanation:
One USoft low-code capability is the automatic generation of a complete UI framework of pages and controls shaping a web application interface that works with the USoft Rules Engine. This framework is generated on the basis of the same application data model also used for RDBMS storage of application data and for the Rules Engine.
You can customise (“paint”) all the details of individual pages and controls of this framework in USoft Web Designer, the UI design tool dedicated to this task.
The low-code spirit is to minimise “painting” and maximise the re-use of smart defaults. If you start by applying template defaults at the beginning of a project, all your pages will look good immediately and will require relatively little manual refinement.
In USoft 10, it was only possible to define different defaults pages for different user groups (or roles) and then, through separate manual action, link these pages to user roles. Template defaults can be made aware of user role privileges.
Revised UDB API
USoft Web Designer outputs an API of UDB objects that allows a web UI to communicate with the Rules Engine. This code layer has been brought in line with current JavaScript standards. Obsolete technologies (jQuery, jQuery UI, handlebars, older Bootstrap versions) are being phased out and replaced by modern standards (latest Bootstrap, Vue3). This enables reactive pages among other things.
Studio-platform integration
In many projects, product owners and development teams experience the value of USoft Studio, the SaaS solution for formulating the business reality in which the target solution will be put to use. USoft Studio uses OMG’s SBVR to structure terms, definitions, rules and diagrams. Structured natural language has a self-organising power: relationships are automatically understood and made navigable. Your business analysis findings become supremely clear and traceable. They are shaped in pictures and natural language that all stakeholders can use without learning curve.
SBVR in USoft Definer
SBVR colour-coding in USoft Definer
USoft 11 strengthens its integration with Studio contents. The clarity of color-coded SBVR formulations becomes available in the development environment:
USoft Definer, Business Rules, USoft 10
USoft Definer, Business Rules, USoft 11
SBVR in Implementations
SBVR appears not only in Business Rules, but also in implementations.
First, USoft 11 developers can register with much greater ease how a rule is implemented. If they choose an implementation type from a new dropdown list, in the Name field next to it, they can pick an implementation of the chosen type from a lookup list.
It is now possible to reference ESI objects (windows, pages, controls) as implementations of a rule.
It is now possible to reference not just components, but individual component methods as implementations of a rule.
It is now possible to reference not just roles, but individual table rights, column rights, job rights and component rights as implementations of a rule.
USoft Definer, Business Rules, USoft 11 (Implemented by)
Once you had implementations, in USoft 10, it was difficult to view the rule they implemented. You needed to press F9 and open a related window. Let's take the Constraints window as an example:
USoft Definer, Constraints, USoft 10, no direct display of implementations
In USoft 11, in all the windows displaying implementations you can directly view and edits which rule(s) they implement:
USoft Definer, Constraints, USoft 11 (Implements tab)
You also get instant, automatic SBVR colour-coding and navigation just as you do in the Business Rules window:
USoft Definer, Constraints, USoft 11 (Formulations tab)
Automatic click-through to USoft Studio source
Text fragments coloured in blue and in green correspond to SBVR concepts in your Studio vocabulary. All these concepts in all SBVR colour-coded formulations in all windows are now hyperlinks. For example, you can mouse-click on the screen spot indicated here by a red circle:
This gives you immediate click-through navigation across the Internet to the USoft Studio source of your formulations. The Studio source is presented in a browser control:
This browser control gives in-place access to all the features of Studio. You can perform further navigation and even editing.
If you edit from here, the edit will take place only in Studio. For Definer to pick it up, you need to re-import the source across the Studio-Definer bridge. Later in the 11 series, synchronisation between Definer rules and Studio rules will become even easier.
Data model alignment between USoft Studio and Definer
What is it?
In USoft 10, USoft Studio (USS) and USoft Definer (USD) both covered formulations, but there were many differences between the 2 data models.
USoft 11 brings the 2 data models more in line:
- Desirable functionality that only existed in one of the data models has also been added on the other side.
- Quirks that made their way into 1 of the data models but that we do not want anymore have been eliminated.
- USD Business Rules look much more like USS Formulations than before.
- Terminology differences are minimised. “Formulations” make their way into USD. Into the future, we use “vocabulary” for collections of interrelated formulations. USS “Project” is renamed to “Vocabulary”. USS/USD “Classification” is renamed to “Label”.
Better USS-USD alignment
The USS-USD bridge is now much more predictable because attributes (such as progress flags) now exist on both sides and implicit logic has been largely eliminated.
Deprecated or dropped in USoft Studio
USS “Agile” attributes: Business Value, Est. Order of Cost, Milestone have been dropped. The well-liked “MoSCoW” Priority attribute is also in this category, but has been kept as an exception.
USS “Implementation” attributes: Implementation Type, Implementation URI, Implementation Description have been dropped.
USS Release Versions have been dropped. Vocabulary Versions have been kept. This version control system is not transferred to USD when you use the bridge.
Deprecated or dropped in USoft Definer
The “Business Process Step” subtype is deprecated and will be dropped in a later version.
In Business Rules, “Belongs To” and “Short Description” are also deprecated.
In Implementations, user-defined Implementation Types are deprecated and will be dropped in a later version.
USD 10 tried to accommodate teams who wanted to keep Studio and Definer formulations alongside each other. The Source attribute was “misused” for this. In USoft 11, teams who really want to continue working like this can classify formulations in different Vocabularies. Otherwise, in USoft 11 Vocabulary is still a largely hidden feature intended for future improvements.
ER diagrams for metadata editing
ER diagrams in USoft 11 have been moved from Studio to the development platform and are now interactive. Developers can still choose to traditionally declare their data model (their metadata) by filling in a form and then generate the solution. But they can now, alternatively, create metadata by drawing ER diagrams. USoft 11 stores the diagrams alongside the metadata and performs automatic 2-way synchronisation between the two.
An ER diagram is associated with a Business Object (BO). It automatically depicts the tables associated with that BO (whether owned by the BO or not), as well as any relationships connecting these tables.
ER diagrams will remain available in Studio but the intended use is to create them within Definer 11.
Later in the 11 series, decision models will be added to this way of working, starting with the ability to draw decision tables that are automatically synchronised with metadata.
Template domains
To enable data model specification on the basis of ER diagrams alone, a new system of template domains is introduced. They are simple, popular data types such as Short Text, Long Text, Number, Amount, Date and Boolean. This allows you to draw a simple type to start with. You can always refine and diversify later at Domains level in USoft Definer, as before.
Repository version control
USoft developers do work on models, rules, jobs, UI paintings and more by populating repositories: they “fill” metadata tables with records. In this default way of working, developers on a project work concurrently on a single central database. This has many advantages. You are quickly aware of changes by others. RDBMS user-concurrency capabilities are leveraged to manage commits cleanly.
For teamwork in larger projects, USoft 11 now offers version control on this repository content. Teams can decide to extend their development environment with a file-based version control system for USoft metadata. The difference for developers is that their local work is automatically synced and can be merged and managed using a file-based version control system of their preference, for example Git. This enables more advanced version control of a type more familiar to coders, including branching and merging facilities, full history of development efforts, and present-day facilities for viewing differences (before states and after states).
Repository objects in USoft 11 are identified not only by meaningful keys but also by GUIDs (meaningless globally unique identifiers). This makes it possible to identify a metadata record even between repositories. In particular, this gives you traceability of upgrades to values acting as a meaningful primary key.
Browser control in C/S UIs
USoft 11 also extends the versatility for traditional C/S applications for back-end power users. An exciting new feature in this area is a new browser control that will not only display application data enhanced by HTML5 but also allow instant communication with the USoft Rules Engine. This opens up very advanced C/S data rendering and takes away the burden of making controls in obsolete techniques. For example, when a back-end application handles resource allocation (rooms, utilities, human resources, whatever you can imagine) a stunning HTML5-based representation can be displayed that acts interactively and updates the underlying data. Needless to say, this also facilitates hybrid applications where back-end power users experience the same look (data representation) as end users see in web UIs.
Support for net6
In the deployment area, the USoft 10 series already provided everything necessary for running USoft services in containers, both Windows and Linux. USoft 11 continues to make this even more seamless. A major new advancement is that USoft 11 now uses the same long-term supported net6 version for both Windows and Linux. The USoft 11 series will add the option to switch to higher versions.
For backwards compatibility, the Windows version still supports the Windows API, allowing existing solutions to migrate to net6.
Security
Safety
Both architecture and implementations are continuously adapted to the needs that follow from PEN tests, flaws in 3rd-party libraries, and insights and requirements we get from our customer base.
In USoft Binder, passwords were masked as *** in the commandline preview but it was not difficult to extract the RDBMS password. The password is now encrypted.
It is no longer possible to extract passwords via calls to the RulesEngine internal component.
Authorisation, next iteration
A complete overhaul of the USoft authorisation system took place in USoft 10. Role-playing was drawn into the development environment. This allowed much richer features than before, when authorisation consisted essentially in distributing RDBMS grants.
USoft 11 completes this transition by adding useful extras.
Single sign-on (SSO) in C/S
In C/S, developers can now sign on to USoft development tools automatically using their Windows account.
Simplified user model in USoft Authoriser
The USoft Authorizer model for application users has been simplified in a number of ways.
Account Type (as an attribute of Application User) has been dropped. Access control is now covered by Validation Agent only.
Authorizer no longer has a Funnel setting. There is now a strict distinction between RDBMS user (outside USoft) and Application users (in USoft Authorizer). The funnel user is an RDBMS user and no longer needs to be registered in Authorizer.
The Validation Agent setting of “(Disabled)” has been dropped. Use the Active flag instead. The setting “USoft Encrypted” had no practical purpose and has been dropped.
Extended authorisation
USoft 11 extends its authorization capabilities for components such as .NET components and USoft internal components (eg., the XML component), allowing application developers to limit rights based on roles and to move foreground rights to background rights. This disallows users to directly invoke certain components by delegating component functionality to rules.
In USoft 11, you can authorise on DDL actions in the RDBMS (CREATE, ALTER, DROP).
Automatic cache refresh
Resource setting ‘CacheRefreshPeriod’ has been removed from the product. USoft now refreshes the user cache dynamically when the timestamp of the user changes. The timestamp changes when any of the user related data changes. The user data will be removed from the cache when the user data is not consulted for 5 minutes. As a result, the internal RDMI method RulesEngine.RefreshAuthorization() has been removed as well.
Usability
SQL Parser
The SQL parser has been improved. When checking a SQL Statement, it will now report multiple errors together instead of stopping at the first error.
Another improvement is that the SQL Parser will parse SQL as you type. It will underline in red when it detects an incorrect syntax. This will give you the ability to detect and fix syntax errors quickly as you type:
More improvements will be added to the SQL Parser during USoft 11, like name-completion.
External tables
Tables that are defined in USoft Definer but that are in fact an RDBMS view or an RDBMS synonym, are ignored by Create Table (Definer, Binder) and by TDF export/import (Benchmark).
These are referred to as "external tables”.
Grouping binder items on the Windows Taskbar
You can determine how the Windows OS groups icons for opened USoft Binder items on the taskbar. You can group 'By Type', 'By Project', 'All' or perform no grouping.
Expressiveness
Table initialization
It is now possible to store initial data with the definition of the table in the Definer.
In the Definer, in the 'Database Tables' window on the 'Table Details' tab, there is an extra field called 'Initial Data'. In this field you can specify any data contents that, at some point for some reason, you want to initialize the table with. A method called "<tablename>.GetInitialData()" is available to retrieve the initial data in the application.
More information can be found on the community.
XML/JSON Export/Import of binary data
Export and import routines to and from XML and JSON are now able to handle binary data (BLOB data type), using the base64 encoding.
XML Export/Import using CDATA for LOB’s
XML.Export and XML.MultiExportTables have a new parameter named 'LobAsCDATA' with possible values 'yes' and 'no'. The default is 'no'.
If these methods are called with 'LobAsCDATA' set to 'yes', all LOB columns will be exported as child elements instead of attributes and their value will be enclosed by a '!sCDATAl]]' section. This has the advantage that special characters (such as '&') remain readable because they do not need to be replaced by entity references (such as '&') as an escape mechanism.
LOB columns are columns with the CLOB, NCLOB or BLOB datatype.
XML.Import can handle the LOB values in both the traditional and the CDATA format.
Removed functionality
The following functionality has been removed from the product:
- WebService provider functionality in Definer is dropped: it is superseded by the Service Definer.
- WebServiceClient java component has been dropped: it is superseded by the WebServiceClient .Net functionality.
- RDMI::Automation has been dropped: it is superseded by the .Net components.
- Default user/pwd in WebDesigner publication properties has been dropped.
- USoftComJavacall has been dropped for running Web Applications. This has been superseded by the PageEngine service in the Service Definer.
- System Installation menu in Definer, for Oracle space calculations, has been dropped.
More
More features will be added to USoft 11 series and presented in final release notes or later patches. Roadmap includes:
- Extended access to runtime metadata to support for dynamic constraints based on languages such as JavaScript, Python or R.
- Upgrades to 3rd-party libraries for both security and versatility. Upgrades take place between patches as a general exercise, but the transition to a USoft major version allows more thorough renewal or replacement.
- Memory management, database drivers, JVM and CLR drivers have been improved and re‑engineered.
- USoft’s PostgreSQL support has been extended and will become production in the 11 series.
- Support for Markdown and PDF rendering for document-oriented needs in USoft applications.
- Decision table diagramming and synchronisation with metadata in USoft Definer.