While listening to the ZB300 course’s Unit 4 Developing business object models…again I’ve been struggling with understanding BOM and XOM development lifecycle.
Business Object Model (BOM) is the model business rules are written upon whereas Execution Object Model (XOM) is the model rules are executed upon. It’s clear that one cannot live without the other so the question I run into was “What should be developed first – BOM or XOM?” The answer turned out to be quite simple – it doesn’t really matter, and you could develop BOM first and then map it to XOM or vice versa. It could be even more complicated than just ordering scheme as BOM does not necessarily have to correspond to XOM exactly. BOM can be extended as well as XOM doesn’t have to be fully mapped to BOM. Having said that the question goes “Can I assume that I could have BOM without XOM?” Since XOM is unimportant at first and BOM can be mapped to XOM later on, and BOM can be wider (extended) than XOM, can I assume that XOM may be empty, non-existent? The course said it’s not possible, but I leave the question for a while to hear your take on that.
During the course I’ve also been able to draw similarities between the BOM-to-XOM mapping (B2X) and another technology or technique I have already understood and tried out many times – Object-Relational Mapping (ORM). The Java world is full of objects while the database world is full of relational entities. It’s very common to map one to the other using ORM solutions like Java Persistence API (JPA) or a full-fledged product based upon it – Hibernate. I can see many similarities between B2X and ORM. I’d say they’re alike – BOM is what JPA calls JPA entities and XOM is what JPA executes upon, i.e. a relational database. If you look at the acronyms – RDBMS and BRMS – you’ll notice one more similarity – they’re (almost) anagrams. ILOG Rule Language becomes JPA Query Language then, doesn’t it? It should now be easier to understand and remember the acronyms and their roles. Nice.
Tomorrow heading to Istanbul, Turkey for 3 days so if you’re nearby I’d like to hear about it. We could discuss rules or other enterprise beasts.