Citrix Access Suite und Terminal Services im Meer der neuen Anwendungskonzepte Agenda • • • • .NET Framework Web-Anwendungen Web Services und SOA No-Touch und ClickOnce Deployment, Smart Clients • Longhorn und Avalon Konventionelle Windows-Anwendungen Zustandsorientiert COM-Komponente DCOM Lokale DLL oder COM-Komponente Stub Proxy Das .NET Framework Anwendung läuft auf dem lokalen Desktop oder auf Terminalservern Windows Forms (Managed Code) Bibliotheken MFC (C++) VB6 Grafiksubsystem (GDI) ASP.NET Web Forms Web Services .NET Bibliotheken Common Language Runtime Web Server (IIS) Windows XP/2000/2003 Betriebssystemkern .NET Framework Windows Anwendungen (Unmanaged Code) Anwendung läuft im IIS bzw. Browser Unterschiede zwischen den Anwendungstypen (Server-Sicht) Web-Clients TS/Citrix PS-Clients Anzeige von HTML und XML Anzeige von RDP/ICA HTTP RDP/ICA Windows Forms Anwendungen Web Forms Anwendungen Web-Server Terminalserver/Citrix PS TS = Terminal Server (Microsoft) PS = Presentation Server (Citrix) .NET-basierte Anwendungen • Lassen sich .NET-basierte Anwendungen auf Terminalservern ausführen? Ja... – Direkter Start von WinForms – Indirekter Start von WebForms im Browser auf TS • Aber, was ist mit dem Ressourcenhunger? • Rick Mack, bekannt von www.thethin.net: "Running .NET WinForms on Terminal Servers is a good reason to migrate to 64-bit Windows" .NET Security TS/PS Zwischenfazit • Anwendungen, die auf dem .NET Framework basieren, können auf Terminalservern ausgeführt werden • Die erhöhten Ressourcenanforderungen von .NET-Anwendungen sind nicht vernachlässigbar • .NET-Anwendungen verfügen über ein völlig neues Sicherheitssystem • Die spezielle Verwaltung von .NETAnwendungen wird sicherlich zusätzliche Werkzeuge erfordern Web-Anwendungen – Web Forms Ältere Web-Anwendungen Navigation zu unterschiedlichen, z.T. statischen Seiten (Wizard) Moderne Web-Anwendungen: ASP.NET Web Forms, Web Controls Navigation bzw. Sprünge innerhalb der Logik einer einzigen Seite unter Berücksichtigung des Zustands (View State) Eine Web-Anwendung in Aktion Client IIS ASP.NET SQL Server ASP.NET hat seine Grenzen... • Marc Grinns, Application Analyst, Duke Energy Corp. "Sometimes we had to tell the client that what they wanted was unrealistic for the Web platform" • Billy Hollis, .NET Consultant & Author "… browser-based programming is a huge step backwards." ...aber warum ist das so? • • • • • • Web-Anwendungen fehlen wichtige Eigenschaften: „Reiche“ Benutzeroberfläche (trotz DHTML) Antwortzeit, Performance (Postbacks, Maskenwechelzeiten) Sitzungsverwaltung (nur über Cookies o.ä.) Möglichkeit Anwendungen offline auszuführen Effiziente Nutzung der Ressourcen (z.B. DirectX) Integration mit lokalen Anwendungen/APIs TS/PS Zwischenfazit • Für bestimmte Szenarien sind WebAnwendungen sehr gut geeignet, z.B. im Bereich E-Commerce • Entwicklungs-, Test- und Pflegeaufwand für gute Web-Anwendungen ist jedoch extrem hoch • Im Office-Bereich, für die Systemadministration und in anderen Szenarien, bei denen eine hohe Interaktivität gefordert wird, ist es besser WinForm-Anwendungen einzusetzen • WinForm-Anwendungen können dann auf Terminalservern zentralisiert werden Web Services Web Server Zustandslos HTTP UI-Logik Web Services Anwendungslogik Zustandslos SOAP, XML Service Oriented Architecture (SOA) Web Server Web Service 1 Web Service 2 Web Service 3 Windows-Anwendungen auf Terminalservern Terminalserver Zustandsorientiert UI-Logik Web Services Anwendungslogik Zustandslos SOAP, XML TS/PS Zwischenfazit • Eine Service Oriented Architecture erlaubt es, Bausteine einer Unternehmens-IT servicebasierend zu modellieren und über standardisierte Web-Service-Schnittstellen verfügbar zu machen (SOAP) • Problematisch ist die hohe Komplexität • Terminalserver können hier als IntegrationsPlattform dienen Deployment Buzz Words • • • • • • • No-Touch Deployment No-Impact Deployment Zero-Deployment Auto-Download Deployment Web Deployment "URL launched applications" … und bald auch ClickOnce No-Touch Deployment • Das Beste aus beiden "Welten" • Ausführung ohne Installation (WinForm) • Starten über eine URL: <a href="http://server/meinapp.exe"></a> • Code wird "On-Demand" heruntergeladen • Voraussetzungen – Clients: IE 5.0.1, .NET Framework 1.0 SP1 oder 1.1 – Server: Beliebiger Web Server ClickOnce (in .NET 2.0) • Nachfolger von No-Touch Deployment • Zwei XML-Dateien beschreiben… – … die Anwendung und die Abhängigkeiten – … die Verteilungs- & Update-Einstellungen • Minimalinstallation – Verknüpfung im Startmenü / auf dem Desktop – Eintrag unter Systemsteuerung|Software • Offline-Unterstützung • Kommt mit Visual Studio 2005 ClickOnce Installationsoptionen • Vom Web gestartete Anwendungen – Anwendung startet "ohne Installation" – Keine lokalen Einträge, Online only – Immer auf dem neuesten Stand • Installierte Anwendungen – – – – Quelle: Web, UNC oder lokalen Pfad Eintrag in Startmenü + Systemsteuerung Verschiedene Update-Varianten Rollback und lokales Caching Vergleich Eigenschaften Web Click Once Reichweite (OS-Unabhängigkeit) Ja No-Touch Deployment Ja Ja Niedrige Systemauswirkungen Ja Ja Installation/Ausführung pro Benutzer Ja Ja MSI WinForms / Interaktiv Ja Ja Offline-Unterstützung Ja Ja Windows Shell-Integration Ja Ja Pro Maschine/Gemeinsame Kompon. Ja Unbeschränkte Installation Ja TS/PS Zwischenfazit • ClickOnce Ziel: Verteilung und Installation von Desktop-Anwendungen wird so einfach, zuverlässig und sicher wie bei WebAnwendungen • Clients mit verschiedenen Fähigkeiten können so mit Anwendungen "betankt" werden – auch Smart Clients, beispielsweise auf Basis des .NET Compact Frameworks auf Mobile Devices • Aber: Wer will das schon in einer konsolidierten Anwendungsumgebung? Roadmap Quelle: Microsoft 2008+ ►Windows “Longhorn” SP ►Windows Server “Longhorn R2” 2007 2006 2005 2004 ►Windows Server “Longhorn” ►Windows Server “Longhorn” Beta 2 ►Windows Server 2003 SP2 ►Windows Server 2003 for 64-Bit Extended Systems ►Windows Server 2003 Service Pack 1 ►Windows Server: Codename “Longhorn” Beta 1 ►Windows Server 2003 “R2” ►Additional Feature Packs (e.g. Windows Update Services) Roadmap Update • Tad Brockway, Group Program Manager Terminal Services, Microsoft: "Terminal Server enhancements known as “Bear Paw” will not ship in R2" • Alex Balcanquall, Product Manager Terminal Services, Microsoft: "Terminal Server strategic direction: Provide a rich platform for ISVs to extend" Avalon • Longhorn liefert mit Avalon ein neues Rendering- und Composition-Modell für die Anzeige von Bildschirminhalten innerhalb von Applikationen • Die offensichtlichen Schwerpunkte liegen auf 3D-Effekten und Transparenz • Die UI-Elemente werden durch eine Markup-Sprache definiert (XAML), wodurch Web- und Desktop-Programmiermodelle zusammenwachsen 2006 2004 2002 2000 Akzeptanz auf dem Markt Avalon? TerminalServerTechnologie WebAnwendungen & Web Services Zeit Das .NET 2.0 Framework Anwendung läuft auf dem lokalen Desktop oder auf Terminalservern Windows Forms (Managed Code) VB6 GDI Web Forms Web Services .NET Bibliotheken Bibliotheken MFC (C++) ASP.NET Common Language Runtime XAML Web Server (IIS) Windows 2003/Longhorn Betriebssystemkern .NET Framework Windows Anwendungen (Unmanaged Code) Anwendung läuft im IIS bzw. Browser TS/PS Zwischenfazit • Joe Beda auf www.eightypercent.com "Terminal Services and Remote Desktop: We were planning on remoting Avalon at a completely different layer. It is unclear how we will address this issue on platforms other than Longhorn." Zusammenfassung • Die Zukunft gehört dem Server-basierten Computing, auf der Basis von Web Servern und Terminalservern • Zugehörige Herausforderungen erfordern in Zukunft Lösungen bei folgenden Themen: – Authentifizierung, Autorisierung – Verschlüsselung, Tunneling – Zentrale Anwendungsinstallation und – bereitstellung – Übergreifende Serveradministration • Daher: Know-how über TS/PS und AccessStrategien wird immer wichtiger