Download
slide1 n.
Skip this Video
Loading SlideShow in 5 Seconds..
Advanced Windows Hosting A Dedicated Server Deployment Solution PowerPoint Presentation
Download Presentation
Advanced Windows Hosting A Dedicated Server Deployment Solution

Advanced Windows Hosting A Dedicated Server Deployment Solution

109 Views Download Presentation
Download Presentation

Advanced Windows Hosting A Dedicated Server Deployment Solution

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Advanced Windows Hosting • A Dedicated Server Deployment Solution • Bernhard Frank | Mario Briana • Web PlatformArchitectEvangelists • Developer PlatformandStrategy Group (Germany | CEE)

  2. 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

  3. 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

  4. 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

  5. Scenario

  6. Control Panel (Plesk, Helm) Umbraco (WebCMS) Web Application Installer WSS Membership DB Windows Sharepoint Services 3.0 .net 3.0 ASP.net AJAX MS SQL Server Express Manager Advanced Windows Hosting Stack(Package-Manager) MS SQL Server Express PHP fastCGI 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

  7. 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

  8. 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.

  9. 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

  10. 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

  11. 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

  12. 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

  13. 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

  14. Demo

  15. Q&A

  16. Backup slides

  17. PackagemanagerArchitecture

  18. 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

  19. 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

  20. HostingOptions.xml • Package Definition • Title, Description • Category • Install URL and Eula URL • InstallRequirements • Referenced in Installrequirements.xml • UserInput • Action

  21. 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)

  22. 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)

  23. 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

  24. Business Logic HostingOptions.xml InstallationRequirements.xml UserInput class omitted for clarity

  25. 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