База данных Salesforce и Google App Engine через JPA
В настоящее время я пытаюсь подключиться (через JPA/Datanucleus) с приложением, размещенным в Google App Engine, к службе базы данных database.com (Salesforce).
После многих часов чтения и попыток, я не мог найти никакого решения.
Так это вообще возможно?
Некоторая информация.... Database.com предоставляет JPA: http://forcedotcom.github.com/java-sdk/jpa-provider, но я не смог найти sdk с этой стороны, но я нашел jar-файл, размещенный grepcode http://grepcode.com/snapshot/repo1.maven.org/maven2/com.force.sdk/force-jpa/22.0.7-BETA/ - Возможно, в настоящее время нет официального релиза...
Проблема в том, что этот SDK от Salesforce нуждается в datanucleus 2.0, но Google App Engine включает только datanucleus 1.1.5. Поэтому я пытаюсь обновить эти библиотеки и нашел это.... code.google.com/p/datanucleus-appengine/ . Я пытался несколько часов заменить старые библиотеки и использовать новые, но безуспешно. Ошибка состояла в том, что eclipse не смогла найти некоторые библиотеки, потому что более новые библиотеки, предоставленные вышеупомянутой стороной, имеют другую структуру пакета -
Я благодарен за любую помощь...
Котаке
3 ответа
Официальный релиз поставщика JPA доступен на сайте Maven Central: http://search.maven.org/remotecontent?filepath=com/force/sdk/force-jpa/22.0.7-BETA/force-jpa-22.0.7-BETA.jar
Ограничение внешнего подключения не будет ограничивающим фактором, поскольку адаптер JPA подключается к Database.com через https с помощью SOAP API.
Я не могу говорить о проблемах, связанных с запуском DN 2.0 на GAE. Возможно, поддержка GAE может помочь с этим?
Как указано здесь в документации по App Engine, вы не можете устанавливать прямые соединения с внешними серверами из GAE (кроме как через http или https, используя API-адреса, специфичные для механизма приложений). Вам нужно будет найти какой-то другой способ получить данные из вашей удаленной базы данных.
Эта ссылка описывает, как решить вашу проблему:
Как использовать Force.com Database SDK в Google APP Engine
(Он обновил исходный код Saleforce SDK, чтобы он мог без проблем работать в GAE.)