Splicer’s data model automation allows us to easily map client models to server models. We create our client models in the CAM GUI, and then use our data model automation to generate the client and server models. This keeps the models in sync. These maps essentially define a view into the database. You can think of these views as “perspectives” that layout the screen flows in our mobile apps.
For example, usually our screen flow will start from a “User” perspective: the user will need to login and see some bits about himself. So, in our client model, we would drop the complex User object from our server schema over to the client pane on the left hand side of the CAM editor. Now, once we go deeper into our mobile app, we might realize there is a different “root” perspective such as “Accounts” — provided we have requirements for an “account manager” screen. Once we design the data layout this way, its far easier to develop our mobile app and allows our Android and IOS developers to focus primarily on “View” coding.
Designing this way borrows the idea of screen layout design and applying it to data layout. Previously, coders spent a lot of time doing this type of design work, yet never had the tools to abstract out the concept into an efficient and effective model mapping. We were doing this sort of work, but didn’t quite realize that we were! Today, we have a much cleaner way to tackle this difficult problem of model mapping. Splicer also supports data aggregation from disparate databases. Once you have your aggregated models, you can start building your client and server Data Dictionaries in CAM. This streamlines the complexity involved in Master Data Management (MDM), and becomes a convenient “MDM-light” mechanism.
Besides mobile, Splicer generates portable React.js forms that you can use on your website. These correlate to the client “views” you produced on the left hand side of your client model.
See http://splicer.io for screenshots of how we use CAM and Splicer together. For general CAM information, see: http://camprocessor.sourceforge.net/wiki/index.php/Main_Page