CtxiForum2005

Werbung
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
Herunterladen