WCF- Do czego ta technologia służy? Potrzebne wyjaśnienie na "chłopski rozum" :)

1

Cześć. :) Przede wszystkim serdecznie was witam, piszę do was pierwszy raz, natomiast anonimowo czytam was od jakiegoś roku. :)

Mam do zrobienia aplikację (główną). Prowadzący zajęcia chce, byśmy stworzyli serwis, pozwalający na komunikację innych aplikacji z tą aplikacją główną właśnie.
Chodzi o udostępnienie niektórych jej funkcji (a w zasadzie jednej klasy) na zewnątrz, by można było, za pomocą innej aplikacji, przesłać jakieś dane do tej głównej (która to zapisze te dane w bazie).

Dobrze rozumiem, że WCF ma niejako spiąć ze sobą 2 różne aplikacje, być takim łącznikiem?

Zrobiłem plan (pseudo uml :) ) :

user image

Rozumuję, że aplikacją WCF powinien być prosotkąt nazwany "Serwis"? I za jego pomocą będę mógł udostępnić jakiś obiekt DataContainer na zewnątrz?
Naprowadźcie mnie, bo głowię się nad tym i ciemny jestem. :) Może użyć czegoś innego? Natomiast, jeśli WCF się nadaję, wolałbym użyć jego. ;)

1

Nie do końca, WCF to taki duży WebService.
WebService nie udostępnia metod jakieś aplikacji, tylko udostępnia swoje własne metody (ServiceReference). Jeżeli chcesz udostępnić jakieś metody z jednej aplikacji do drugiej, wystarczy użyć referencji. Masz 2 apki w jedej solucji i klikasz reference -> add reference -> Projects -> Solution i wybierasz i masz dostęp do publicznych metod. Żeby ograniczyć to możesz użyć interfejsów itp.

0

Chodzi o udostępnienie swojego rodzaju API. Tak, żeby ktoś, nie mając kodu mojej aplikacji, mógł z nią współpracować. Np. pisząc program, współpracujący z Allegro, czy obsługujący płatności PayPal, Allegro/PayPal udostępnia ci zestaw funkcji. (Tam chyba się WebAPI używa, ale on ograniczony jest jedynie do protokołu http ponoć, ale to inny temat).

Ja potrzebuję napisać aplikację która po uruchomieniu, udostępnia swój interfejs również lokalnie tak, aby inne procesy mogły się z nią skomunikować. Dość podobnie silnik Sql działa sobie w tle, jako usługa- ty możesz tą samą bazę przeglądać za pomocą Visual Studio, Management Studio, czy swojego własnego programu :)

Mój program służy do obsługi pomiarów stacji meteorologicznych (wykresy, średnie wartości różnych parametrów z różnych przedziałów czasu etc). Wszystkie dane trzyma w bazie danych. Dane mogą być wprowadzane za pomocą GUI głównej aplikacji ręcznie, lub zaimportowane z excela (tutaj użyłem WPF'a), lub właśnie z zewnątrz. Trochę to bez sensu, ale to projekt akademicki jest, więc nie kłócę się. ;)

Skoro WCF udostępnia swoje metody... To WCF powinien być tą główną aplikacją? Nie wydaje mi się. Nie rozumiem całej ten koncepcji.

0

Kolega mi wyjaśnił. WCF udostępnia swoje metody, czyli mogę np do tych metod wklepać kod zapisu do bazy danych i zamknąć w jakiejś funkcji serwisu, który on udostępni. Z apki zewnętrznej podaje tylko parametry i całość się robi. ;) To takie proste było, a jakoś nie mogłem na to wpaść. Teraz będzie łatwiej. ;P

Dzięki za poświęcony czas, cececezarze :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1