Kentico software Dominik Pintér (Technical Leader) Štěpán Kozák (Developer) Antonín Moravec (Project Manager) Kentico software •2004 –1 employee (Petr Palas, former FI MU student) –1 dog –1 product – Kentico CMS (Bachelor thesis) – •2011 –65 employees CR –7 employees USA –1 employee UK –5 dogs –1 product – Kentico CMS –7000+ web sites –1200+ partners in 80+ countries •Fastes gorwing czech technological company – Deloitte FAST 50, 2010 •Microsoft Gold Certified Partner and Microsoft Visual Studio Industry Partner C:\Users\martinh\AppData\Local\Microsoft\Windows\Temporary Internet Files\Content.IE5\EBG2A17V\MC900287310[1].wmf Microsoft Gold Certified Partner Optimized for Visual Studio Kentico CMS •CMS = Content Management System •CMS = system for building and maintaining websites •Drupal, Joomla, DotNetNuke •ASP.NET application writen in C# • dsafds.JPG Our customers Why Kentico? •What do we have in common? •Amazing job •Worldwide successful product •Fashionable office in Brno city center •Inovation time & Summer of code • • • • • • • • • – • Kanc_M5F.jpg 41317_460131151281_18107081281_6892958_2433794_n.jpg Links •General information http://www.kentico.com •Web for developers http://devnet.kentico.com •Trees for bugs http://trees.kentico.com/Home.aspx •Summer of code http://www.kentico.com/trainee.aspx •Job opportunities http://www.kentico.com/jobs.aspx •Theses http://www.kentico.com/theses.aspx •Free edition http://www.kentico.com/Download-Demo/Free-Edition • \\intra\MarketingMaterials\Logos\Kentico_CMS_for_ASPNNET_long.png ASP.NET Web Applications Basics Štěpán Kozák List of contents •What is ASP.NET? •What is a request? •How does ASP.NET deal with stateless http? •ASP.NET request life cycle •ASP.NET page/control life cycle What is ASP.NET? •Active Server Pages .NET • •Platform for creating dynamic web applications • •You can use any .NET language as a code-behind • •Development of ASP.NET WebForms applications can be similar to the development of WinForms applicatons. Similar, not same! Example of ASP.NET page ASP.NET page – code behind What is a request? What is a request? •Main thing you need to remember about HTTP protocol: • HTTP is stateless protocol! • •But we need state in dynamic web applications! • How does ASP.NET deal with stateless http? •The answer is ... ViewState! • •It is a technique used by an ASP.NET Web page to persist changes to the state of a Web Form across postbacks (HTTP POST to the same page that the form is on). • •Use ViewState carefuly and only when it‘s really needed! It‘s helpful technique, but it might become too greedy and can cause the application to be less effective. ViewState – How is it send within requests? ASP.NET page/control life cycle •To be able to work with ASP.NET pages and controls properly you need to understand the life cycle of these elements. • •Most importat phases of page/control life cycle are: •PreInit •Init •Load •PreRender •Render • ASP.NET page/control life cycle Source: http://i.msdn.microsoft.com/dynimg/IC152667.gif Where to get more information? •Where to start: http://msdn.microsoft.com/en-us/library/ywdtth2f%28v=vs.71%29.aspx • •More about page life cycle: http://msdn.microsoft.com/en-us/library/ms178472.aspx • •More details about how the ViewState works: http://msdn.microsoft.com/en-us/library/ms972976.aspx • • Q&A • • •? Model view controller Dominik Pintér, dominikp@kentico.com MVC Presentation layer Bussiness layer Data layer Model View Controller ASP.NET MVC •Additional programming model •Full control over HTML •http://www.asp.net/mvc •Controller + View = Result page •Routing •Razor engine Kentico CMS & MVC •DEMO Q&A • • •? Windows Azure introduction Dominik Pintér, dominikp@kentico.com Agenda •Cloud computing •Windows Azure platform •Kentico CMS & Windows Azure • • Cloud Computing •Models: •IaaS •PaaS •SaaS • server.png Buy vs. rent pc.png server.png server.png Windows Azure Platform • • • • • > > > Windows Azure AppFabric SQL Azure Windows Azure Windows Azure Web role Worker role VM role LB LB LB Windows Azure fabric controller Queue Table Blob Blob storage Container1 Contaner2 Blob1 Blob2 Windows Azure – Differences and Challenges •Multiple virtual machines environment –Statelesness –Scalability •Types of storage –NTFS vs. Windows Azure storage –Microsoft SQL server vs. SQL Azure •Development experience –Software development kit and emulator –New patterns •Workflow • Solution Package Deployment Windows Azure internals Your package Deployment Image Web role •Change of single file => redeployment Kentico CMS & Windows Azure •History: •Kentico CMS 5.5 R2 –First version –Passed Windows Azure platform ready test –Limitations •Kentico CMS 6 –Real support –Lot of code changes •Development: •One developer, almost fulltime job •Changes: coding rules, build process, QA process Q&A • • •? Why don’t you get a job @ Kentico? •Just click, follow the instructions and send us your results to jobs@kentico.com • Thank you! • •Thank you! •antoninm@kentico.com •dominikp@kentico.com •stepank@kentico.com • •