Добрый день,
На курсе получил задание и незнаю как правильно его решить.
Задание вкратце:
Есть некая фирма и у нее есть сайт где клиенты заполняют информацию о ошибках. На сайте есть регистрация, вход для клиентов ,возможность просмотра — добавления ошибок и просмотр текущего статуса ошибки. У рабочих фирмы (делятся на роли) тоже есть прога на (WinForms — по заданию) через которую они могут просмотреть инфу об ошибке и переадрисовать ее технику который может ее починить(сменить статус). Еще в задании написано, что сайт должен связываться по вебсервису.
Как правильно это все расставить ?
Как нужно передавать данные из сервиса-обратно?
Где хранить бизнес логику в клиентах(они разные) или в вебсервисе?
Здравствуйте, Umek, Вы писали:
U>Добрый день, U>На курсе получил задание и незнаю как правильно его решить.
U>Задание вкратце: U>Есть некая фирма и у нее есть сайт где клиенты заполняют информацию о ошибках. На сайте есть регистрация, вход для клиентов ,возможность просмотра — добавления ошибок и просмотр текущего статуса ошибки. У рабочих фирмы (делятся на роли) тоже есть прога на (WinForms — по заданию) через которую они могут просмотреть инфу об ошибке и переадрисовать ее технику который может ее починить(сменить статус). Еще в задании написано, что сайт должен связываться по вебсервису.
U>Как правильно это все расставить ?
Как то примерно так.
---------------------
WINFORMS | BROWSER
---------------------
|| ||
\/ \/
---------------------
WEB SERVICE| ASPX
---------------------
BUSINESS LOGIC
---------------------
DAO
---------------------
как то так... U>Как нужно передавать данные из сервиса-обратно?
Не понял вопроса.
U>Где хранить бизнес логику в клиентах(они разные) или в вебсервисе?
Логику по возможности на сервере. Но не в веб сервисе а за им.
PS: А вообще я бы поставил какую-нибудь JIRA и при необходимости доточил
А как asp.net должен обращаться к БЛ(Тоже вебсервис) или референс на сборку?
U>>Как нужно передавать данные из сервиса-обратно? GIV>Не понял вопроса.
Я имел ввиду данные, в обьектах или датасете? Если в обьектах то получается нужно 2 сборки делать (для веб и вин) ведь функционал у них разный.
GIV>PS: А вообще я бы поставил какую-нибудь JIRA и при необходимости доточил
Спасибо за предложение, но нужно самому написать все-таки проверять будут
GIV>>как то так...
U>А как asp.net должен обращаться к БЛ(Тоже вебсервис) или референс на сборку?
Просто вызов метода. Зачем усложнять и вносить дополнительный оверхед?
U>>>Как нужно передавать данные из сервиса-обратно? GIV>>Не понял вопроса.
U>Я имел ввиду данные, в обьектах или датасете? Если в обьектах то получается нужно 2 сборки делать (для веб и вин) ведь функционал у них разный.
Зависит от самих данных и личных предпочтений — в рамках учебного задания все равно, что больше хочется попробовать
Здравствуйте, Umek, Вы писали:
U>>>Забыл сказать, по диз доку сайт(ASPX) должен обращаться через вебсервис S>>Общаться с кем?
U>С BL
Это overhead. У тебя нет никаких требований/оснований для того чтобы физически разносить сайт и хост бизнес логики. А раз так то и общатся веб морде с бизнес логикой через web сервисы нет никакой необходимости, к тому же это очень накладно.
У тебя просто будет сайт. Страница aspx в качестве web морды, сервис asmx для Win клиента, и бизнес логика в виде отдельного класса (возможно в отдельной сборке).
Хороший web сервис представляет обычно простую обертку над классом(ами) бизнес логики, которая позволяет опубликовать их для удаленных вызовов.
Я писал как-то много букаф про "Проектирование web сервисов". Если интересно, можешь почитать.
S>Я писал как-то много букаф про "Проектирование web сервисов". Если интересно, можешь почитать.
По поводу статьи. Насколько кошерно в контракт сервиса добавлять методы для получения справочников ? Что получится если много сервисов будут использовать одни и теже справочники ? Насолько правильно выделять работу со справочниками в отдельный сервис ?
Здравствуйте, Dog, Вы писали:
S>>Я писал как-то много букаф про "Проектирование web сервисов". Если интересно, можешь почитать. Dog>По поводу статьи. Насколько кошерно в контракт сервиса добавлять методы для получения справочников?
Достаточно ответить на вопрос: смложет ли клиент сервиса воспользоваться его услугами, не зная о нем ничего, кроме описания контракта сервиса. Если ответ положительный — то сервис функционально полный. Если ответ отрицательный, то это функционально неполный сервис. Вероятно он создавался для конкретной задачи, типа интеграция по схеме точка — точка, и для других задач его применять будет затруднительно.
Dog>Что получится если много сервисов будут использовать одни и теже справочники?
Это всегда лучше, чем случай когда каждый сервис для одной и той-же сущности будет использовать свой справочник.
Dog>Насолько правильно выделять работу со справочниками в отдельный сервис ?
При создании распределенных систем и при решении задач интеграции есть такая широко известная в узких кругах проблема — "проблема общих справочников".
Сделать отдельный сервис для общих справочников не сложно. Сложнее другие системы заставить работать с общими справочниками, решить проблемы обновления и синхронизации.
Dog>>Насолько правильно выделять работу со справочниками в отдельный сервис ? S>При создании распределенных систем и при решении задач интеграции есть такая широко известная в узких кругах проблема — "проблема общих справочников". S>Сделать отдельный сервис для общих справочников не сложно. Сложнее другие системы заставить работать с общими справочниками, решить проблемы обновления и синхронизации.
А где можно подробнее почитать о путях решения этой проблемы ?