× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.




Hi Mihael,

<snip>
IMO packaging a service program separately and using it in a larger
framework can go hand in hand as we see in OpenRPGUI. That is one thing
the IBM i community hasn't really grasped yet and the situation we are
all in really emphasizes that: We need to have programs/service programs
as building blocks of our applications. Small modules which can be
reused in many situations. A module is just like a puzzle piece of our
application(s). And may very well fit in many puzzles we create. And it
is not just about having those modules somewhere, we need an easy way
for the whole process: download, installation/update, documentation,
integration, ... . One command must be enough, like: install
powerext-core
</snip>

This is at the very heart of the open source dilemma I think.


XMLi started off as a single service program. As it developed it was broken into more service programs. I tried to build each as a separate piece - each independent and replaceable:

XMLI1 - Builds XML on memory (variables, pointers, managed memory internal to XMLi1)
SQLI - Prepares and runs SQL statements using SQL CLI
CNVI - Wraps iconv and provides a simple text CCSID conversion utility
PRSI - Reads an in-fix expression and converts it to a post-fix expression

XMLI2 - Template Processor which consumes all the SRVPGMs above to build XML in various encodings by using SQL, expressions, etc...

I am still on the journey towards having every distinct functional element as a completely separate and replaceable part. But I am working on it. The challenge (as always) is picking a common interface and accepting that Separation of Concerns is more important than perceived performance gains.

I, for example, could re-engineer XMLi2 to use a generic Node-Based XML Builder and not use XMLI1 (or at least configure it to use either/both). I would participate in a group that built a format-agnostic NodeBuilder in RPG. Something that would build an object that can be serialized as JSON and/or XML and/or any other hierarchical structure (D-spec data structures ??). This way the application building the structure doesn't even need to know what type of object it is building. Something similar to how factory classes work.

For all I know, such a thing may already exist. If it does then I'll look at using it! But, man! It is hard to know what is already out there!!!

Cheers

Larry Ducie



As an Amazon Associate we earn from qualifying purchases.

This thread ...


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.