Существующая служба электронной почты в новую систему для существующих приложений

У нас есть текущая система, в которой электронные письма запускаются из разных приложений, в основном из базы данных (хранимые процедуры), и будут вставлены записи в общую таблицу. Система службы электронной почты будет считывать данные из этой таблицы и отправлять электронные письма пользователям.

Мы планируем интегрировать новую систему, в которой электронные письма можно будет отправлять с помощью веб-сервиса. Нам нужно отправить данные в этот веб-сервис, и сервис позаботится об отправке электронных писем.

Нам нужно решение для вызова этой веб-службы электронной почты (WCF) из базы данных, и ниже приведены две мысли, которые у нас есть.

  1. Создайте функцию CLR, которая вызывает службу
  2. Сервисный брокер

Любая помощь в этом весьма ценна.

Вместо того, чтобы использовать SQLCLR или SSB, вы не можете использовать DB Mail?

Niels Berglund 22.01.2019 06:54

О, и как вы думали об использовании SSB? С внешним активатором что ли? Я хочу сказать, что если вы не думаете об использовании внешнего активатора, вам все равно понадобится SQLCLR.

Niels Berglund 22.01.2019 06:56

Почему вы отказываетесь от текущей службы электронной почты? Чем новый веб-сервис лучше? Какова частота отправки писем / сколько в секунду или минуту? Почему вы используете службу электронной почты вместо DBMail (как предложил Нильс в первом комментарии), поскольку DBMail находится в очереди/асинхронно? Хотя Service Broker с внешней активацией, вероятно, является выходом, это также напрасная трата усилий, поскольку именно так работает DBMail, поэтому зачем дублировать, если у вас нет конкретной потребности, которую DBMail не может обеспечить. Кроме того, какую версию SQL Server вы используете?

Solomon Rutzky 22.01.2019 16:52

@NielsBerglund, мы используем DBmail в некоторых местах, например, если возникает какой-либо сбой в заданиях или некоторых критических хранимых процедурах, мы отправим письмо соответствующей команде. Но частота для других писем немного высока, например, в день будет запускаться 2-5 тысяч писем.

Keppy 23.01.2019 07:20

@NielsBerglund, для SSB мы планируем использовать внешний активатор, который вызывает сервис.

Keppy 23.01.2019 07:21

Текущая система электронной почты @SolomonRutzky является устаревшей системой, и новая система имеет функцию отправки текстовых сообщений и электронных писем, поэтому планируется использовать ее для обоих. Частота составляет от 2 до 5 тысяч писем в день в зависимости от активности пользователей (более 200 тысяч пользователей). Текущая версия — Sql Server 2017 Enterprise. У клиентов есть разные сервисы, и им нужна общая система, через которую должен обрабатываться сервис электронной почты. Поэтому переходим на новую систему.

Keppy 23.01.2019 07:29

@Keppy, если вы не можете использовать существующую DBMail, я бы предложил SSB с вечным активатором. Другим предложением было бы использовать уведомления о запросах в таблице электронной почты и иметь внешнюю службу для чтения таблицы и обработки (на самом деле это более или менее то, что будет делать SSB с EA).

Niels Berglund 24.01.2019 04:57

@NielsBerglund, круто. Спасибо за вашу помощь.

Keppy 24.01.2019 11:02
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
8
28
0

Другие вопросы по теме