Demonolithicized application

From Wikipedia, the free encyclopedia
Jump to: navigation, search

Demonolithicized application is the result of breaking a monolithic application[1] into small manageable pieces the deliver the same or superior business results.

The word derives from the Latin word monolithus from the Greek word μονόλιθος (monolithos), derived from μόνος ("one" or "single") and λίθος ("stone").

Software that has grown over time can become "monolithic" and become unmanageable. Many first and second generation software had to be built in a monolithic structure to allow the application to deliver the desired business benefit. With the introduction of object oriented programming in the late 1980s many applications were demonolithicized in their next release. As software ages (even OO code) it has a tendency to become monolithic[2] and will require extensive work to demonolithicize it or require a complete re-write.

History[edit]

Software development usually starts out with clear guidelines for structure and format and initial developers are often more experienced than those that follow in their footsteps. As young programmer,[3] who don't understand the long term support issues that accompany poor coding practices, begin to add code, the monolith begins. Then sales people want this, that and the other thing added to the software and it begin to grow at a geometric rate. As the application begins to bloat, it is more difficult to change code without breaking something. So developers write new code, instead of reusing old code because it is easier to get the job done than figure out what the old (smart) guys did. Another reason for new code is that old coders wrote around bugs or anomalies in compilers, operating systems and other application interfaces.

Proponents[edit]

  • Transitioning Monolithic Applications [3]
  • Decoupling Monolithic Application Module (MIFOS-4305) [4]
  • Droplets: Breaking Monolithic Applications Apart [5]

Common use[edit]

Multitenancy: High-impact Strategies - What You Need to Know: Definitions, Adoptions, Impact, Benefits, Maturity, Vendors[4]

"...from a historically monolithic isolationist culture that was forcibly demonolithicized not too long ago..."[5]

References[edit]

  1. ^ Decoupling Monolithic Application Module (MIFOS-4305)
  2. ^ Cardelli, Luca (1996). "Bad Engineering Properties of Object-Oriented Languages". ACM Comput. Surv. (ACM) 28: 150. doi:10.1145/242224.242415. ISSN 0360-0300.
  3. ^ Paul Graham has suggested that the purpose of OOP is to act as a "herding mechanism"... Graham, Paul. "Why ARC isn't especially Object–Oriented.".
  4. ^ Available at The Art of Service [1]
  5. ^ Bemanistyle forum 06-04-2007 [2]

External links[edit]