Естественный интерфейс для интеграции данных на основе Java с CRM, ERP, бухгалтерией, автоматизацией маркетинга, NoSQL, плоскими файлами и многим другим
Jdbi — это удобная библиотека SQL для Java, которая предоставляет JDBC более естественный интерфейс базы данных Java, который легко привязать к типам данных домена. Библиотека включает в себя строительные блоки, которые позволяют разработчикам легче сопоставлять отношения и объекты в приложениях.
Часто разработчики Java думают об использовании Jdbi для работы с реляционными базами данных. Тем не менее, появились новые драйверы JDBC, обеспечивающие возможность оперативной передачи данных из различных хранилищ SaaS, NoSQL и больших данных, которые расширяют применимость Jdbi для проектов нового поколения.
Взять, к примеру, драйверы JDBC от CData Software ( www.cdata.com/jdbc/ ). CData предлагает чистые драйверы Java JDBC с доступом в режиме реального времени к источникам приложений, таким как Salesforce, NetSuite, Eloqua, Marketo, Dynamics, Hubspot и более чем 100+ других. Они даже обеспечивают подключение SQL к источникам данных NoSQL, таким как MongoDB, Couchbase, Redis, Athena, BigQuery и т. Д.
Используя эти драйверы, разработчики Java могут легко интегрировать подключение живых данных в свои приложения. В оставшейся части этой статьи дается краткий обзор создания API объекта SQL для данных Salesforce в Jdbi с использованием драйвера JDBC CData для Salesforce.
Доступ Jdbi к Salesforce
Jdbi предоставляет два разных API стиля: свободный стиль и стиль объекта SQL. Драйвер CData JDBC для Salesforce интегрирует подключение к действующим данным Salesforce в приложениях Java. Сопрягая эти технологии, вы получаете простой программный доступ к данным Salesforce. В следующем коде описывается создание базового объекта доступа к данным (DAO) для чтения и записи данных Salesforce.
Создайте DAO для учетной записи Salesforce
Приведенный ниже интерфейс объявляет желаемое поведение объекта SQL, чтобы создать отдельный метод для каждого оператора SQL, который будет реализован.
|
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
|
// JavaScript source codepublic interface MyAccountDAO { //insert new data into Salesforce@SqlUpdate("INSERT INTO Account (Name, AnnualRevenue) values (:name, :annualRevenue)") void insert(@Bind("name") String name, @Bind("annualRevenue") String annualRevenue); //request specific data from Salesforce (String type is used for simplicity)@SqlQuery("SELECT AnnualRevenue FROM Account WHERE Name = :name") String findAnnualRevenueByName(@Bind("name") String name); /* * close with no args is used to close the connection */ void close();} |
Откройте соединение с Salesforce
Соберите необходимые свойства подключения и создайте соответствующий URL JDBC для подключения к Salesforce, который обычно будет выглядеть следующим образом:
|
1
|
jdbc:salesforce:User=username;Password=password;SecurityToken=Your_Security_Token; |
Для подключения к Salesforce доступно несколько методов аутентификации:
- Авторизоваться
- OAuth
- SSO
Метод входа требует, чтобы у вас были имя пользователя, пароль и маркер безопасности пользователя. Если у вас нет доступа к имени пользователя и паролю или вы не хотите их запрашивать, вы можете использовать аутентификацию OAuth.
SSO (единый вход) можно использовать, задав свойства соединения SSOProperties, SSOLoginUrl и TokenUrl, которые позволяют выполнять аутентификацию для поставщика удостоверений. См. Главу «Начало работы» в справочной документации для получения дополнительной информации.
Используйте настроенный URL JDBC для получения экземпляра интерфейса DAO. Конкретный метод, показанный ниже, откроет дескриптор, связанный с экземпляром, поэтому экземпляр необходимо явно закрыть, чтобы освободить дескриптор и связанное соединение JDBC.
|
1
2
3
4
5
|
DBI dbi = new DBI("jdbc:salesforce:User=username;Password=password;SecurityToken=Your_Security_Token;");MyAccountDAO dao = dbi.open(MyAccountDAO.class);//do stuff with the DAOdao.close(); |
Читать данные Salesforce
Открыв соединение с Salesforce, просто вызовите ранее определенный метод для извлечения данных из сущности Account в Salesforce.
|
1
2
3
|
//display the result of our 'find' methodString annualRevenue = dao.findAnnualRevenueByName("GenePoint");System.out.println(annualRevenue); |
Запись данных Salesforce
Также легко записывать данные в Salesforce, используя ранее определенный метод.
|
1
2
|
//add a new entry to the Account entitydao.insert(newName, newAnnualRevenue); |
Поскольку библиотека Jdbi может работать с соединениями JDBC, вы можете легко создать API объектов SQL для Salesforce путем интеграции с драйвером JDBC CData для Salesforce.
Это так просто
Jdbi предоставляет простой в использовании интерфейс данных, который может упростить сложность подключения к данным. В сочетании с драйверами JDBC от CData Jdbi обеспечивает чистый интерфейс объекта, который может способствовать уменьшению кода в 10 и более раз в вашем следующем проекте интеграции, одновременно повышая удобство сопровождения и повторного использования.
Более подробную информацию о Jdbi можно найти в Интернете по адресу: http://jdbi.org/
Загрузите бесплатную пробную версию драйвера Salesforce JDBC (и более 100 дополнительных драйверов JDBC) с веб-сайта CData: https://www.cdata.com/jdbc/
