Zarządzam zespołem złożonym z około 15 programistów i utknęliśmy w punkcie, w którym wybieramy technologię, w której zespół jest podzielony na dwa całkowicie przeciwne zespoły, debatując nad użyciem WCF vs. Web API.
Zespół A, który obsługuje korzystanie z interfejsu API sieci Web, przedstawia następujące powody:
- Web API to po prostu nowoczesny sposób pisania usług ( Wikipedia )
- WCF to narzut na HTTP. Jest to rozwiązanie dla TCP, Net Pipe i innych protokołów
- Modele WCF nie są POCO z powodu [DataContract] i [DataMember] i tych atrybutów
- SOAP nie jest tak czytelny i przydatny jak JSON
- SOAP to narzut dla sieci w porównaniu do JSON (transport przez HTTP)
- Brak przeciążenia metody
Zespół B, który obsługuje korzystanie z WCF, mówi:
- WCF obsługuje wiele protokołów (poprzez konfigurację)
- WCF obsługuje transakcje rozproszone
- Istnieje wiele dobrych przykładów i przykładów sukcesu dla WCF (podczas gdy Web API jest jeszcze młody)
- Dupleks jest doskonały do komunikacji dwukierunkowej
Ta debata trwa i nie wiem, co teraz zrobić. Osobiście uważam, że powinniśmy używać narzędzia tylko do jego właściwego miejsca użytkowania . Innymi słowy, lepiej byłoby użyć interfejsu API sieci Web, jeśli chcemy udostępnić usługę przez HTTP, ale użyć WCF, jeśli chodzi o TCP i dupleks.
Przeszukując Internet, nie możemy uzyskać solidnego wyniku. Istnieje wiele postów wspierających WCF, ale wręcz przeciwnie, ludzie również narzekają na to. Wiem, że charakter tego pytania może wydawać się dyskusyjny, ale potrzebujemy dobrych wskazówek, aby podjąć decyzję. Utknęliśmy w miejscu, gdzie wyborze technologii przez przypadek może uczynić nam żałować później. Chcemy wybierać z otwartymi oczami.
Używamy głównie do internetu i udostępniamy nasze usługi przez HTTP. W niektórych przypadkach (powiedzmy od 5 do 10 procent) możemy potrzebować transakcji rozproszonych.
Co mam teraz zrobić? Jak zarządzać tą debatą w konstruktywny sposób?