Вопрос по архитектуре (webservice)
От: Umek  
Дата: 22.10.08 11:32
Оценка:
Добрый день,
На курсе получил задание и незнаю как правильно его решить.

Задание вкратце:
Есть некая фирма и у нее есть сайт где клиенты заполняют информацию о ошибках. На сайте есть регистрация, вход для клиентов ,возможность просмотра — добавления ошибок и просмотр текущего статуса ошибки. У рабочих фирмы (делятся на роли) тоже есть прога на (WinForms — по заданию) через которую они могут просмотреть инфу об ошибке и переадрисовать ее технику который может ее починить(сменить статус). Еще в задании написано, что сайт должен связываться по вебсервису.


Как правильно это все расставить ?
Как нужно передавать данные из сервиса-обратно?
Где хранить бизнес логику в клиентах(они разные) или в вебсервисе?

Все решение должно быть написанно на .NET 2.0
Re: Вопрос по архитектуре (webservice)
От: GarryIV  
Дата: 22.10.08 12:10
Оценка:
Здравствуйте, Umek, Вы писали:

U>Добрый день,

U>На курсе получил задание и незнаю как правильно его решить.

U>Задание вкратце:

U>Есть некая фирма и у нее есть сайт где клиенты заполняют информацию о ошибках. На сайте есть регистрация, вход для клиентов ,возможность просмотра — добавления ошибок и просмотр текущего статуса ошибки. У рабочих фирмы (делятся на роли) тоже есть прога на (WinForms — по заданию) через которую они могут просмотреть инфу об ошибке и переадрисовать ее технику который может ее починить(сменить статус). Еще в задании написано, что сайт должен связываться по вебсервису.


U>Как правильно это все расставить ?

Как то примерно так.
---------------------
  WINFORMS | BROWSER
---------------------
     ||        ||
     \/        \/  
---------------------
WEB SERVICE|  ASPX
---------------------
    BUSINESS LOGIC
---------------------
         DAO
---------------------

как то так...
U>Как нужно передавать данные из сервиса-обратно?
Не понял вопроса.

U>Где хранить бизнес логику в клиентах(они разные) или в вебсервисе?

Логику по возможности на сервере. Но не в веб сервисе а за им.

PS: А вообще я бы поставил какую-нибудь JIRA и при необходимости доточил
WBR, Igor Evgrafov
Re[2]: Вопрос по архитектуре (webservice)
От: Umek  
Дата: 22.10.08 13:04
Оценка:
U>>Как правильно это все расставить ?
GIV>Как то примерно так.
GIV>
GIV>---------------------
GIV>  WINFORMS | BROWSER
GIV>---------------------
GIV>     ||        ||
GIV>     \/        \/  
GIV>---------------------
GIV>WEB SERVICE|  ASPX
GIV>---------------------
GIV>    BUSINESS LOGIC
GIV>---------------------
GIV>         DAO
GIV>---------------------  
GIV>

GIV>как то так...

А как asp.net должен обращаться к БЛ(Тоже вебсервис) или референс на сборку?

U>>Как нужно передавать данные из сервиса-обратно?

GIV>Не понял вопроса.

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

GIV>PS: А вообще я бы поставил какую-нибудь JIRA и при необходимости доточил

Спасибо за предложение, но нужно самому написать все-таки проверять будут
Re[2]: Вопрос по архитектуре (webservice)
От: Umek  
Дата: 22.10.08 13:08
Оценка:
U>>Как правильно это все расставить ?
GIV>Как то примерно так.
GIV>
GIV>---------------------
GIV>  WINFORMS | BROWSER
GIV>---------------------
GIV>     ||        ||
GIV>     \/        \/  
GIV>---------------------
GIV>WEB SERVICE|  ASPX
GIV>---------------------
GIV>    BUSINESS LOGIC
GIV>---------------------
GIV>         DAO
GIV>---------------------  
GIV>

GIV>как то так...

Забыл сказать, по диз доку сайт(ASPX) должен обращаться через вебсервис
Значит нужно 2 вебсервиса?
Re[3]: Вопрос по архитектуре (webservice)
От: GarryIV  
Дата: 22.10.08 15:13
Оценка:
Здравствуйте, Umek, Вы писали:

U>>>Как правильно это все расставить ?

GIV>>Как то примерно так.
GIV>>
GIV>>---------------------
GIV>>  WINFORMS | BROWSER
GIV>>---------------------
GIV>>     ||        ||
GIV>>     \/        \/  
GIV>>---------------------
GIV>>WEB SERVICE|  ASPX
GIV>>---------------------
GIV>>    BUSINESS LOGIC
GIV>>---------------------
GIV>>         DAO
GIV>>---------------------  
GIV>>

GIV>>как то так...

U>А как asp.net должен обращаться к БЛ(Тоже вебсервис) или референс на сборку?


Просто вызов метода. Зачем усложнять и вносить дополнительный оверхед?

U>>>Как нужно передавать данные из сервиса-обратно?

