Frage zu WCF??



  • Hallo Leute,

    ich hab mich mal bischen mit WCF( Windows Communication Foundation ) befasst, und gemerkt das die ein komplexes Thema ist:)

    Hab ich es richtig verstanden, das ich eine Anwendung programmiere welche aus einem Server läuft, welche bestimmte schnittstelen übers netz unter verwendung diverese Protokole definiert?

    Und ich den browser oder einer client anwendung als Frontend für das eigentlich Programm auf dem server nutzen kann?



  • Könnte man so sagen... wenn Du Dir ein VStudio 2008 Prof holst, da gibt's sehr schöne Assistenten zu den WCF, wo man solche Abläufe modellieren kann.

    http://www.c-plusplus.net/cms/modules.php?op=modload&name=mbBooks&file=index&func=isbn&isbn=3866455054



  • Hmm ok, ahb im moment nur 2008 😞

    und was ist dann das WPF? das ist ja auch so ein art GUI schnittstelle??



  • Du kannst WCF im Prinzip als Microsofts Umsetzung von Web Services sehen (steckt aber noch mehr dahinter).

    WCF ist aber nicht nur serverseitig sondern natürlich auch clientseitig einsetzbar (d.h. du kannst damit WCF-Services "konsumieren", aber auch andere normale Web Services die z.B. mit Java entwickelt wurden).

    <<EDIT>>:
    Und WPF ist im Prinzip nichts anderes als ein neues "Framework" für Benutzerschnitstellen (also GUIs). Bietet allerdings einige interessante neue Konzepte, wie z.B. XAML mit der du GUIs komplett in einer XML-Grammatik definieren kannst.
    Das sind aber Sachen die dur eigentlich auch schnell selbst beantworten könntest (MSDN, Wikipedia, Google, ...).
    <<EDIT>>



  • d.h. ich muss 2 anwendungen server bzw. client seitig programmieren?

    Ich möchte quasie eine Fernüberwachung/Ansicht der Benutzerschnittstelle haben, ohne das auf dem Client eine exta Software vorhanden sein muss, also über browser.. wie könnte man sowas realisieren?



  • BorisDieKlinge schrieb:

    Hmm ok, ahb im moment nur 2008 😞

    Nein, man kann mit .NET 3 bereits WCF nutzen, nur gibt's ab dem VS2008 eine integrierte Unterstützung im VStudio. Daher die Anmerkung.



  • Ich möchte nochmal beschreiben was ich machen möchte, vll. bin ich am komplett falschen ansatz!?

    Also, ich habe eine Anlage/Maschine, welche lokal am standort der maschine über eine Visualisierung via PC Überwacht und bedient wird.

    Nun will ich von jedem Punkt der Welt aus , über die IP des Visu-Rechner auf diesen zugreifen wollen über einen browser, so das ich die Oberfläche des visurechner vor mir haben, so das ich die Anlage Fernbedienen bzw. Überwachen kann.

    WCF, WPF ist dann schon der richtie Ansatz?



  • WCF ist eine Möglichkeit dafür, ja. D.h. du schreibst eine Service-Schicht, welche dir die vorhandene "Business-Logik", also das was deine Anlage/Maschine halt so kann, nach außen anbietet.

    Client-Seitig hast du auch verschiedene Möglichkeiten. Da man WPF auch in den Browser einbetten kann, wäre das sicher auch eine Möglichkeit, ja. D.h. du schreibst als Client eine WPF-Applikation. (Bzw. wäre hierfür Silverlight wohl noch geeigneter -> Abgespeckete WPF-Version extra für Web-Applikationen). Könntest hier aber genauso gut z.B. ASP oder sonst was verwenden.
    Also du kannst hier eigentlich benutzen wonach dir gerade ist. Du musst dafür halt nur auf die WCF-Services zugreifen können, und das dann in HTML darstellen, d.h. es wäre z.B. ebensogut auch was Java-Artiges möglich.



  • Dafür halte ich ASP.NET für naheliegender... die meisten Visualisierungstools arbeiten damit. Einen WebService als Transport für Visualisierungsdaten würde ich nicht unbedingt als 1. Wahl sehen, sondern eher in die Richtung ASP + Ajax gehen.

    Die meisten kommerziellen Tools arbeiten auch auf dieser Basis, d.h. Backend in .NET, GUI mit ASP.NET und Visualisierung im Browser mit HTML und AJAX.



  • hmm ok hört sich nach viel arbeit an;) Ich dachte es gib evlt. möglichkeiten, das ich bspw. die benutzeroberfläche mit der maus zusammenbastle in VS die einezelnen control über eine schnittstelle zur programmlogik verbinde, und dann automatisch eine browser GUI version generieren lasse, so das ich lokal aber auch übers netz die anwendug steuere..



  • Das kannst Du letztlich mit ASP.NET und/oder WPF so machen. Stichwort "WebForms".



  • Ahh cool.. ich hab jetzt VB 2008 express gezogen, da kann man ne WPF App bzw. Webbroser dings da machen..

    gehört das WPF prinzip unter die kategorihe "verteilte Anwendungen" ?



  • Mh also sorry, aber jetzt mal im Ernst...
    Du hast studiert und dein Diplom bekommen? 🙄
    Ist jetzt nicht böse gemeint.. aber so Sachen solltest du dir
    a) echt selbst beantworten können und
    b) eigentlich auch so wissen.

    Du vergleichst ein GUI-Framework mit Verteilten Anwendungen (oder wenn man so will "Middleware"). Da ist es noch sinnvoller Äpfel mit Brinen zu vergleichen 🙂



  • BorisDieKlinge schrieb:

    Nun will ich von jedem Punkt der Welt aus , über die IP des Visu-Rechner auf diesen zugreifen wollen über einen browser, so das ich die Oberfläche des visurechner vor mir haben, so das ich die Anlage Fernbedienen bzw. Überwachen kann.
    ?

    Das kannst du in der Industrie gleich mal haken. Große Industriekunden sind mit ihrem Netzwerk seeehr empfindlich. XY beispielsweise lässt dich NUR in ihr Netz, wenn du einen aktuellen Virenscanner vorweisen kannst. Und Internet aus dem Netz eines Schwäbischen Automobilherstellers raus kannst du gleichmal ganz haken. Da sind nur bestimmte Rechner im Web. Und selbst da kommt oft ne normale zip oder rar nicht durhc. (Ich denke das verstösst gegen keine Vorschriften das zu schreiben.)
    Andere große Firmen sind da auch nicht ebsser. Da kommst du zwar aus dem Netz raus, aber nicht rein. WENN die überhaupt Netz haben.
    Bei vielen Konzernen ist es so, dass sie Standleitungen zur Zentrale haben und die alles verwaltet. Beispielsweise ein Weltweiter Konzern, den ich kenne... Da gehen alle Werke poer Standleitung nach Brüssel. DORT wird alles geschaltet und gewaltet. Wenn du da ran willst darfst du dich erst mit der Konzernmutter
    rumschlagen. Das dauert und gibt Stress.

    Fazit: Wenn du Glück hast erwischste n Kleinen der dir einfahc Zugang gibt, weiler nur ne 0815-DSL-Leitung hat. Oder einen Großen der VPN-Zugänge erstellen kann.

    Wir habens über den Rücken lösen müssen. Wir haben ISDN-Leitungen in den Werken für uns. Da ist ein Lancom 800i dran. In der Firma steht ein 1721. Wenn wirs rbauchen machen wir LAN-LAN-Kopplung, da wir dort unabhängige Netze stehen haben. Wenn wir von irgendwo ran müssen, gehen wir übers Web per VPN-client ins Firmennetz und dann von da weiter. Und auf die Oberfläche kommen wir zur Zeit per RealVNC. Bei der Neuentwicklung ist dann eine Schnittstelle per Sockets geplant.

    Das is jetzt meine Erfahrung. Vielleicht ist es ausserhalb des Automotive und Kunststoff-Bereichs anders.



  • @Mods: Bitte den Namen des Herstellers zensieren. Hab ned gesehn, dass der ne Zeile drüber nochmal steht.



  • Shogun: wer spricht denn hier von IntERnet? Natürlich achtet man in einer großen Firma auf die Netztrennung, aber innerhalb des Produktionsnetzes kann man durchaus mit Webanwendungen (im IntRAnet) fahren. Das macht übrigens auch ein großer schwäbischer Automobilhersteller für seine MES-Anwendungen (Fa. FORCAM) teilweise so.

    Oder daß man bei Maschinensteuerungen/Prozeßleitsystemen die Prozeßleitsysteme mit einer webbasierten Lösung erstellt - auch das ist inzwischen oft zu finden. Das kollidiert mit keiner Sicherheitsanforderung.



  • Ja hab das Diplom aber das .NET gedöns hat mich nie interessiert;)

    die fragen könnte ich mir beantwort, aber hier gehts schneller.. und leute mit erfahrungen damit zu fragen ist besser..

    Naja es geht lediglich darum eine anwendung zu programmieren welche lokal auf einem serverläuft, aber über das netz Steuerbar ist.. die GUI soll quasie lokal aber auch übers netz verfügbar sein...



  • BorisDieKlinge schrieb:

    Ja hab das Diplom aber das .NET gedöns hat mich nie interessiert;)

    GUI von Middleware unterscheiden zu können hat nichts mit .NET zu tun. Gerade ein gutes Abstraktionsvermögen sollte man doch durch das Studium gewonnen haben.

    die fragen könnte ich mir beantwort, aber hier gehts schneller.. und leute mit erfahrungen damit zu fragen ist besser..

    Alles klar.



  • Marc++us schrieb:

    Shogun: wer spricht denn hier von IntERnet? Natürlich achtet man in einer großen Firma auf die Netztrennung, aber innerhalb des Produktionsnetzes kann man durchaus mit Webanwendungen (im IntRAnet) fahren. Das macht übrigens auch ein großer schwäbischer Automobilhersteller für seine MES-Anwendungen (Fa. FORCAM) teilweise so.

    Oder daß man bei Maschinensteuerungen/Prozeßleitsystemen die Prozeßleitsysteme mit einer webbasierten Lösung erstellt - auch das ist inzwischen oft zu finden. Das kollidiert mit keiner Sicherheitsanforderung.

    Klar Intranet zählt nicht. Ich bin ja auf die Angabe Weltweit angesprungen. Das bedeutet für mich im normalen Umfeld Internet. Denke da haben wir uns jetzt einfach nur missverstanden.

    Wir haben ja auch bei unsrer Leitsoftware einen Webclient, damit im Intranet Zugriff möglich ist.



  • Shogun schrieb:

    Ich bin ja auf die Angabe Weltweit angesprungen. Das bedeutet für mich im normalen Umfeld Internet. Denke da haben wir uns jetzt einfach nur missverstanden.

    Intranet kann über das Internet erweitert werden. Stichwort VPN Tunnel.


Anmelden zum Antworten