delivering flexible applications using data-management patterns
DESCRIPTION
Delivering flexible applications using data-management patterns. Willem de Vries, Remia C.V. Simon Jasperse, Kiboko. Agenda. Remia, the company Remia and Plex Rolodex Remia Patterns Application Design Plex Observations ? time. Remia, The Company. 75+ years of food manufacturing - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Delivering flexible applications using data-management patterns](https://reader035.vdocuments.us/reader035/viewer/2022062321/56813025550346895d95aaf5/html5/thumbnails/1.jpg)
Delivering flexible applications using data-management patterns
Willem de Vries, Remia C.V.
Simon Jasperse, Kiboko
![Page 2: Delivering flexible applications using data-management patterns](https://reader035.vdocuments.us/reader035/viewer/2022062321/56813025550346895d95aaf5/html5/thumbnails/2.jpg)
Agenda
Remia, the company Remia and Plex Rolodex Remia Patterns
Application Design Plex
Observations ? time
![Page 3: Delivering flexible applications using data-management patterns](https://reader035.vdocuments.us/reader035/viewer/2022062321/56813025550346895d95aaf5/html5/thumbnails/3.jpg)
Remia, The Company
75+ years of food manufacturing 300+ employees Flexibility as a strategic approach IT-systems should support:
rapid change diversified processes
IT-policy with strong development component
![Page 4: Delivering flexible applications using data-management patterns](https://reader035.vdocuments.us/reader035/viewer/2022062321/56813025550346895d95aaf5/html5/thumbnails/4.jpg)
Remia and Plex
Long term AS/400 - iSeries experience Using 2E since 1991 Plex since 1999 for:
quality through standards enforcement speed through reuse of functional
patterns
Pattern development: Framework-approach vs. Explicit experience
![Page 5: Delivering flexible applications using data-management patterns](https://reader035.vdocuments.us/reader035/viewer/2022062321/56813025550346895d95aaf5/html5/thumbnails/5.jpg)
Rolodex: the application
Centralised customer-info repository Flexibility: structural perspective
different channels, different info
Flexibility: process perspective short “time to change” independent from IT department
Requirement: user perspective easy and comprehensive
![Page 6: Delivering flexible applications using data-management patterns](https://reader035.vdocuments.us/reader035/viewer/2022062321/56813025550346895d95aaf5/html5/thumbnails/6.jpg)
Rolodex: The Project
Base Layer Separation of Logical and Physical Introduction of “ Replace “ - entity Separation of UI and DB models
First phase of application project Redesign of Base Layer Build of additional patterns in sync with
Application Development
![Page 7: Delivering flexible applications using data-management patterns](https://reader035.vdocuments.us/reader035/viewer/2022062321/56813025550346895d95aaf5/html5/thumbnails/7.jpg)
Rolodex: Categories of Patterns
Technical patterns: Synchronisation / consolidation of data History
Supporting patterns: Polymorphism
Functional patterns: data-flexibility User Managed Data Query XML
![Page 8: Delivering flexible applications using data-management patterns](https://reader035.vdocuments.us/reader035/viewer/2022062321/56813025550346895d95aaf5/html5/thumbnails/8.jpg)
User Managed Data
User perspective Definition of questions Conditional application of question-groups
Developer perspective Creation of answer-formats Application within “owner-context”
Practice Used within 4 different contexts
![Page 9: Delivering flexible applications using data-management patterns](https://reader035.vdocuments.us/reader035/viewer/2022062321/56813025550346895d95aaf5/html5/thumbnails/9.jpg)
Comparison to _UserData
Goals are comparable
Difficult to adjust _UserData to Remia’s BasePattern
UI of _UserData too constrained Limited run-time flexibility in _UserData Didn’t like the licensing model…..
![Page 10: Delivering flexible applications using data-management patterns](https://reader035.vdocuments.us/reader035/viewer/2022062321/56813025550346895d95aaf5/html5/thumbnails/10.jpg)
Query
User perspective Conceptual vs. Table/Column view Tree-wise presentation of compound
queries
Developer perspective Creation of answer-context Creation of support for elementary
concepts: Datatype + Operators
Technical: ODBC + AS/400 support
![Page 11: Delivering flexible applications using data-management patterns](https://reader035.vdocuments.us/reader035/viewer/2022062321/56813025550346895d95aaf5/html5/thumbnails/11.jpg)
Comparison to Filter
Filter can be implemented fast
Drawbacks are: attached to grid based on single view restricted operator-support for AS/400
implementation
![Page 12: Delivering flexible applications using data-management patterns](https://reader035.vdocuments.us/reader035/viewer/2022062321/56813025550346895d95aaf5/html5/thumbnails/12.jpg)
XML
User perspective Flexible presentations: layout Selective presentation
Developer perspective New schemata Schema-extensions
Practice: XML-based presentation combines with
configurable data support
![Page 13: Delivering flexible applications using data-management patterns](https://reader035.vdocuments.us/reader035/viewer/2022062321/56813025550346895d95aaf5/html5/thumbnails/13.jpg)
Patterns: User Managed Data Application Demonstration
Enter relation data Specify data for relation type
![Page 14: Delivering flexible applications using data-management patterns](https://reader035.vdocuments.us/reader035/viewer/2022062321/56813025550346895d95aaf5/html5/thumbnails/14.jpg)
Delivery ConditionsProduct Sales
Patterns: User Managed Data Design
ListData
Data(format)
Characteristic
DataOwner
Characteristic_Data
Owner_ Characteristic
Owner_Data
Relation
Weekend (Yes/No)Max Pallet Weight (num)
Use in kg/week (num)
Type of Product (list)
Competitor (list)
RelationType
Rel_RelType
RelType_Char
![Page 15: Delivering flexible applications using data-management patterns](https://reader035.vdocuments.us/reader035/viewer/2022062321/56813025550346895d95aaf5/html5/thumbnails/15.jpg)
Patterns: User Managed Data
Database Implementation
Characteristics
OwnerData
ListDataData
Characteristic_DataOwner_CharacteristicCharacteristic
Characteristics
![Page 16: Delivering flexible applications using data-management patterns](https://reader035.vdocuments.us/reader035/viewer/2022062321/56813025550346895d95aaf5/html5/thumbnails/16.jpg)
Patterns: User Managed Data Interface Implementation, Data Entry
Characteristics Data ¦ Value
Data Entry, Format
Characteristics.DataEntry
![Page 17: Delivering flexible applications using data-management patterns](https://reader035.vdocuments.us/reader035/viewer/2022062321/56813025550346895d95aaf5/html5/thumbnails/17.jpg)
Patterns: User Query Create and run query
Type A users in Java land, attending Edge 2002
![Page 18: Delivering flexible applications using data-management patterns](https://reader035.vdocuments.us/reader035/viewer/2022062321/56813025550346895d95aaf5/html5/thumbnails/18.jpg)
Patterns: User Query Query example
Type A users in Java land, attending EMEA Type A AND Java AND attending EMEA
uery
Query Table Field(s) Format Condition TypeType A Rel_RelType TypeCode Char One (exist) SimpleJava land Rel_Group Group -
GroupTypeChar - Char
One (exist) Simple
Attending EMEA
Rel_Char_Data Caristic Data Value
Char-Num-Char
Any Session Plex Or Gen or Bizz
Complex
![Page 19: Delivering flexible applications using data-management patterns](https://reader035.vdocuments.us/reader035/viewer/2022062321/56813025550346895d95aaf5/html5/thumbnails/19.jpg)
Patterns: User Query
User Query Pattern ERD Combine queries (AND /OR) UI to build combinations Query by Platform
AS400 - file pointer ODBC - SQL
![Page 20: Delivering flexible applications using data-management patterns](https://reader035.vdocuments.us/reader035/viewer/2022062321/56813025550346895d95aaf5/html5/thumbnails/20.jpg)
Patterns: User Query Polymorphism Pattern
Super - Subtype Subtype
owned by supertype (query) shared functionality (run query) distinct functionality (query view / fields)
Query Table Field(s) Format Condition TypeType A Rel_RelType TypeCode Char One (exist) SimpleJava land Rel_Group Group -
GroupTypeChar - Char
One (exist) Simple
Using CA products
Rel_Char_Data Caristic Data Value
Char-Num-Char
Any of Ca Products, Plex OR Gen Or …
Complex
![Page 21: Delivering flexible applications using data-management patterns](https://reader035.vdocuments.us/reader035/viewer/2022062321/56813025550346895d95aaf5/html5/thumbnails/21.jpg)
Common Functionality
View1 View7
Dispatcher
Patterns: Polymorphism
SuperType
SubType 1
DispatchersRunquery
ProtoType
SubType 2
Dispatch
DispatchDispatch
Runquery
RunqueryRunquery
Call RunQuery
![Page 22: Delivering flexible applications using data-management patterns](https://reader035.vdocuments.us/reader035/viewer/2022062321/56813025550346895d95aaf5/html5/thumbnails/22.jpg)
Patterns: User Query ERD
Query_Owner
Answer Query
Compound Query
AND - OR
ElementaryQuery
Stack
QueryComposition
Relation
SuperType
SubType SubType
![Page 23: Delivering flexible applications using data-management patterns](https://reader035.vdocuments.us/reader035/viewer/2022062321/56813025550346895d95aaf5/html5/thumbnails/23.jpg)
Patterns: User Query Implementation
Answer
CompoundQueryQueryCompositionStack
Query
Connection
RelationTypeCharacteristic
DistributionElementaryQuery
Call RunQuery
![Page 24: Delivering flexible applications using data-management patterns](https://reader035.vdocuments.us/reader035/viewer/2022062321/56813025550346895d95aaf5/html5/thumbnails/24.jpg)
Patterns: XML/XSL Application Demo
![Page 25: Delivering flexible applications using data-management patterns](https://reader035.vdocuments.us/reader035/viewer/2022062321/56813025550346895d95aaf5/html5/thumbnails/25.jpg)
Patterns: XML/XSL
XML generation DOM for xml generation Scripting for DOM control Conform with Plex
conventions
![Page 26: Delivering flexible applications using data-management patterns](https://reader035.vdocuments.us/reader035/viewer/2022062321/56813025550346895d95aaf5/html5/thumbnails/26.jpg)
Patterns: XML/XSL XML Writer
Abstract functions Write xml data from block/single fetch XML generation options
Keys in node Attributes Field Names for nodes Impl Names for nodes
![Page 27: Delivering flexible applications using data-management patterns](https://reader035.vdocuments.us/reader035/viewer/2022062321/56813025550346895d95aaf5/html5/thumbnails/27.jpg)
Patterns: XML/XSL XML Writer Tree structure through object scoping
Function name => Node Name Meta calls and parm mapping Field names for field tags MijnAgenda.xmlXML Generator function
![Page 28: Delivering flexible applications using data-management patterns](https://reader035.vdocuments.us/reader035/viewer/2022062321/56813025550346895d95aaf5/html5/thumbnails/28.jpg)
Patterns: XML/XSL
XML Writer Implementation Inherit from abstract functions Replace View / Fetch functions
![Page 29: Delivering flexible applications using data-management patterns](https://reader035.vdocuments.us/reader035/viewer/2022062321/56813025550346895d95aaf5/html5/thumbnails/29.jpg)
Patterns: XML/XSL
Display XML - XSL, ActiveX
![Page 30: Delivering flexible applications using data-management patterns](https://reader035.vdocuments.us/reader035/viewer/2022062321/56813025550346895d95aaf5/html5/thumbnails/30.jpg)
Patterns: XML/XSL Display XML - Runtime script generation
to combine XML and XSL
<html><body><script language=VBScript>set xml = CreateObject("Microsoft.XMLDOM")xml.async = falsexml.load("klnkaart.xml")set xsl = CreateObject("Microsoft.XMLDOM")xsl.async = falsexsl.load("Basis.xsl")document.write(xml.transformNode(xsl))</script></body></html>
![Page 31: Delivering flexible applications using data-management patterns](https://reader035.vdocuments.us/reader035/viewer/2022062321/56813025550346895d95aaf5/html5/thumbnails/31.jpg)
Patterns: XML/XSL
XML for data exchange between platforms Data transfer 1 table = 1 file Keys => Attributes
Relatie.xml
![Page 32: Delivering flexible applications using data-management patterns](https://reader035.vdocuments.us/reader035/viewer/2022062321/56813025550346895d95aaf5/html5/thumbnails/32.jpg)
Patterns: XML/XSL
XML for data exchange Process Data Communication Files
DownloadInfo.xml
![Page 33: Delivering flexible applications using data-management patterns](https://reader035.vdocuments.us/reader035/viewer/2022062321/56813025550346895d95aaf5/html5/thumbnails/33.jpg)
Observations
Flexibility and patterns Balancing between developer and user Weighing reusability and initial investment
Application Building Poor impact analysis Huge number of objects
Practical results Fast implementation when needed Small team delivers