Создайте серверную часть Java, которая соединяется с Salesforce
3 ноября 2022 г.Часть 1: Java зовет Salesforce
Экосистема Salesforce довольно обширна. Разработчикам необходимо много работать, чтобы быть в курсе новейших и лучших функций и инструментов Salesforce. В этой статье мы смешаем немного старого и нового. Мы объединим Java-приложения с Salesforce и сделаем это через веб-сервисы.
Java — это язык программирования и вычислительная платформа, впервые выпущенная Sun Microsystems еще в 1995 году. С тех пор мы наблюдаем рост Web 2.0 и языков веб-программирования, контейнеров, микросервисов и облачных архитектур. Тем не менее даже сейчас многие новые продукты и цифровые услуги, рассчитанные на будущее, продолжают опираться на Java. Java будет доступна в обозримом будущем.
Между тем, Salesforce зарекомендовала себя как ведущая в мире платформа CRM и успеха клиентов. Поскольку современные предприятия полагаются на мульти- и гибридные облачные среды с приложениями, которые должны легко интегрироваться друг с другом, неудивительно, что Java-приложения и Salesforce Cloud должны пересекаться. Так как же интегрировать и взаимодействовать между собой приложения Java и Salesforce.com (SFDC)?
В этой статье мы обсудим, как реализовать эту интеграцию с помощью коннектора веб-служб (WSC). Мы рассмотрим пример использования — компания, которая хочет использовать свое Java-приложение для управления данными организации Salesforce — и покажем вам, как настроить среду разработки и соединить части.
Однако, прежде чем мы начнем, давайте кратко поговорим о Salesforce и ее подходе, ориентированном на API.
Salesforce и подход, ориентированный на API
Если вы знакомы с экосистемой SFDC, то знаете, что Salesforce применяет подход, ориентированный на API, при создании функций на своей платформе. На самом деле Salesforce была одна из первых компаний, развернувших веб-API! Несмотря на то, что платформа имеет множество замечательных встроенных возможностей, Salesforce хочет предоставить своим клиентам возможность создавать возможности и настраиваемые возможности, необходимые им для их собственных платформ. Предлагая API, Salesforce гарантирует, что SFDC можно настроить и подключить к любому внешнему приложению, которое может взаимодействовать с веб-службами. Вот некоторые из API от Salesforce (а их множество): р>
Достаточно сказать, что платформа Salesforce довольно хорошо защищена API, что открывает доступ к ее возможностям для бесчисленного множества различных вариантов использования. При этом давайте углубимся в наш вариант использования.
В нашем примере использования у нас есть приложение Java, которое помогает бизнесу генерировать потенциальных клиентов для своей организации продаж. Эта компания хотела бы, чтобы приложение Java перенаправляло квалифицированных потенциальных клиентов непосредственно в систему Salesforce CRM, избегая необходимости вручную вводить данные потенциальных клиентов в Salesforce.
Для интеграции Java и Salesforce мы будем использовать API-интерфейс Salesforce SOAP и библиотеку Web Services Connector (WSC), которая служит в качестве слой-оболочка, упрощающий работу с API в Java.
Первоначальная настройка
Первоначальная настройка нашей среды разработки Java требует выполнения нескольких шагов. К счастью, мы получили руководство из этого справочного листа Salesforce. Тем не менее, мы предоставим здесь обзор основных шагов.
Установите комплект разработчика Java (JDK)
Чтобы использовать API Salesforce в нашем приложении Java, мы установим Java Developer Kit (JDK) версии 11.0 или более поздней. Вы можете сделать это, посетив эту страницу и найдя соответствующий двоичный файл для своего локального компьютера.
Установить Eclipse
Затем вам понадобится среда разработки Java. Хотя вам доступно несколько вариантов, шаги нашего пошагового руководства будут выполняться в Eclipse IDE. Вы можете найти последние пакеты Eclipse IDE здесь. Загрузите и установите IDE на свой локальный компьютер.
Установите WSC
Поскольку мы будем использовать API Salesforce SOAP, нам необходимо установить WSC.
Загрузить готовые JAR-файлы WSC
В репозитории Maven для WSC показаны все доступные версии:
Перейдите на страницу версии, которая соответствует используемой вами версии API Salesforce. В нашем примере мы будем использовать 56.0.0.
В разделе Файлы мы нажимаем Просмотреть все. Это приводит нас к ` фактического .jar.
файлы, которые нам нужно скачать.
Загрузите следующие четыре файла на локальный компьютер:
force-wsc-56.0.0-javadoc.jar
force-wsc-56.0.0-sources.jar
force-wsc-56.0.0-uber.jar
force-wsc-56.0.0.jar
Мы будем использовать эти файлы для создания файлов-заглушек с WSDL из нашей организации Salesforce.
Создайте и загрузите WSDL для своей организации Salesforce
Далее мы создадим WSDL для использования при создании файлов-заглушек .jar. Здесь нельзя использовать готовые файлы .jar, поскольку WSDL специфичен для нашей организации Salesforce. Если в нашей организации определены настраиваемые объекты и поля, то WSDL будет отражать их, а сгенерированный файл .jar будет содержать их.
Мы входим в нашу организацию разработчиков Salesforce. Затем мы переходим к Настройка, Инструменты платформы, Интеграции, API. Мы нажимаем «Создать корпоративный WSDL».
Это откроет новую вкладку в вашем браузере, отображающую ваш файл WSDL. Сохраните этот файл на локальном компьютере под именем sfdc.wsdl
. Поместите его в ту же папку, в которую вы скачали файлы WSC .jar.
Создать файл-заглушку Java
Чтобы использовать SOAP API с Java, нам нужно сгенерировать файлы-заглушки .jar для использования в нашем проекте приложения. Мы запускаем следующую команду для создания файла-заглушки:
$ java -classpath force-wsc-56.0.0-uber.jar com.sforce.ws.tools.wsdlc sfdc.wsdl sfdc_stub.jar
[WSC][wsdlc.main:72]Generating Java files from schema ...
[WSC][wsdlc.main:72]Generating 1206 java files.
[WSC][wsdlc.main:72]Compiled 1210 java files.
[WSC][wsdlc.main:72]Generating jar file ... sfdc_stub.jar
[WSC][wsdlc.main:72]Generated jar file sfdc_stub.jar
Создать Java-проект в Eclipse
В Eclipse запустите новый проект Java и новый класс Java, Main
, используя следующий код:
package wsc;
// Depending on wsdl chosen, change this to enterprise or partner
import com.sforce.soap.enterprise.*;
import com.sforce.soap.enterprise.sobject.*;
import com.sforce.ws.*;
public class Main {
public static void main(String[] args) {
ConnectorConfig credentials = new ConnectorConfig();
credentials.setPassword("YourPassword!apPenDdedSecurityToken);
credentials.setUsername("yoursalesforceusername@yourdomain.com");
EnterpriseConnection connection;
try {
connection = Connector.newConnection(credentials);
Lead le = new Lead();
le.setLastName("AcmeEnterprises");
le.setCompany("JavaPush");
le.setIndustry("Hospitality");
connection.create(new Lead[]{ le });
} catch (ConnectionException e) {
e.printStackTrace();
}
}
}
Добавить файлы .jar в проект
Далее нам нужно связать сгенерированные четыре файла .jar с путем сборки для нашего проекта. Щелкните проект правой кнопкой мыши и выберите Путь сборки, Настроить путь сборки.
В появившемся модальном окне перейдите к Пути сборки Java на левой боковой панели. Нажмите на вкладку Библиотеки. Выберите Modulepath и нажмите кнопку Добавить внешние файлы JAR. Найдите четыре файла .jar, загруженные из репозитория Maven, и сгенерированный файл-заглушку (sfdc_stub.jar
) и добавьте их. Затем нажмите Применить и закрыть.
Протестируйте приложение
Все готово, наш код и файлы .jar готовы. Теперь щелкните правой кнопкой мыши файл Main.java
в Eclipse. Выберите Запустить от имени -> Приложение Java.
После запуска нашего приложения мы переходим к разделу Sales Leads в нашей организации Salesforce и видим, что у нас появился новый интерес!
Наше Java-приложение успешно подключилось к нашей организации Salesforce через SOAP API, используя WSC для вставки нового интереса!
Дальнейшие шаги
Теперь, когда мы проверили первоначальное доказательство концепции, вы можете приступить к расширению своего Java-приложения для выполнения других операций, включая чтение, обновление и удаление. Вы можете внедрить свою собственную бизнес-логику, чтобы создать приложение Java, которое будет обрабатывать данные организации Salesforce за вас!
Для получения дополнительной информации о многих основных концепциях, которые мы рассмотрели, воспользуйтесь ссылками на полезные ресурсы:
Оригинал