Take a look at the following list. How many would you agree with from a Web 2.0 point of view? 8 of them? 9 of them? All of them?

  1. Thou shalt not disrupt the legacy system.
  2. Thou shalt avoid massive overhauls. Honor incremental partial solutions instead.
  3. Thou shalt worship configuration over customization.
  4. Thou shalt not re-invent the wheel.
  5. Thou shalt not fix what is not broken.
  6. Thou shalt intercept or adapt rather than re-write.
  7. Thou shalt build federations before attempting any integration.
  8. Thou shalt prefer simple recovery over complex prevention.
  9. Thou shalt avoid gratuitously complex standards.
  10. Thou shalt create an architecture of participation. The social aspects of successful implementation tend to dominate the techinical aspects.

Would you be surpised if this was Not about Web 2.0 , but about a thing called Service Orientated Architecture (SOA), as written by Carlos E. Perez on Managability.org. With a great degree of understatement , Carlos says

There certainly an untapped opportunity to Web 2.0 social networking technologies to the process of implementing SOA across an enterprise.

We’ve touched (briefly) before on this , calling it Enterprise Web 2.0.

So is there any difference between the terms? In my view , SOA has been consumed by the hype. Web 2.0 people just got on out and did it, giving us useful examples to copy with Enterprise Java.