Agility Deficit Disorder (ADD) on IBM i 

Database modernization

Do you get the chills at the thought of making database (DB) changes?

ADD symptoms include poor data quality, monolithic programs, poor response times(agility), technical debt, integration issues, and being forced to make massive changes instead of incremental improvements.

Data Quality: It’s not uncommon to find junk records in the database. You may or may not know how they got there. Improve data quality by adding constraints. Constraints are part of the operating system, that manages relationships between files. Bonus: You don’t have to write/maintain any code to do it. Just monitor for the error.

Monolithic Programs: The monster programs critical to your business that contain the business logic. Because of the complexity, this program usually requires a highly skilled resource to work on it. Extensive testing is also needed to avoid any unforeseen problems.  Moving the business logic to the database via event trigger programs removes a lot of complexity from a scary program. Event Trigger programs facilitate a large part of data validation and business logic. When moved into the database engine, it will standardize where it can be found, making maintaining and testing business logic changes much safer. Changing a trigger program is much simpler, faster, and safer than changing a monolithic program.

 Response times: When your users demand information currently unavailable in the database, this becomes a major issue. Adding a field to a file causes a level check and the recompile of every program referencing the file. You can dramatically minimize this pain and improve agility by adopting data-centricity. The complexity and risk can be significantly reduced, between the design and normalization of the DB, I/O servers, and the event trigger programs.

Technical debt:  the implied cost of additional work that arises when software developers choose a quick and easy solution over a more comprehensive one that would take longer to implement. The question becomes, how long can you continue with a program-centric strategy?

Integration: Without moving the business logic to the database, integration with front-end GUI programs is complicated because the business logic has to be duplicated into the API. This complicates things in two ways: the back-end programmer needs to communicate the business rules for the API’s development to the API development team and then maintain it. Using event trigger programs to validate the data, minimizes API complexities and avoids maintaining the logic in multiple places.

Massive Changes: When time and pressure finally demand a DB change, it is scary, especially if it is a commonly used file such as the customer master. These changes could involve so many programs that you must freeze other developments until completion. Agility and cognitive computing (AI) demand that you transition to a data-centric application.

ADD is caused by not keeping up with technological advancements. The cure requires some education, planning, and some pain, but the benefits are substantial.

To see what a modern data-centric application looks like, visit our open-source page.

https://databoroughservices.com/rpg-open-source-project/ 

To better understand the solution you are welcome to book a no-strings-attached discussion.

https://calendly.com/neil-woodhams-dbs/data-centric-application-example

At Databorough Services, we understand the critical role that a well-maintained database plays in ensuring an organization’s smooth operation and efficiency. As the technology landscape continues to evolve rapidly, it becomes essential for businesses to adapt and optimize their databases to meet the demands of modern-day computing.

Data Scientist

A data scientist is a professional who applies scientific methods, statistical algorithms, and machine learning techniques to extract insights and knowledge from structured and unstructured data. In simpler terms, data scientists analyze and interpret complex data sets to uncover patterns, trends, and insights that can be used to inform business decisions, product development, and other applications.

Data scientists are skilled in data manipulation and have a deep understanding of programming languages, statistical modeling, and data visualization tools. They work with large amounts of data from various sources, including databases, social media platforms, and sensor networks, to extract meaningful insights.

Data scientists are essential in today’s data-driven world, where businesses and organizations require accurate insights to make informed decisions. They can work in various industries, including finance, healthcare, e-commerce, and marketing, among others.

To become a data scientist, one typically needs a strong foundation in mathematics, statistics, and computer science, along with experience in programming languages such as Python or R. Additionally, data scientists must possess critical thinking skills, attention to detail, and the ability to communicate complex data analysis in a clear and concise manner.

In summary, data scientists are highly skilled professionals who play a crucial role in interpreting and analyzing complex data sets to inform business decisions and drive innovation.

Application & Database Modernization IBM i

     In today’s fast-paced world, businesses are constantly looking for ways to streamline their operations and increase efficiency. One area that has seen significant advancement in recent years is database modernization. This innovative approach to software development is designed to help organizations bring their systems up to date and compete.

What is Application & Database Modernization?

     Database modernization implies updating an organization’s existing software systems to take advantage of data-centric technologies. This involves a combination of code and database refactoring, to create a more efficient and competitive software infrastructure that is better suited to meet the changing needs of businesses.

Benefits of Database Modernization

     There are many benefits to modernizing an organization’s code database. Some of the most important include:

  • Increased efficiency: By taking advantage of the functionality built. into DB2 (trigger programs & constraints).
  • Degrease maintenance & testing effort: No need to check the constraints the old fashion way when the operating system does it for you and secondly when the business logic is consolidated in the database with trigger programs there is no need to repeat it every time you write a new program. This will result in less coding and less testing over time.
  • Increased competitiveness: By adopting modern software development practices, organizations can stay ahead of the curve and remain competitive in their respective industries.
  • Better security: With updated software systems, organizations can take advantage of the latest security features and technologies, reducing the risk of data breaches and other security-related issues.
  • Performance: Because triggers and constraints run in the operating systems storage pool they are faster

The Process of Application & Database Modernization

     The process of application & database modernization involves several key steps:

  1. Assessment: The first step in the code database modernization process is to assess the existing systems to determine what needs to be updated and how.

  2. Code refactoring: Once the systems have been assessed, the next step is to refactor the existing code to make it more efficient.

  3. Database migration: This step involves migrating the existing database to a modern platform, such as a cloud-based solution.

  4. Testing: Once the code has been refactored and the database migrated, the final step is to test the updated systems to ensure that they are working correctly.

The Future of Database Modernization

     As technology continues to evolve, database modernization will become increasingly important for organizations of all sizes. By staying ahead of the curve and adopting modern software development practices, organizations can remain competitive and achieve their goals more effectively.

Conclusion

Code database modernization is a critical component of any software development strategy. By updating existing systems to take advantage of modern technologies, organizations can improve efficiency and become more competitive and improve security. With the right approach and tools, the future of code database modernization on the IBM i is bright and full of opportunities.

Referential Constraints IBM i

Benifits of using Referential Constraints IBM i

Accuracy – prevent orphaned records by letting the RDBMS validate the parent/child relationships between tables 

Performance  – RDBMS runs in the operating system storage pool and provides excellent performance

Functionality- The functionality provided by the constraints is all functionality that need not be performed in the programs, resulting in less coding and testing 

 

DB2 Relational Database Components IBM i

Overview of the Components that makeup DB2 on the IBM i

DB2 comes with some very powerful features

Performance – RDBMS (Relational Database Management System)  runs in the operating system storage pool. Therefore constraints and trigger programs become prioritized

Reduce Coding effort – RDBMS will enforce constraints negating the need to do so in the programs That mean’s not having to declare various master files in the programs used to verify data. That has a trickle-down effect on testing and maintenance. 

Trigger Programs. Consolidate all the validation rules in one place. Do it once in a file trigger and you no longer have to do it in multiple programs. Once again there is a trickle-down effect on testing and maintenance.

I/O servers while not strictly part of RDBMS, complement the Relational Database by establishing a border between the application and the database

 

I/O Servers IBM i

I/O Servers Provide

Border Patrol –  Separates the Database from the program.

Performance – Consolidates open data paths which reduces the size of the PAG and the program

Security – By defining the table as 1. public exclude  2 owned by a profile (with no sign-on capabilities) you are providing a high level of security. The only access is threw the I/O server.

The compelling reason for using an I/O server is to manage data definition changes as in expanding fields or getting the data type right.