2009-11-02 17 views
5

Czy istnieje najlepsza praktyka dotycząca powracania (lub zwracania zestawów danych) z usług internetowych .NET? Jeden z obozów mówi, że powinniśmy promować interoperacyjność i używać schematów XML w celu zdefiniowania ładunku usług internetowych, a drugi obóz mówi, że powinniśmy zwrócić zestawy danych, ponieważ jest to proste w Visual Studio i szybciej wykonujemy zadanie.Aby zwrócić zestaw danych w serwisie WWW, czy nie?

Niektóre argumenty w obozie anty-zestawu danych:

  • zestawów danych nie są WSI zgodny
  • zestawów danych wydaje się rzadko być obsługiwane przez oprogramowanie 3rd party

Niektóre argumenty pro-zbiorze obóz:

  • Są bardzo przydatne i szybkie do zbudowania w Visual Studio.
  • My (moja firma) rozwija się tylko w .NET więc interoperacyjność nie jest problemem
  • zestawów danych po stronie klienta mają zalety dla łatwości użytkowania

Odpowiedz

3

Użyj zestawów danych? Powiedziałbym tysiąc razy nie. Nie są one interoperacyjne z innymi zestawami narzędzi (jak wspominasz). Pewnie, Twoimi jedynymi klientami są teraz .NET, ale rzeczy mogą się szybko zmieniać i dobrze jest być przygotowanym.

Zobacz niektóre informacje na temat The XML Files.

Ponadto, jeśli tworzysz nowe usługi, zapisz je za pomocą WCF. Następnie możesz je narazić, jak chcesz. Jeśli usługa i klient są wewnętrzni i oba są .NET, możesz użyć powiązania TCP dla lepszej wydajności. Później, gdy ktoś inny chce się komunikować z twoją usługą, możesz dodać nowe powiązanie usługi internetowej, aby ich aplikacja Java (na przykład) mogła współpracować z twoją usługą. Zobacz Choosing the right WCF binding dla poręcznego schematu blokowego.

1

byłbym w obozie, że nie należy wyślij, ale to decyzja, która zostanie podjęta w oparciu o to, co jest ważne dla Twojej firmy.

Jeśli projektujesz interfejs API usług internetowych, który jest w zasadzie umową między firmą a klientami. Niektóre osoby w firmie mogą zacząć korzystać z tego interfejsu API w przypadku operacji o znaczeniu krytycznym.

Następnie otrzymasz prośbę o sprawdzenie nad Blackberry. Teraz musisz zmienić usługę, która może przerwać inne aplikacje, powodując efekt marszczyć.

Tak więc, jeśli masz pewność, że nigdy nie będziesz potrzebować obsługi innych platform, innych niż .NET, możesz po prostu wybrać pierwszą opcję.

0

Nie wybrałbym również żadnych zestawów danych (tak jak większość społeczności tutaj). Jak mówi James, nigdy nie jesteś pewien, że twoja usługa będzie zużywana tylko przez aplikacje .NET. Główną przyczyną usługi sieciowej jest to, że jest to standard, który może być używany przez wszystkie technologie, jeśli zostanie utworzona poprawnie.

DataSets łamie również idee projektowania opartego na domenie i separacji warstw i dlatego są mniej przyciągane, jak to było na początku. używam tylko ich dema, które muszą być szybkie i brudne;)

Jeśli naprawdę chcesz „łatwą” drogę rozwoju (w IDE) i nadal być zgodne ze wszystkimi standardami, należy rozważyć tworzenie własnych usług z WCF.

Powiązane problemy