Интеграция python с drupal

Я только что занял новую позицию в контракте, где кодовая база - это система Drupal. Я в основном бэкэнд-разработчик Python / Django и не имею опыта работы с Druple. (Обратите внимание, я прочитал этот ответ: Джанго и Друпал)

Мне нужно будет выполнить интеграцию с устаревшей системой. Разработчик Drupal все еще работает там, поэтому может разработать то, что необходимо на стороне Drupal, но похоже, что мне нужно будет предложить архитектуру. Здесь важны две точки взаимодействия.

1) Перед тем, как данные поступят в базу данных (из внешнего источника, то есть перед запуском, данные формы не требуются), мои сценарии будут выполнять большую очистку и форматирование. Я предполагаю, что эта интеграция будет простой, потому что в настоящее время не выполняется код предварительной записи в базу данных. Поэтому я могу просто подключиться напрямую к экземпляру базы данных, который записывается в таблицы после того, как он прошел через мои сценарии.

2) Я буду создавать для сайта функции поиска и аналитики. Их нужно будет запускать в данных формы, т. Е. В реальном времени.

Какой была бы хорошая архитектура для достижения второй интеграции? Я считаю, что мне следует разработать конечную точку REST API. Drupal может отправлять запросы json или XML, а я могу вернуть ответ json или XML. Будет ли это работать на стороне Drupal? Есть ли лучший способ добиться интеграции? Я хотел бы попытаться сохранить сервисную ориентацию или, по крайней мере, модульную, чтобы клиент не получил полностью интегрированную систему на нескольких языках, которую он не может поддерживать в дальнейшем. Спасибо!

Недостаточно подробностей для правильного ответа, извините. Но API-интерфейсы REST / json - это действительно верный способ разделения подсистем.

bruno desthuilliers 25.05.2018 10:46

Не могли бы вы сообщить мне, какие дополнительные подробности помогут? Спасибо.

Neil 25.05.2018 10:49

Что ж, например, работают ли обе системы с одной и той же базой данных или они полностью изолированы, если «функции поиска и аналитики для веб-сайта» должны быть частью функций сайта drupal (я предполагаю, что да, но ...) или просто BO часть (а затем, какие «запросы» должен отправлять drupal) и т. д. И т. Д.

bruno desthuilliers 25.05.2018 10:57

Да, они будут совместно использовать базу данных, а поиск / аналитика будут функцией сайта. Тем не менее, установка базы данных master / slave может быть вариантом (у меня есть небольшая свобода). Я знаю, что, например, elasticsearch обычно поддерживает свой собственный индекс в синхронизации с первичной базой данных. Так, например, пользователь ищет x и выбирает некоторые фильтры, druple отправляет мне поисковый запрос с тегами фильтра, я выполняю поиск, возвращаю либо ответ, либо ссылку на ответ, и druple либо отображает ответ на пользователь или использует ссылку для быстрого поиска, а затем отображает ..

Neil 25.05.2018 11:04

Drupal достаточно модульный, чтобы интегрировать функции расширенного поиска и аналитики, взгляните на добавленные модули, прежде чем добавлять туда python;)

EricLavault 25.05.2018 16:11
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
5
1 678
0

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