|
The example I'll use is hypothetical. But, the question applies to a real application I'm working on. With ILE you're encouraged to encapsulate code according to subject into reusable components. With that preface, here's the hypothetical: An ERP application has separate "service programs" for encapsulating code related to "employees", "vendors", "customers", "sales leads", etc. One thing common to each module is "person" related data (i.e.. name and address). Each separate module needs to use a "zip code" file to look-up the "city" associated with a zip code. For modularity, one idea is to create a single service program that opens the zip code file, and exports a function that returns the city for any given zip. All other modules in the application can simply "bind" to, and use that function. It saves little code by not including the record retrieval code in each module. To summarize, the application might have the following structure: ERP |-----"EMPLOYEE MODULE" ------"CITY LOOKUP MODULE" |-----"VENDOR MODULE" --------"CITY LOOKUP MODULE" |-----"CUSTOMER MODULE" ------"CITY LOOKUP MODULE" |-----"SALES LEADS MODULE" ---"CITY LOOKUP MODULE" |-----"OTHER MODULES" --------"CITY LOOKUP MODULE" Another idea is to turn the "CITY LOOKUP" module into a server rather than a service program/sub-procedure. A set of data queues could be used to send a zip code - receive a city (in the context of a single request). The application might have the following structure: ERP |-----"EMPLOYEE MODULE" ------ |-----"VENDOR MODULE" -------- |-----"CUSTOMER MODULE" ------ |-----"SALES LEADS MODULE" --- |-----"OTHER MODULES" -------- ---Data Queue Set--- CITY LOOKUP SERVER The ERP application may have thousands of concurrent users. Which design approach would you take, and why? Or, would you do something else? Thanks. Nathan M. Andelin +--- | This is the Midrange System Mailing List! | To submit a new message, send your mail to MIDRANGE-L@midrange.com. | To subscribe to this list send email to MIDRANGE-L-SUB@midrange.com. | To unsubscribe from this list send email to MIDRANGE-L-UNSUB@midrange.com. | Questions should be directed to the list owner/operator: david@midrange.com +---
As an Amazon Associate we earn from qualifying purchases.
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.