Zajmuję się projektowaniem oprogramowania, które musi obsługiwać różne elementy sprzętu, głównie w oparciu o harmonogram, ale musi również mieć interfejs sieciowy do konfigurowania ustawień, konfigurowania harmonogramu, a nawet ręcznego sterowania sprzętem. Nie wiem, jak zaprojektować architekturę takiego oprogramowania.Jak zaprojektować .NET (C#) dla programu, który musi działać jako usługa systemu Windows, ale także mieć interfejs sieciowy?
Jedną z moich myśli było stworzenie usługi Windows, która umożliwia komunikację ze sprzętem, a także "publikowanie" usług internetowych za pośrednictwem WCF, a następnie posiadanie aplikacji ASP.NET, która następnie kontroluje usługę Windows poprzez WCF. Takie podejście wydaje się być bardzo pracochłonne dla tego, co próbuję osiągnąć.
Czy ktoś mógłby wskazać mi kierunek, czy jest to dobre podejście, a nawet dać mi lepszy sposób na zrobienie tego, jeśli taki istnieje?
Dzięki! Joel
Ze względów bezpieczeństwa najlepsze rozwiązanie będzie zależeć od konfiguracji sprzętowej. W jaki sposób maszyny akceptują wnioski? Gdzie będzie Twoja strona internetowa w odniesieniu do twojej usługi Windows? Jakie firewalle są w to zaangażowane? Czy zamiast tego możesz uruchomić usługę systemu Windows, która sonduje usługę internetową i ma również interfejs użytkownika? – pdr
Maszyna przyjmuje zamówienia głównie za pośrednictwem jednego lub więcej portów szeregowych (sieci RS485). Strona internetowa może znajdować się na tej samej maszynie, co usługa, ale podoba mi się możliwość ich podziału w razie potrzeby. Zapora prawdopodobnie nie będzie w tym przypadku problemem, ponieważ wszystkie będą znajdować się w tej samej sieci. Czy możesz wyjaśnić, co to znaczy być "usługą Windows, która sonduje usługę internetową i ma również interfejs użytkownika?" Nie wiem, jak usługa Windows może mieć interfejs użytkownika. – hjoelr
Jeśli chcesz hostować interfejs sieciowy na innym komputerze, nie ma alternatywy dla myśli. – SLaks