GIV>>Не понял вопроса.

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


Зависит от самих данных и личных предпочтений — в рамках учебного задания все равно, что больше хочется попробовать
WBR, Igor Evgrafov
Re[3]: Вопрос по архитектуре (webservice)
От: stump http://stump-workshop.blogspot.com/
Дата: 22.10.08 16:07
Оценка:
Здравствуйте, Umek, Вы писали:

U>Забыл сказать, по диз доку сайт(ASPX) должен обращаться через вебсервис

Общаться с кем?
Понедельник начинается в субботу
Re[4]: Вопрос по архитектуре (webservice)
От: Umek  
Дата: 23.10.08 07:04
Оценка:
U>>Забыл сказать, по диз доку сайт(ASPX) должен обращаться через вебсервис
S>Общаться с кем?

С BL
Re[3]: Вопрос по архитектуре (webservice)
От: Sinclair Россия https://github.com/evilguest/
Дата: 23.10.08 07:53
Оценка:
Здравствуйте, Umek, Вы писали:
U>Значит нужно 2 вебсервиса?
Зачем 2? Почему нельзя обратиться к тому же сервису?
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[5]: Вопрос по архитектуре (webservice)
От: stump http://stump-workshop.blogspot.com/
Дата: 23.10.08 08:10
Оценка: 2 (1)
Здравствуйте, Umek, Вы писали:

U>>>Забыл сказать, по диз доку сайт(ASPX) должен обращаться через вебсервис

S>>Общаться с кем?

U>С BL

Это overhead. У тебя нет никаких требований/оснований для того чтобы физически разносить сайт и хост бизнес логики. А раз так то и общатся веб морде с бизнес логикой через web сервисы нет никакой необходимости, к тому же это очень накладно.
У тебя просто будет сайт. Страница aspx в качестве web морды, сервис asmx для Win клиента, и бизнес логика в виде отдельного класса (возможно в отдельной сборке).
Хороший web сервис представляет обычно простую обертку над классом(ами) бизнес логики, которая позволяет опубликовать их для удаленных вызовов.
Я писал как-то много букаф про "Проектирование web сервисов". Если интересно, можешь почитать.
Понедельник начинается в субботу
Re[6]: Вопрос по архитектуре (webservice)
От: Dog  
Дата: 28.10.08 11:56
Оценка:
S>Я писал как-то много букаф про "Проектирование web сервисов". Если интересно, можешь почитать.
По поводу статьи. Насколько кошерно в контракт сервиса добавлять методы для получения справочников ? Что получится если много сервисов будут использовать одни и теже справочники ? Насолько правильно выделять работу со справочниками в отдельный сервис ?
... << RSDN@Home 1.2.0 alpha rev. 730>>
Re[7]: Вопрос по архитектуре (webservice)
От: stump http://stump-workshop.blogspot.com/
Дата: 28.10.08 12:21
Оценка: 4 (1)
Здравствуйте, Dog, Вы писали:

S>>Я писал как-то много букаф про "Проектирование web сервисов". Если интересно, можешь почитать.

Dog>По поводу статьи. Насколько кошерно в контракт сервиса добавлять методы для получения справочников?
Достаточно ответить на вопрос: смложет ли клиент сервиса воспользоваться его услугами, не зная о нем ничего, кроме описания контракта сервиса. Если ответ положительный — то сервис функционально полный. Если ответ отрицательный, то это функционально неполный сервис. Вероятно он создавался для конкретной задачи, типа интеграция по схеме точка — точка, и для других задач его применять будет затруднительно.

Dog>Что получится если много сервисов будут использовать одни и теже справочники?

Это всегда лучше, чем случай когда каждый сервис для одной и той-же сущности будет использовать свой справочник.

Dog>Насолько правильно выделять работу со справочниками в отдельный сервис ?

При создании распределенных систем и при решении задач интеграции есть такая широко известная в узких кругах проблема — "проблема общих справочников".
Сделать отдельный сервис для общих справочников не сложно. Сложнее другие системы заставить работать с общими справочниками, решить проблемы обновления и синхронизации.
Понедельник начинается в субботу
Re[8]: Вопрос по архитектуре (webservice)
От: Dog  
Дата: 28.10.08 13:17
Оценка:
Dog>>Насолько правильно выделять работу со справочниками в отдельный сервис ?
S>При создании распределенных систем и при решении задач интеграции есть такая широко известная в узких кругах проблема — "проблема общих справочников".
S>Сделать отдельный сервис для общих справочников не сложно. Сложнее другие системы заставить работать с общими справочниками, решить проблемы обновления и синхронизации.
А где можно подробнее почитать о путях решения этой проблемы ?
... << RSDN@Home 1.2.0 alpha rev. 730>>
Re[2]: Вопрос по архитектуре (webservice)
От: rsn81 Россия http://rsn81.wordpress.com
Дата: 18.11.08 20:09
Оценка:
Здравствуйте, GarryIV, Вы писали:

[skipped]
Только наверно DAL, а не DAO.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.