lundak.org — Scrum • Java • Software • Craftsman You are here   Home   Projects   Curriculum Vitae   Thoughts   Downloads   About © 2007 Jiri Lundak

"The great successful men of the world have used their imaginations, they think ahead and create their mental picture, and then go to work materializing that picture in all its details, filling in here, adding a little there, altering this a bit and that bit, but steadily building, steadily building."
- Robert Collier

MetaworX Whitepaper

Abstract

The pace of software development is rapidly accelerating. Release cycles of software products get shorter and shorter. While integrated development environments have made developer's life much easier, much work done so far is still repeative. For example: How many times have you already solved the problem of multi-lingual data?

This is exactly the point, where MetaworX comes in. You do not have to build infrastructure code yourself, although you can. You do not have to worry about scalablility too much, although you can.

Instead you are free to concentrate on solving your business problem, deliver a solution quick. Design an object model of your domain and you can immediately work with your model and enter data. You do not have to code your client or web user interface, although you can.

Build better software faster and start quickly and extend only when needed - that are the two maxims of the MetaworX application framework.

The Problem

How often you have that tight schedule for delivering your project? How often do you code the same infrastructure logic? You get paid for implementing functionality that is valuable to your customer not for coding the 100th persistance layer. Right?

While providing value to the customer is a very important goal, there are also other constraints that make your life as a software engineer difficult. What about a change of requirements? First your application was defined to be a web application, then the customer realizes during the project that she really would need a richer client to allow for comfortable data entry. If you coded to the Servlet API maybe using some Java Beans as data model objects, you now might be a bit stuck. Or say you need to switch databases. Or you need to add security to your application. Or your customer suddenly expands his business to Europe and is in need of multi-language support?

There are many things to consider to build a sound architecture? Do you like to build it always from scratch? And think also about the scalability question? Can you run your application on a single processor on a small scale and as need arises switch to a client/server system and as need for high availability and linear scalability is identified switch again to a distributed system, without the need to modify your applications' business logic?

Understanding MetaworX Design

(To Be Done)

What MetaworX Can Do for You

(To Be Done)

Conclusion

(To Be Done)

See Also