Всем привет,
по работе столкнулся с таким нехитрым вопросом, который все же заставил меня задуматься:
Опишите ваш подход к интеграции со сторонними традиционными серверами Баз Данных, особенно если у них нет Веб-сервисов (каких-то доступных WS service API).
у меня, конечно, есть несколько идей, но очень хочу выслашать ваше мнение.
и, второй технический вопрос, как известно в СФ нам доступна такая вешь как Email listener как одно из средств интеграции. вопрос заключается в том, насколько вообще оправка писем и получение их на СФ сервере является безопасным способом передачи данных?
спасибо
Я писал нехитрые сервисы на .Net для связи СФ с MS SQL, которые работают на том же сервере, что и БД. B Salesforce настраивал Outbound Messages на создание/редактирование и триггер на удаление. Сервисы открыты для всех и вся, конечно. Но вот как раз сейчас началась дискотека с SSL 1.0 и парни начали чесаться, что мол не хорошо открытые сервисы для всех. Вот, надеюсь обычного сертификата им будет достаточно.
Email Service - а какие вопросы с безопасностью? Проверяешь откуда пришло письмо и парсишь его, если от правильного отправителя.
имеется ввиду безопасность в процессе передачи почтовых данных, я плохо знаком с этим механизмом и протоколами: как убедится что они там используют и принимают "почтовые данные" через безопасные соединения вроде https?
Там есть такая опция:
это одна часть "https" - аутентификация сервера. smtp может работать поверх TLS, так что это должно покрывать безопасность "в пути".
А так, если есть база данных без "оболочки" вокруг, то бери чего из ETL, near-realtime пуллы из форса чаще достаточны для таких целей. Talend Community Edition достаточно мощен, поддерживает API и маппинги могут легко допиливаться бизнес-аналитиками и прочими функциональщиками.
Если у тебя повышенные требования к оркестровке транзакцией и сложности бизнес-логики, то придется писать что-нибудь на сторонней технологии, но это уже полноценное приложение, нежели только "возьми отсюда - положи сюда".
Писать свой web service на любом доступном знакомом ЯП - самое простое, доступное и гибкое решение. На том же python это делается за пару часов с использованием одного из кучи микрофреймворков. Я думаю другие ЯП не отстают. Да хоть на PHP ![]()
всем спасибо
я видел такое на одном проекте, но в моем представлении сам ETL тул работает на твоей локальной машине, и ты его в ручную или автоматически по расписанию запускаешь время от времени, так получается?
ты предлагаешь запилить WS для клиентской БД к которой не доступа? так не получится
и по поводу готовых "коннекторов" вроде Informatica. Как это работает? это что-то вроде приложения на AppExchange которые ты устанавливаешь в Орг и настраиваешь, или это сервер у самой Informatica, который "подключен" к сторонней БД и к твоему СФ Оргу?
Что кстати с Lightning Connect? он сделает нашу жизнь легче? понимаю, что все что начинается со слова Lightning вызывает у нас сложные эмоции, но все же
Если у тебя нет доступа к клиентской БД, то у тебя никакими способами не получится с ней работать.
Они-то готовы, но тебе все-равно нужен доступ к БД. Как Информатика будет записывать данный в БД без доступа к ней?
Где хостится само приложение я не знаю, но от Информатики начали отказываться из-за проблем с подключению к БД. Толи она не поддерживает MS SQL. А! Windows Authentication не поддерживает. По-этому я делал .Net сервисы, которые крутятся в домене компании и имеет доступ к БД.
информатика - тот же ETL и даже облачная версия требует установки агента на тачке. можно его поставить на ec2, но это все равно тачка.
даже платная ее версия довольна ущербна в некоторых аспектах, так что я бы смотрел в сторону таленда, даже при его более скромных средствах мониторинга. его джобы экспортируются в jar файл, который ты можешь запускать хоть из кроном.
lightning connect - другой вопрос. нужно "обернуть" данные в odata, репортинг на них ущербен и автоматизации нет. ну и лицензия в районе 40к нерублей в год.
Странная задача.
Вообще база данных обычно крутится на каком-то сервере и по любому должна быть доступна локально. А сам сервер должен быть доступен в интернете. Так везде работает - в принципе ни одна база данных не должна быть доступна извне - это не безопасно.
как понимаю там разные варианты,
есть БД, у которых есть какой-то интерфейс через WS, и с которыми можно использовать какие то коннекторы и прочее.
а есть БД, которые работают локально, к ним никак не обратиться извне, и никто не будет там делать никакие WS для тебя. в таком случае, как я понимаю, нужно просто время от времени обмениваться например CSV файлами с трубуемыми данными и все
нормально так - сервис поднимать для тебя никто не будет, но грузить твой CSV раз в неделю/месяц будут.
Мне интересно кто придумывает такие задачи - "сделай то не знаю что".