PLM Software’s Future: Model-driven vs. Model-based

Where is enterprise PLM software headed from a technology architecture stand-point? And even more broadly, where is enterprise software headed in general?

If you are an enterprise architect or have broad responsibility for corporate IT enterprise applications, these are questions that keep you up at night. One wrong decision could cost the company millions and even more importantly stifle competitiveness.

That means you pay close attention to major technical solution application trends as they develop over time. For the past five years or more the major trends have been SaaS, Cloud computing, open source, and modeling. The last one has actually been a hot topic for over a decade, and has become integral to the rest.

Modeling refers to the manner in which enterprise applications are defined, deployed and maintained. Basically, it means using graphical tools to work with systems instead of programming millions of lines of complex code. Every major systems provider has released or is feverishly working on a modeling approach to enterprise applications, some are just further along than others, for example Microsoft (released Oslo), SAP (working on A1M and ByDesign efforts), etc.

Model-driven vs. Model-based; What’s the Difference and Why Does it Matter?

“Model-driven” is the original incarnation of the concept from 15+ years ago. Back then, the idea was to represent enterprise system definition using a graphical model. The hitch was that the model still had to create traditional programming source code which was then compiled, linked, tested, debugged, and ultimately deployed. Benefit was you could see the system as a model, but the programming process was still required so efficiencies and cost savings never materialized because the complexity still remained.

One of the key problems with the Model-driven approach is that the model is a disconnected abstract diagram which still requires a long drawn out programming process to instantiate the system. The result is that people constantly cut corners and make custom programming changes directly to the system and the model quickly gets out-of-sync and becomes useless. Deployments are very complicated and take an unacceptably long time, maintaining the system is cumbersome, and upgrades effectively require a re-implementation.

Model-Driven vs Model-Based

“Model-based” is a much more modern approach which solves those problems. A model-based enterprise solution uses the graphical models as the running system directly. Changes to enterprise applications are made in real-time as opposed to weeks or months using compiled code-based systems (i.e. either conventional systems or model-driven systems). And with the model-based approach the model never gets out of sync (because it can’t). The advantages of the “model-based” approach over the “model-driven” approach are considerable:

  • Real-time changes to business rules, forms, workflows, lifecycles, and the data model without complex programming or model synchronization issues
  • Graphical drag & drop solution development with dynamic schema modification for fast application creation and extension
  • Solution models are portable meaning you can easily move a custom system from one installation to the next
  • Separation of business logic and technology mean even heavily customized systems are easy to upgrade
  • Much lower system complexity
  • Dramatic reductions in cost to deploy, cost to modify, cost to maintain, cost to upgrade, ultimately meaning a 10x reduction in Total Cost of Ownership
An important point that requires clarification is that a “model-based” system is not running interpreted code. Interpretation of code never occurs because the models themselves are stored in a predefined schema that is utilized by a set of compiled Web services in the SOA. These Web services perform dynamic evaluation of the business object model. This critical difference is central to the ability to deliver massively scalable performance while enabling unmatched flexibility.

Today and Tomorrow for PLM Software

Now, bringing it back to the future of PLM software. The “model-driven” approach, say for example the one used in Windchill, was visionary in the early to mid-90’s when it was conceived for the client-server environment. Now, it’s a legacy anchor strapped around the neck of companies that rely on it. The idea of modeling was right, it was just limited by available technology back then and is clearly outdated today.

Moving forward people know that the “model-based” approach is the future of enterprise software and more specifically the future of the enterprise PLM software architecture. Global companies have spent too much time and money on old systems and recognize that the more modern, proven internet SOA architectures are necessary to compete moving forward.

What the model-based PLM future means in terms of competitive advantage for companies is:

  • Faster solution deployment (weeks instead of years)
  • Greater flexibility to adapt to changing market conditions (man days instead of man months)
  • Much lower cost to manage and maintain over time ($$$ instead of $$$$$$$$$$$$$$$$$)
  • Better corporate processes for innovation, global development, supply chain, time to market, etc
What’s your take? Will the legacy technologies of the past make life difficult for everyone in PLM and stifle corporate competitiveness forever? Or will the model-based approach rescue us in the nick of time?