Enemy of the state IT system #1 : complexity
As the saying goes the complexity of any system grows at the square of the components involved. We do live in a complex world, so you can shrug, surrender to the unavoidable and move on. Or you can take a closer look and discover differences in complexity. There is the complexity from the nature of the task at hand and there is the complexity we add in the way we approach the completion of the task. Order a meal in a restaurant can be straight forward or incredibly complex. You can call that "Essential Complexity" and "Accidental Complexity", terms coined by Fred Brooks over 20 years ago. His book The Mythical Man-Month
After careful counting that would make 6 servers or a complexity of 36. The setup is typical for Microsoft setups (Exchange, ActiveDir, Sharepoint, IIS, DotNet, SQL Server) as well as for Java setups (Apache HTTP, Tomcat/WAS, Samba, LDAP, DB2/MySQL, POP/IMAP) or your favourite scripting environment (just swap out Tomcat/WAS for the script of your choice). Not all of these servers need to be physical boxes or virtual images. They can be tasks running on one hardware. Make that high available (12 boxes) and you have a complexity of 144. Of course you could use Domino for your applications. The setup will look like this:
Of course to get there you have to challenge your believes:
- Complexity is good
- Web systems need to be 3 tier
- A directory must be dedicated LDAP (Domino does LDAP, as does AD)
- Databases must be relational
- Only complex setups scale
- Only with [insert-your-favourite-language-here] web applications can be developed properly
- And then the Lotus Domino specific ones:
- Domino is legacy
- Domino doesn't scale
- NSF is not reliable
- Web development with Domino is complicated






Comments
Posted by Mr Ports At 00:13:01 On 04/14/2009 | - Website - |
3 flaws in your argument:
- Sticking to "what is there" would make use write software in Cobol, Fortran and Assembler till today. There was a time where PHP, Ruby, C# were all new.
- Quantity of developers isn't Quality.
- XPages applications are written in Javascript (not LotusScript), the most pervasive language of all. It draws execution power from a solid JSF foundation without exposing the complexity. Using XPages you have a single language, JavaScript, while in ASP, JSP, PHP, Ruby, CGI etc. you have different languages for front-end and back-end. And we all know know much more difficult language soup is to maintain.
Posted by Stephan H. Wissel At 04:47:09 On 04/13/2009 | - Website - |
Posted by James At 20:24:22 On 09/28/2010 | - Website - |
Actually, with the right resource with the proper skills, any language can be used to develop web applications properly.
So the key point here is "skills".
If you are developing a web app and you have considerations such as future maintainability and availability of skilled resources - would you rather do it in a language like ASP.NET, Java, or PHP, with gazillions of developers and books and other resources, or do it in XPages/LotusScript with only maybe 30 skilled people in a country (from attending a workshop)?
Posted by Jonathan Wong At 23:41:02 On 04/12/2009 | - Website - |
Posted by Edward At 17:32:10 On 12/17/2009 | - Website - |
Domino is the perfect server for SMB, IBM may be starting to realise that with Foundations. I hope work gets done again to allow Sametime, Domino and Quickr to run on the same box (without having to use VMware)
Posted by Carl Tyler At 23:16:58 On 04/10/2009 | - Website - |
A priceless adaptation of a marvelous quote.
Posted by Nathan T. Freeman At 13:11:49 On 04/12/2009 | - Website - |
Posted by rapidshare downloads At 04:36:41 On 09/09/2010 | - Website - |