When I first heard about SalesForce and their AppExchange, I was excited by the thought of writing Java code that I could run on their servers. However, it seems that this is not possible, and any Java you write has to be accessed via web services running on your own servers. The platform they've provided is still quite handy since the custom apps they allow you to build don't have to be CRM-related and the GUI-building is relatively pain-free for those of us used to the past several years of JSPs, Struts, etc, but I was hoping for one additional benefit: being able to avoid depending on external servers. I understand how useful it is to be able to easily access services provided by Google and others from SalesForce's servers, but it seems like the possible points of failure would greatly increase if I were to set up some Java servlets on private servers, even if my external app was in the hands of a Java hosting company I trusted. I'm wondering if anyone else has experience with this, or what their thoughts are concerning writing Java code to interact with SalesForce's platform.