Source-derived document; reported behaviour, inference and evidence gaps are identified in the text.
Return to: Integration data flow
Integration data flow
In this document
Who sends which information to whom, in which direction, and through what mechanism?
This view captures supported integration flows among the desktop controller, order and report components, shared startup state, and the Informix database. The arrows are directional: each relationship identifies an explicit sender, receiver, information set, and mechanism where the evidence supports one. E0011 E0012
The view separates order header and line-item data from state and stock reference data, and separates report queries from order-entry persistence. The database schema is inferred from SQL and record definitions rather than established by a supplied schema definition. E0011 E0013
The evidence describes JDBC database access and an Informix stores7 target, while other supplied material identifies a connection URL containing database name stores_demo; the database identity and deployment context therefore remain qualified. E0011 E0013 E0014
Diagram
Preparing diagram…
View Mermaid diagram source
flowchart LR
n054e59ebcffe6e8fc2e3["D4_Main"]
n407113e207b75ca07f15["D4_Orders"]
n2365b1065981d7508482["D4_Report"]
naa8e9b59d1a160fc9400["D4_Globals"]
n366e9146345e96be669f["Informix database"]
n054e59ebcffe6e8fc2e3 -->|"Startup reference-data request"| n366e9146345e96be669f
n366e9146345e96be669f -.->|"Loaded reference data (inferred)"| naa8e9b59d1a160fc9400
n407113e207b75ca07f15 -->|"Order persistence"| n366e9146345e96be669f
n366e9146345e96be669f -->|"Order retrieval"| n407113e207b75ca07f15
n2365b1065981d7508482 -->|"Report query"| n366e9146345e96be669f
n366e9146345e96be669f -->|"Report records"| n2365b1065981d7508482
Elements
D4_Main
Kind: component
Basis: reported
Description: Central application controller that initializes the database connection, loads global data, manages the main menu, and provides access to customer, order, stock, and report modules. E0011
Evidence: E0011 E0012
D4_Orders
Kind: component
Basis: reported
Description: Order-management component that validates order-related input, inserts order headers and line items, queries orders, and generates invoices. Order update and delete methods are present but only report that they are unimplemented. E0011 E0012
Evidence: E0011 E0012
D4_Report
Kind: component
Basis: reported
Description: Reporting component that constructs customer queries for mailing labels and retrieves data for reporting flows. Backlog and stock-list report methods are present but are reported as unimplemented. E0011 E0012
Evidence: E0011 E0012
D4_Globals
Kind: component
Basis: reported
Description: Shared mutable application state containing customer, order, item, stock, state, counters, and print-option values retrieved through application module lookup. E0011 E0012
Evidence: E0011 E0012
Informix database
Kind: store
Basis: reported
Description: Relational database accessed through the application database API and JDBC. The evidence associates it with the stores7 schema and Informix, while the supplied connection configuration also names stores_demo. E0011 E0013
Evidence: E0011 E0013 E0014
Relationships
Startup reference-data request
From: D4_Main
To: Informix database
Relation: sends
Basis: reported
Description: During startup, the controller invokes state and stock loaders before entering the main menu, retrieving bounded reference data from the database. E0012
Information: State rows and stock rows. E0012
Mechanism: JDBC through the application database API; the precise SQL statements are not supplied in this view. E0011 E0012
Evidence: E0012 E0011
Loaded reference data
From: Informix database
To: D4_Globals
Relation: sends
Basis: inferred
Description: The startup loaders retrieve state and stock records and populate arrays held by shared global state. The database-to-global direction is inferred from the documented loading behavior and destination arrays. E0012
Information: State reference records and stock reference records. E0012
Mechanism: Database loader calls using the application database API and JDBC; the exact transfer implementation is not fully supplied. E0011 E0012
Evidence: E0012 E0011
Order persistence
From: D4_Orders
To: Informix database
Relation: sends
Basis: reported
Description: The order-add flow sends an order header and its line items to the database, committing after the required operations succeed and explicitly rolling back on documented failure branches. E0011 E0012
Information: Order header data and order line-item data, including order and item values. E0011 E0013
Mechanism: JDBC database operations inside an application transaction. Exception-path rollback is not established by the supplied evidence. E0011 E0012
Evidence: E0011 E0012 E0013
Order retrieval
From: Informix database
To: D4_Orders
Relation: sends
Basis: reported
Description: The order retrieval flow queries orders for a customer and uses returned order information to display the selected order and its line items. E0011
Information: Customer-associated order records and selected-order line items. E0011
Mechanism: Database query through the application database API and JDBC; the exact query and schema are not fully documented. E0011 E0012
Evidence: E0011 E0012
Report query
From: D4_Report
To: Informix database
Relation: sends
Basis: reported
Description: The mailing-label flow sends a customer query assembled from a query-by-example predicate and orders the result by ZIP code. E0012
Information: Customer selection predicate and report query for customer records. E0012
Mechanism: The predicate is concatenated into SQL text and passed to a prepared-statement API. Whether the query-builder output is constrained or sanitized is unresolved. E0012
Evidence: E0012
Report records
From: Informix database
To: D4_Report
Relation: sends
Basis: reported
Description: Report flows retrieve customer and order-related records for output, including mailing-label and accounts-receivable data. E0011 E0013
Information: Customer details, order details, and report pricing fields where applicable. E0011 E0013
Mechanism: JDBC result-set retrieval; report buffering and final-output behavior depend on framework implementations not supplied here. E0012
Evidence: E0011 E0013 E0012
Gaps
The exact database schema, table relationships, and SQL for state, stock, orders, items, and customer records are not supplied; several record-to-table relationships are inferred from queries and record definitions. E0011 E0012 E0013
The database naming is inconsistent across the evidence: the application is described as targeting the stores7 schema, while configuration evidence names database stores_demo, and setup documentation refers to installing stores7. E0011 E0013 E0014
The source does not establish whether an exception after transaction start causes rollback, because the visible exception handler does not explicitly call rollback. E0012
The customer implementation is absent, so customer validation, customer selection, and the status contract used by order flows cannot be confirmed. E0012
The report framework’s buffering and output semantics are not supplied, so the correctness of the observed report-start, row-emission, and finalization sequence remains unresolved. E0012
State and stock loaders retain at most 50 state rows and 30 stock rows in the documented arrays; behavior for excess records is bounded retention rather than a demonstrated complete transfer. E0012
Recovery limitations
- Ownership, mechanism or boundary controls remain explicitly unverified.
- The view includes explicitly marked inference.
Sources
- E0011 — SHA256
be5e6746cc70e5b5af8caf785fb6efb113f28a7ab2080be3603561a173bbcb0c - E0012 — SHA256
b17ef2d84bcd51af76724530e686489917c4271029456ef08648f9aa518bfa2b - E0013 — SHA256
112de6889543e63b72f8ca740358ab46bcef10193b22310ea1cdeb85dbf5ba0e - E0014 — SHA256
e5d61550897f3f357225936593a023fb98f078b01e2cd2c44f20a866fb0a3fef
Harten documentation of the Informix 4GL and Java source repository, from the retained 17 October 2026 export. The exact upstream revision analysed is not established. Source findings do not establish runtime behaviour or equivalence between the implementations.
Evidence identifiers are retained for traceability. The underlying analysis records are not included in this public edition; credential values are redacted. About this case study.