Introduction
In the series, "What's Wrong With Application Software" we explored key challenges found in enterprise applications. We also discussed the characteristics of next generation architectures that would provide better support for applications. While the series ran, we received a lot of feedback. The messages we received both validating the problems and pointing to some potential answers. A number of vendors are working on solutions (see "What are vendors doing about it") and we are encouraged by their efforts. The first step to moving ahead is accepting that the current generation of solutions is not meeting the needs, and the vendors clearly see the need for improvements.
Evaluating the approaches leads us to a possible solution, a promising approach known as the Model Based Architecture.
Model Based Architecture, What Is It?
Model
Based Architecture, and the related Model Driven Architecture, are application
development frameworks that allow software applications to be described in terms
of what they must do (the business view of the software) rather than how they
must do it (the technical view of the software). Model Based Architecture puts
the emphasis on designing the business processes and the business rules up front
to make sure that business functionality is complete and correct before coding
begins. The modeling approach allows visualization of the intended solution
so that business analysts, end-users and developers can ensure that business
needs are met before implementation in software code renders changes difficult
and expensive to make. Using the model, the framework automatically generates
the executable application instead of a programming team manually converting
the specifications into software. This code generation increases development
efficiency and typically allows generation onto a range of platform choices.
Model Based Architectures are being used for custom development and are now
appearing in packaged application products.
Why?
Early adopters are learning that Model Based Architectures create significant efficiencies throughout the application lifecycle. Some statements by vendors include:
| Vendor |
Claim |
| Arius
Software Corporation www.ariussoftware.com |
Overall
project costs using Model Based Architecture may be as little as one-tenth
of the traditional approach and typically generate savings in excess of
50%. |
Gentastic!
www.gentastic.com |
Allows
software development teams to achieve greater structure, speed and quality
for any software platform, any architecture, any technology. |
Interactive
Objects Software
www.io-software.com |
Customer
Deutsche Bank completed a major customer project with 40% the effort of
more traditional approaches |
Ramco
Systems
www.ramco.com |
Projects
take half of the time compared to using traditional development approaches
and significantly reduced costs.
Ramco also recently introduced a series of application products based on
their Model Based Architecture (see Ramco
Systems' Users) that appear rich in both functionality and technology. |
When
compared to the requirements discussed in the series, "What's Wrong With Application
Software":
| What's
Wrong with Applications? |
Model
Based Architecture |
| It's
the Economics (See "What's
Wrong with Applications It's the Economics") |
Academic
research is beginning to show significant reductions in the time, effort
and cost to build applications using Model Based Architecture. Customizations,
which have traditionally been viewed as an undesired practice, become much
more sustainable because of automation. The high cost of rebuilding applications
as technologies change is greatly reduced because the business process and
rules of the application are stored independently from the software code,
and can be re-generated onto new architectures. |
| Businesses
Change (See "What's
Wrong with Applications Business Changes, Software Must Change With The
Business") |
Business
changes are analyzed based on changes to business processes and business
rules. The impact on the application can be assessed, and changes can be
incorporated and visualized by the business analysts. Once the business
is satisfied with the new application, new application code can be automatically
generated. |
| Businesses
are Unique (See "What's
Wrong with Applications Businesses Really Are Unique One Size Can Never
Fit All") |
Applications
using Model Based Architectures are built on business processes and rules.
This allows business analysts to understand and make customizations to the
application without compromising the quality of the application. Model-based
applications replace complex switches and tables to configure the application
with simple changes to rules. Custom applications can be built rapidly for
very unique businesses or business functions. |
| Business
Processes Cross Application Boundaries (See "What's
Wrong with Applications Business Processes Cross Application Boundaries") |
Business
processes are defined externally to the underlying applications. Existing
applications can be assembled into new, composite applications to support
business processes. The business process layer shields the users from the
complexity of multiple systems. New functionality can be rapidly developed
to provide support where existing applications fall short to fill the gaps. |
| Quality |
While
not specifically addressed in the series of articles, software quality is
another frequently discussed problem with enterprise applications. Model
Based Architectures allow for less complexity in the code and significant
automation of the software code development, which promises to result in
significantly increased application quality. |
Another
reported advantage is that, organizationally, projects have shown a shift of
control to the business analysts and end-users and better communications between
the user community and IT.
How Does It Fit Into Your Future?
Can you abandon your existing infrastructure and go to a model-based world today? Yes, in theory, but that will not prove practical to the vast majority of enterprises. For most of us, our IT world is a mix of multiple applications, technologies, etc. Model based architecture is a tool to rationalize business processes without ripping out the current investments in applications that most companies have made. It is a tool that leverages existing applications and fills in the cracks that exist in your business processes. When combined with business process components written with Model Based Architectures, it allows for the efficient construction of complex applications.
Summary
and Recommendations
In many ways, the ideas behind Model Based Architectures are not new; many approaches to technology share a lot of of the same basic concepts. What makes Model Based different today is that it practical, proven and changing some of the basic rules of software.
Is this the beginning of the Model Based Architecture hype cycle or a real break through in how we build, implement, support and enhance applications? Early adopters are seeing positive results with Model Based Architectures. Research by universities is validating both the approach and the effectiveness. Model based architectures deserve to be on an enterprise's "technologies to watch" list. Pilots are justified given the long-term potential seen by those with actual experience. Those companies who see technology as a key to their competitive advantage should start now with a pilot.
About
the Authors
Jim
Brown is the President of Tech-Clarity Associates; a consulting firm
dedicated to helping software companies communicate the value of their offerings
to their market (www.tech-clarity.com).
He has served as a marketing executive for software companies specializing in
PLM and process manufacturing solutions and has over 15 years of experience
in management consulting and application software. Jim can
be reached at jim.brown@tech-clarity.com.
Olin
Thompson is a principal of Process ERP Partners. He has over 25 years
experience as an executive in the software industry. Olin has
been called "the Father of Process ERP." He is a frequent author and an award-winning
speaker on topics of gaining value from ERP, SCP, e-commerce and the impact
of technology on industry. He can be reached at Olin@ProcessERP.com