Nathan

I agree with you 100%. Deciding where the business logic is and should
reside is one of the most difficult parts of analysis for software
development.

I understand what you are saying regarding database integrity. The one
issue you can find there is that it is so low level that it creates a
massive dependency for your application and can be very difficult to
change once implemented. This is often the reason that this kind of
approach is avoided.

On Sun, 27 Oct 2019, 20:50 Nathan Andelin, <nandelin@xxxxxxxxx> wrote:

On Sun, Oct 27, 2019 at 3:43 AM Colin Williams <colinwilliams007@xxxxxxxxx

wrote:

One question I have is where do you want your business logic to live?


The term "business logic" may mean different things to different people. In
order to avoid ambiguity, I'd suggest that we infer that business logic
refers to database logic in the context of most IBM i applications. What
does database logic refer to? I'd suggest we infer that it refers to logic
that implements data validation, referential integrity constraints,
database I/O, and rules that rely on database I/O. Where should database
logic reside? I'd suggest that it reside in the same memory address space
in which the database management system resides. In the case of data
validation and referential integrity constraints, that logic should reside
in the DBMS as opposed to in "applications". In other words, people should
not be able to create applications to bypass that type of logic. In other
words, don't put database logic in Java, PHP, Node.js, or any other
language environment that runs in a separate address space. Keep your
database pure. Maintain its integrity. Protect it with logic. Control
access to it via logic. Let's not ever suggest that people move away from
native languages (RPG, C, etc.), especially in regard to the implementation
of database logic.
--
This is the Web Enabling the IBM i (AS/400 and iSeries) (WEB400) mailing
list
To post a message email: WEB400@xxxxxxxxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/web400
or email: WEB400-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives
at https://archive.midrange.com/web400.



As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.