When Google announced the other day that they were supporting Java I started to dream about all of the cool Java / Salesforce.com apps that I could write. Then I read through the Will it play in App Engine page and my heart skipped a beat. There in black and white it stated, "We do not currently support JAX-RPC or JAX-WS." How was I supposed to write Salesforce.com integration application when I couldn't invoke web services?
Devastated, I turned my efforts towards building a Force.com application on Google App Engine with Python. I had written a number of Python applications for Salesforce.com but I had always just called Apex web services when needed. I thought I would take a crack at the Python Toolkit. The installation was simple enough and the Toolkit includes a number of examples (unit test) to get you up and running quickly.
I threw together a small demo app that connects to my Developer Org and provides the following functionality:
- Create a new Account
- Search for Accounts by keyword
- View an Account and all Opportunities for the Account
- Create a new Opportunity for an Account
You can find the demo application and source code at https://jeffdouglas-salesforce1.appspot.com.
During the development process, I started to think of ways to get around the lack of web services functionality in the Java Early Look. Perhaps I could use Python to expose the Force.com platform as REST web services and have the Java Early Look call these services?