Пути преодоления эффекта внутренней платформы при создании веб-приложений с высокой степенью адаптации? - PullRequest
7 голосов
/ 08 июня 2010

Не стесняйтесь отвечать на вопрос в названии, как обычно в моем изложении, я предлагаю некоторые подробности и особенности ниже.

В настоящее время я разрабатываю и поддерживаю несколько устаревшее бизнес-приложение (ASP / SQL), котороелегко настраивается, позволяя настраивать от среднего до полного: настраиваемые поля, формы, представления, отчеты, действия, события, рабочие процессы и т. д. Эта настройка необходима в области, для которой мы разрабатываем, и позволила нам создать нишу.

Я читал об эффекте внутренней платформы и способах реализации пользовательской настройки высокого уровня и пришел к выводу, что мы страдаем от многих проблем с эффектом внутренней платформы, потому что по сути мы создали высокий уровеньабстракция поверх SQL.Организация пользовательских полей реализована аналогично подходу, найденному здесь

http://blog.springsource.com/arjen/archives/2008/01/24/storing-custom-fields-in-the-database/

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

Конечный результат - это то, что выглядит фантастически на бумаге, но при этом добавляются дополнительные функции и настраивается кодирование для клиентов.тем больше беспорядка все становится.Кажется, что чем больше я читаю, тем больше понимаю, что это отчасти анти-паттерн.Кажется также, что чем больше я пытаюсь читать, тем больше нахожу того, что написано на эту тему.В любом случае, я пытаюсь изучить современные подходы к этой проблеме и пытаюсь найти больше дискуссий / статей по этой теме.Относятся ли системы баз данных, такие как CouchDB, к этому типу приложений?

Мой вопрос явно довольно общий.Похоже, что против такого рода приложений есть что-то в пользу «лучшего знания и определения своего домена».Есть ли хорошие / лучшие способы реализации такого рода приложений?Я не ищу черно-белых ответов, и любые дальнейшие чтения по этому вопросу были бы фантастическими.Спасибо за любую помощь.

Ответы [ 2 ]

1 голос
/ 11 марта 2015

Стандартный совет в CS состоит в том, чтобы создать еще один уровень абстракции, не уверенный, если это не проблема здесь. Единственный совет, который я могу дать, - это добавить как можно больше функциональности в базу данных, учитывая, что это платформа. SQL Server поддерживает пользовательские функции, поля и хранимые (SQL) процедуры. Либо так, либо попытайтесь перенести повторяющиеся функции в отдельные функции в ASP.

1 голос
/ 04 сентября 2012

Мой ответ должен быть осознанным и ясным в отношении того, что должен делать плагин и каковы пользовательские настройки. В этом случае ваша платформа и ваши настройки отличаются. Ваше приложение предоставляет базовые услуги и, безусловно, является платформой. Он также может предоставлять приложение, построенное на этой платформе.

Таким образом, в этом случае вы сосредотачиваетесь на интерфейсах программиста, а не на возможностях реализации.

...