Monday, June 09, 2003

Why is the Enterprise Afraid of Peer-to-Peer (P2P) and Proper Distributed Architectures?
This topic might seem a little bit strange because you think the enterprise would embrace the power and flexibility of peer-to-peer computing. I mean P2P offers the ability to use all of those old computers that they have laying around deprecating in value in a warehouse to solve complicated business problems without expensive hardware. And think of all the lost CPU cycles sitting on everyone's desks now. Also, the disk capacity on each of these desktop machines is now at 10 gigs (that comes standard now). Just image if your company had only 1000 employess (1000 machines x 10 gigs) , could you think of what you could do with an extra 10,000 gigs of storage? I bet your IT folks could. I even bet your business folks would too (more memory for what-if scenario data!). So, I ask my question again, why is the enterprise so afraid of this technology? Deep inside I know the answer is as simple as "it's too new". But, while I dig ditches with distributed protocols like EJB which are highly inefficient and offer nothing more from the usual client-server paradigm (server is a server and is stationary). P2P technologies offer that any box can be a server and any box can be a client! And instead of having a huge cluster of expensive of hardware trying to solve one huge problem. We can have hundreds of cheaper boxes trying to solve smaller problems and then bringing them back together into a coherent solution. P2P not only takes failure into account it embraces it. EJB tacked on failure resolution as an after thought. So, if one P2P service fails, the others can quickly pick it up. P2P services can replicate themselves through the network very well (Think JINI) meaning that they can make sure that a service is available on some machine and where that machine or what is no one cares. I see EJB as the old way of thinking and people are very comfortable with it. I think it is the wrong way to go for the future. I think protocols like JINI and JXTA (especially JXTA since it is language neutral) are the way to go in the future. I just wish the enterprise would quickly embrace it as well! I'm tired of re-writing the same client-server code in different protocols.

No comments: