Создайте серверную часть Java, которая соединяется с Salesforce

Создайте серверную часть 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. файлы, которые нам нужно скачать.

Загрузите следующие четыре файла на локальный компьютер:

  1. force-wsc-56.0.0-javadoc.jar
  2. force-wsc-56.0.0-sources.jar
  3. force-wsc-56.0.0-uber.jar
  4. 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 за вас!

Для получения дополнительной информации о многих основных концепциях, которые мы рассмотрели, воспользуйтесь ссылками на полезные ресурсы:


Оригинал
PREVIOUS ARTICLE
NEXT ARTICLE