Technical Introduction

Business Rules!, also known as BR is a derivative of ANSI Basic similar to that used on IBM mid-frame computers. It is a highly readable ''cross-platform'' programming language used by procedural programmers to build applications in a top-down building block structure.

In the modern world there are three general types of programming languages:

  • Procedural - Where program control flow is the primary focus while the code creates, processes and destroys representations of external reality.
  • Non-Procedural - Where various elements are defined with snippets of code attached to events which are triggered by either users or programs.
  • Object Oriented - Which is a blend of the preceding types with predefined rules for creating and deleting representations of external reality, and program defined methods of accessing them. This language structure was introduced to the programming world as C++, and has become the predominate programming language model.

The advent of the internet introduced the widespread acceptance of the connectionless client/server model, with tunneled methods of achieving connection persistence. This technique was implemented by the Microsoft Dot Net programming languages. Another concept implemented by both Dot Net and Java was the use of a compiled pseudo-code executable which is made portable by providing execution engines for each platform.

RESTful Characteristics

Representational State Transfer (REST) is a style of software architecture for distributed systems such as the World Wide Web and loosely coupled application frameworks. Key goals of REST include:

  • Scalability of component interactions
  • Generality of interfaces
  • Independent deployment of components
  • Intermediary components to reduce latency, enforce security and encapsulate legacy systems

The strength of many programming languages lies in their ability to express immense amounts of processing control specifications in relatively few statements. This is achieved in object oriented languages by the concepts of inheritance and overloading. While these concepts work well for creating and using tool sets where all users learn the tools as an extension of the underlying language, a pervasive problem associated with them is that it is necessary for users of objects to be aware of processing details in the objects they inherit from. While this works quite well for tool sets, it doesn't work so well where:

  1. large sets of programs are shared among many programmers,
  2. programs are part of a networked set of applications, or
  3. a large set of programs must be modified by someone who is not very familiar with them.

RESTful systems insulate nodes from the requirement of knowing processing details within other nodes.

BR Characteristics

Business Rules! is a procedural language that conforms to REST principles. Its unique set of rules for utilizing libraries to create program building blocks, along with its general readability, position it well for both beginning programmers and large scale projects.

This language is being adopted by a growing number of young programmers due to it's ability to quickly develop procedural programs that include:

  • powerful string and array manipulation
  • character position oriented window, field and report specifications
  • HTTP client emulation
  • serial communications for industrial applications
  • PDF printing with background forms
  • support for both indexed flat file processing and SQL databases
  • powerful built-in parsing functions for XML and CSV strings

And have it run in a framework with:

  • a client server architecture
  • a portable pseudo-code executable format
  • dynamic interactive debugging
  • uniquely readable building block program libraries
  • performance profiling

History

When IBM discontinued the System-23 line, a group of frustrated developers realized that they were spending more time porting legacy applications to new platforms than they were developing new systems. In order to give the small and medium sized application software houses an alternative to this constant re-coding, Workstation Basic was created as a platform-independent programming environment. It was envisioned as an environment that would be available on a variety of existing and future platforms and operating systems, that would allow developers to bring forward legacy System 36 Basic and System 23 applications, while constantly evolving to also provide the latest technologies for development of new systems. And evolve it has.

Business Rules! is the progeny of Workstation Basic. It will still support legacy applications via options and still maintains the emphasis on using minimal system resources that was so important early on. It has also grown to incorporate many new technologies including advanced data manipulation, the ability to access platform-dependant devices directly with generic syntax calls, output spooling, externalization of functions (libraries), many platform-independent commands that mimic O.S. commands, Windows compatibility features and functionality, and much more.

Workstation Basic served the community of small and medium sized application houses for many years under the stewardship of ABC Development Systems, and later Emphasys Software. In 1995, it was purchased by two of it’s original authors who made a renewed commitment to revitalizing the language so that it would continue to fulfill their original vision. Business Rules! is the result of their commitment and skill. It has the distinction of supporting legacy applications that are older than many of the programmers who are responsible for maintaining them today, while offering the capability to create state-of-the-art, highly maintainable applications to meet the demands of today’s information systems world.