Использование веб-сервисов вместо DLL - PullRequest
0 голосов
/ 13 июля 2009

Я хочу посмотреть, каков консенсус в отношении лучших практик или просто здравый смысл при написании приложений.

Для этого примера у меня есть следующее:

  • [HttpHandler]
  • ClientRender.ProcessRequest (...)
  • ClientFactory.GetInnerInfo (...)
  • Services.ServiceConnect.GetCampaignService (...)
  • [Веб-сервис]
  • Campaign.GetInnerClient (...)
  • [Веб-сервис]
  • DAL.GetInnerClient (...)
  • EnterpriseLibrary.CreateDatabase (...)
  • EnterpriseLibrary.GetStroedProcCommand (...)
  • EnterpriseLibrary.ExecuteReader (...)
  • DAL.PopulateClientCampaignFromReader (...)
  • DAL.ClientCampaignFromDataReader (...)
  • Вернуть дерево вызовов ...

Вопросы:

  1. Какой тип хитов производительности я вызывая при вызове веб-службы из веб-службы из внутри HttpHandler?
  2. Не будет ли больше смысла переписать это как сборку, а чем 2 веб-сервисов? (И поставить Веб-сервисы поверх сборки для публикации WSDL.)
  3. У нас также есть админ-сайт, который использует эти же сборки и «правильное» добавление занимает 2-3 дня простая операция CRUD над одними данными юридическое лицо. Вы бы поспорили за переезд к более прямому подходу?

Надеюсь, что это имеет смысл, и обратная связь приветствуется.

Ответы [ 3 ]

2 голосов
/ 13 июля 2009

ИМХО, это неправильное понимание того, что должен предоставлять веб-сервис.Использование WS для создания дескрипторов базы данных не имеет смысла.Вы можете:

  1. Создавать отдельные сборки для абстракций базы данных и бизнес-логики.Методы и классы, такие как «GetStoredProcCommand», должны принадлежать одной сборке, а бизнес-логика должна принадлежать другой сборке или группе сборок.
  2. Используйте эти сборки в качестве основы для ваших веб-сервисов.* Перед созданием WebService обязательно нужно сесть и узнать, кто и как будет его использовать.Нет смысла создавать кучу веб-сервисов, если вы не знаете, что они должны делать.Это закончится тем, что станет беспорядком, потому что вы добавите реальные функциональные возможности после того, как построите его.
  3. Если предполагается, что ваши веб-сервисы потребляются из внутреннего приложения, помните, что использование веб-сервисов влияет на производительность.Если вы попытаетесь сделать все через WS, это будет медленно.
0 голосов
0 голосов
/ 13 июля 2009

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

Это не значит, что - это без причины, только то, что это не очевидно. Наверное, стоит спросить тех, кто написал сервис.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...