250 likes | 421 Views
Advanced Windows Hosting A Dedicated Server Deployment Solution. Bernhard Frank | Mario Briana Web Platform Architect Evangelists Developer Platform and Strategy Group (Germany | CEE ). Dedicated Server Survey Results.
E N D
Advanced Windows Hosting • A Dedicated Server Deployment Solution • Bernhard Frank | Mario Briana • Web PlatformArchitectEvangelists • Developer PlatformandStrategy Group (Germany | CEE)
Dedicated Server Survey Results Designedfordedicatedservercustomer Web-VAPs (Value Added Provider) Key Findings: • Most Customers usingthe Server forApp Hosting • Most Customers callthemselves Developer • Most Customer have 1 upto 3 sites on onemachine
Model behindAdvanced Windows Hosting Price/Hoster Value/User Price/Hoster Value/User Tiger Duck:Toincreasevalue!! LAMP Land WISA Land Hoster Invest Hoster Invest Hoster Invest Hoster Invest Windows basevalue Windows base Price LAMP basevalue LAMP base Price Special Software package + How-to‘sforhosters / WebVAPsandcustomersthatextendsthe Windows Server capabilitiesto a „Value Add Offering“. Advanced Windows Hosting - package
Advanced Windows Hosting Stack(1st:build a LAMP – aquivalent) value Web Applications Control Panel (Plesk, Confixx, Ensim,…) SQL Mgr. PHP .net 3.0 ASP.net AJAX SQLExpress Apache, PHP, MySQL fastCGI ASP.NET IIS Base OS Base OS LINUX (is) WINDOWS
Advanced Windows Hosting Stack(Package-Manager) value Web Applicationen Control Panel (Plesk, Confixx, Ensim,…) SQL Mgr. PHP .net 3.0 ASP.net AJAX SQLExpress Package-manager Apache, PHP, MySQL fastCGI ASP.NET IIS Base OS Base OS LINUX (Ist) WINDOWS
Advanced Windows Hosting Stack2nd: getmorevaluetotheuser value Web Applications Web Applications Control Panel (Plesk, Helm) Control Panel (Plesk, Confixx, Ensim,…) SQL Mgr. PHP .net 3.0 ASP.net AJAX SQLExpress fastCGI Apache, PHP, MySQL Package-manager ASP.NET IIS Base OS Base OS LINUX (is) WINDOWS
The Packagemanagervalueprops @Hoster: • Open-Source (extenableandcustomizable) • Packages (extenableandcustomizable) (OS, Language, V- orDedicated Server) • Contextspecificinformationaboutthepackages (html) • Consistentinstallations. (easierTroubleshooting, moresecure) @customer: • Reducinginstallationtimes, searchingforusefulcomponents • Customer decideswhattoinstall. • Requirements / Dependenciesarecheckedandshownbeforeinstalling. • Benefitof expert Installation - Know-How • Getmorevaluewhattheplatformprovides.
Advanced Windows Hosting Stack(Web Application Installer) value Web Applicationen Web Applications Web Application Installer Control Panel (Plesk, Helm) Control Panel (Plesk, Confixx, Ensim,…) SQL Mgr. PHP .net 3.0 ASP.net AJAX SQLExpress fastCGI Apache, PHP, MySQL Package-manager ASP.NET IIS Base OS Base OS LINUX (is) WINDOWS
Web Application Installer: Open-Source: 0€! vs. InstallShield Express ca. 500€ extensible @Developer Create an MSI foryour web app in 30 min (asp.net/php/perl/(my)sql) @User Easy installation in a well knownconsistentmanner WiXML MSI Paket
High levelarchitectureoverview Web-Application (WIX Package) Web-Application (WIX Package) Providedby Hoster Web-Application (WIX Package) ProvidedbyCommunity AWHPackage …. Advanced Windows Hosting Base (configurable, e.g. ASP.NET AJAX, WSS, SQL Express…) .net 2.0 (ASP.NET) HosterVanillaInstall IIS Windows Server OS
Usage Scenarios MS Package Server Install ClientGetpackage List ISV generatespackage Hoster generatespackage Hoster Package Server Decidewhattoinstall Community generatespackage Community Package Server Download / Install WAI Raktajino MSI Packets XML Deffiles MSI Packets
Try it out - Links Packagemanager: http://www.codeplex.com/raktajino Web Application Installer Template: http://www.codeplex.com/wai Advanced Windows Hosting Site (German) http://www.advanced-windows-hosting.net
Project Structure • App.config • Business Logic BL.cs • Windows Forms Raktajino.cs (main UI) UserEulaDialog UserInputDialog • Resources Resources folder HostingOptions.xml InstallationRequirements.xml Localization (not planned for 1st release but already on Codeplex) WinformStrings.resx WinformStrings.de-DE.resx
App.config HostingOptionsURL http://localhost/tigerduck/hostingoptions.xml?lang=%language%&OS=%OS% InstallationRequirementsURL http://localhost/tigerduck/InstallationRequirements.xml" Banner resources\banner.htm ProductDescriptionURL resources\raktajino.htm BackgroundInstallCheck True/False SortProductTreeView True/False DownloadSubDirectory Whendownloadingthisistheplacewherestuffgetsstored TempSubDirectory Usedtounzipdownloadedpackages DisableTabControlDuringInstall True/False in case a hosterwantthecustomertobeabletoclick on Packageswhileweareinstalling Culture de-DE
HostingOptions.xml • Package Definition • Title, Description • Category • Install URL and Eula URL • InstallRequirements • Referenced in Installrequirements.xml • UserInput • Action
InstallationRequirements.xml • External Check (expensive regarding resource consumption!) • Property="IIS6 configuredwithFastCGIfor PHP" SpecialFolder="%SystemRoot%" SearchPath="system32\" CheckFile="cscript.exe" Arguments="inetsrv/fcgiconfig.js -get -section:"PHP" -ExePath„ • CompareMethod="ValueContains“ php-cgi • Registry Check • Property="IIS Version greater 4" Key="HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC\Parameters" Value="MajorVersion“ • Compare ValueType="Int32“ Method="ValueGreaterThan“ 4 • File Check • Property="ASP.NET version 2.0" SpecialFolder="c:\" SearchPath="Windows\Microsoft.NET\Framework\v2.0.50727" FileName="aspnet_isapi.dll„ • CompareMethod="ValueExists" • MSI Product Check • Property="ASP.NET AJAX 1.0 installed" GUID="082BDF7B-4810-4599-BF0D-E3AC44EC8524" • In the 1st release we are not supporting WMI check because • WMI Product Check is not installed by default on a WS 2003 box • actually MSI Product check is doing almost the same • there was a bug in Vista (fixed with SP1)
InstallationRequirements.xml • External Check (expensive regarding resource consumption!) • Property="IIS6 configuredwithFastCGIfor PHP" SpecialFolder="%SystemRoot%" SearchPath="system32\" CheckFile="cscript.exe" Arguments="inetsrv/fcgiconfig.js -get -section:"PHP" -ExePath„ • CompareMethod="ValueContains“ php-cgi • Registry Check • Property="IIS Version greater 4" Key="HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC\Parameters" Value="MajorVersion“ • Compare ValueType="Int32“ Method="ValueGreaterThan“ 4 • File Check • Property="ASP.NET version 2.0" SpecialFolder="c:\" SearchPath="Windows\Microsoft.NET\Framework\v2.0.50727" FileName="aspnet_isapi.dll„ • CompareMethod="ValueExists" • MSI Product Check • Property="ASP.NET AJAX 1.0 installed" GUID="082BDF7B-4810-4599-BF0D-E3AC44EC8524" • In the 1st release we are not supporting WMI check because • WMI Product Check is not installed by default on a WS 2003 box • actually MSI Product check is doing almost the same • there was a bug in Vista (fixed with SP1)
BL.cs – Business Logic • Called from UI • Classes for • Packages • InstallationRequirements • InstallationAction • UserInput • DOES NOT INSTALL anything • DOES NOT DOWNLOAD anything • About to change in next version
Business Logic HostingOptions.xml InstallationRequirements.xml UserInput class omitted for clarity
Raktajino.cs - UI • On Load • Create Package structures • Add Package Information to the Installation tabs • Add Installation Requirements • Check Installation Requirements in a background worker thread • Update the information in the Installation tabs • Installable, • Dependent on other Install, • Already installed • Install Button • According to Requirements • User will be referred to another Package • Package gets installed in background in a separate process • If specified • User accepts EULA • Enters requested input