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. - client A General Web- shop Web-client Overview Client- client on iDempiere level -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» iDempiere : iDempiere Jenkins : Display and enter data bugtracking continous integration

«Runs on»

«source code» «application» «executable» iDempiere Java 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

  Table based, often in several levels.  Some scripts for validation Customizing purposes in the AD, linked

or attached to indivudual fields layers of    individual 