How to Communicate the iDempiere Architecture
Presentation at iDempiere World Conference Lyon, Oct. 31st. 2019
Frank Wolff (DHBW Mannheim) & Jürgen Jung (University of Applied Science Frankfurt)
www.dhbw-mannheim.de 01.11.19
Initial observation: iDempiere is based on many components and elements
Various people interested • diverse interconnected business functionality • various options for adaptation to specific companies needs
! Big challenge to learn and acquire knowledge about the complex system
► Architectural overviews may ease orientation – but must take care of • different stakeholders and their • respective viewpoints
12 01.11.19
opt. Swing- client A General Web- shop Web-client Overview Client- client on iDempiere level Jetty-http-Server t Application- e n n i e k
level h r
ERP-Functions Extensions Reports n c o o
s p a w a v e m a m o m J l c a
Webservice- a r I f Accounting u t G Interfaces & File- Workflow r i
engine S interface v O
Model-based administration
Database- level Database Server
13 01.11.19
Overview on talk:
Introduction Questions Interested stakeholders Some architectural drafts Comparison APQC process framework to iDempiere Next steps
14 01.11.19
Questions:
Which stakeholders are interested in knowledge of iDempiere on: • functionality, • technical infrastructure and • development environment?
Which information is required by them?
Which good practice for architecture models is adequate?
opt. Swing- client Web- shop Web-client Client- client level
Jetty-http-Server t Application- e n n i e k
level h r How should iDempiere architecture models be designed? ERP-Functions Extensions Reports n c o o s p a w a v e m a m o m J l c a Webservice- a r I f Accounting u t G Interfaces & File- Workflow r i
engine S interface v O
Model-based administration
Database- level Database Server
15 01.11.19
Potential models for an iDempiere architecture documentation:
Current models • from diverse sources in varying formats • mostly with focus on business processes Other ERP-system architectures • different designs • often focussed on functional or technical components Typical options for capturing architecture information • individual design of symbols and relationships • using a standard, e.g. • UML • Archimate
16 01.11.19
First prototype models revealed an intricate set of notions:
Business objects iDempiere components
• master data • installation requirements
• documents • OSGI-components
• development environment Configuration data (single and project)
• iDempiere technical base iDempiere patterns configuration • application dictionary • ERP-company configuration • model concepts
17 01.11.19
Support process functions ERP - User Operations- Master- data data
Manager Business components
Configuration Confi- ERP-domain - guration- Administrator functions data
Typical Physical basic Technical installed components base components stakeholders ERP-System - Administrator System components interested in Technical OSGI- configuration data component groups an iDempiere- system Developer Architectural development Development patterns components
18 01.11.19
Some models designed in preparation of the workshop:
Standard components and application communication overview Master data of iDempiere Documents flow Components of domain functions • comparison with the APQC process model Development environment Customizing layers of iDempiere
19 01.11.19
Further model candidates for helping to understand iDempiere:
Structure of Classes for business objects (PO, X_, M_, I_) OSGI – modules in relation to general components and functionalities ...
20 01.11.19
Standard components and application communication overview:
21 01.11.19
Overview on Domain Master Data of iDempiere:
22 01.11.19
Overview on Operational Data of iDempiere:
23 01.11.19
Components of Domain functions and data exchange:
24 01.11.19
Obervations from comparison of APQC with iDempiere processes:
Different wording in both lists • APQC standard more common terms Focus of processes • APQC - all company processes, encompassing operational and including numerous management processes • iDempiere – operational and financial processes Valuation quite subjective – depending on base, e.g. • usage in practice • including reports and other elements • incorporating customization (this overview follows the first two viewpoints listed above - customization was excluded)
25 01.11.19
Partially Weighted Comparison of Standard APQC Processes with iDempiere functions:
APQC- APQC-Chategory iDempiere functions Cove Comment No rage
1-2 Strategic and product management 3 Market and Sell Products and Services Quote to invoice 4 Deliver Physical Products Material management, Requisition to invoice 5 Deliver Services Project management 6 Manage Customer Service Returns 7 Develop and Manage Human Capital Plugin-available 8 Manage Information Technology (IT) System admin for ERP-itself 9 Manage Financial Resources Performance analysis 10 Acquire, Construct, and Manage Assets Assets 11-13 Risk, external Partner and Capabilities management
26 01.11.19
Overview on iDempiere Development environment:
Development client (typical)
«component» Browser Cloud based development components Communication and information for community «component» Java development kit iDempiere individual instance «component» «component» Jira iDempiere : iDempiere Jenkins : Display and enter data bugtracking continous integration
«Runs on»
«source code» «application» «executable» iDempiere Java Eclipse iDempiere system sources «component» «component» Google groups of iDempiere Wiki : imports uses «installed builds Data access and change iDempiere : documentation in» communication
«subsystem» «database» «subsystem» Tycho Postgres or Oracle Mercurial
«application» «subsystem» iDempiere«application» TestSite «library» Maven iDempiere TestSite Bitbucket
imports
27 iDempiere system
Application dictionary 01.11.19
or attached to indivudual fields layers of