Articles by Steffen F. Pirsig

I Love Xbase++ (ILX)
The portal for Xbase++ developers worldwide
Steffen F. Pirsig
4 min read
Views
433
Reaction score
1
In software development, a monolithic object or class refers to a design where a single class performs a variety of functions that could logically be separated. These classes for example handle data access (like database queries), business logic (application-specific rules), and sometimes even...
  • Featured
Steffen F. Pirsig
8 min read
Views
339
Prolog Using many small services, known as microservices, is a popular way to build applications. But, working with microservices can be very complicated. However, the complexity arises not from the Xbase++ business logic code - a domain in which an Xbase++ developer is highly proficient - but...
  • Featured
Steffen F. Pirsig
3 min read
Views
298
Reaction score
1
The re-implementation of existing legacy software systems often faces significant challenges, and understanding these can illuminate why such projects frequently fail. This little write-up is far from complete but tries to create awareness regarding these important and very often underrated...
  • Featured
Steffen F. Pirsig
4 min read
Views
681
Background Microservices architectures consist of loosely coupled, reusable, and specialized components that often operate independently. Microservices also use a high degree of cohesion, also known as bounded context. Bounded context refers to the relationship between a component and its data...
Steffen F. Pirsig
4 min read
Views
547
Reaction score
1
Background In the realm of software development, keeping a software product current, reliable, and robust requires a strategic approach. Alaska Software, the vendor of the programming language and development platform Xbase++, has adopted a strategy known as Continuous Delivery to maintain the...
Steffen F. Pirsig
4 min read
Views
893
Introduction Composition and inheritance are two major concepts in object-oriented programming (OOP) that allow for creating complex types. Inheritance is a mechanism where you can derive a class from another class for a hierarchy of classes that share a set of variables and methods. The...
Steffen F. Pirsig
3 min read
Views
155
Prolog In the realm of software development, it's imperative for companies to adopt versioning strategies that are both meaningful to developers and aligned with modern development methodologies. Alaska Software, as the vendor of the Xbase++ platform, has seamlessly integrated these...
Steffen F. Pirsig
3 min read
Views
684
Introduction Interfaces in Object-Oriented Programming (OOP) play a critical role in designing robust software. In the following we will try to explain the benefits of using interfaces and how to implement them in Xbase++. Generally, benefits of using interface are: Abstraction: Interfaces...
Steffen F. Pirsig
4 min read
Views
505
Background One of the largest differences in how data is managed between SQL and ISAM is how deleted records are handled. In short: ISAM: does mark a record as deleted. This way it is out of scope. To really get rid of the record you need to do a time consuming PACK operation. SQL: does really...
Steffen F. Pirsig
2 min read
Views
593
Background Since the ISAM emulating tables of the PostgreSQL DatabaseEngine are in fact regular SQL tables, it is possible to manipulate them using SQL statements. However, some SQL operations are problematic, as they may lead to inconsistent/incorrect ISAM behavior. In the following, we will...
  • Featured
Steffen F. Pirsig
2 min read
Views
499
Background As you may have already realized, a PostgreSQL server or any SQL server in general is a "relatively" complicated story. The reason for that is basically that the server with the planner tries to replace you as a human. In ISAM you have the data model in mind, also the requirements of...
Steffen F. Pirsig
3 min read
Views
998
Reaction score
2
Background The Xbase++ PostgreSQL DatabaseEngine provides two different access method to data. First, the ISAM emulating approach which works with dedicated SQL tables only. These SQL tables need to be created using ISAM commands like DbCreate/INDEX ON/OrdCreate or have been upsized from...
Steffen F. Pirsig
3 min read
Views
477
Very often applications support multiple tenants. A financial accounting solution used by a CPA is a typical example for that. However, there are other scenarios where the ability to switch between several tenants/customers is required. The following note gives an overview about the options with...