Мы используем cookies - они помогают нам делать сайт лучше и комфортнее для Вас.
Пользуясь нашим сайтом, Вы соглашаетесь на предоставление нам доступа к cookies на Вашем устройстве.

Новости

2-21-2008 Статья: Проект: «Дотнетификация»

Самый большой проект этого года заключается в переписывании кода всех страниц сайта. Основу Hattrick составляет достаточно старый код, который усложняет внедрение новых идей. При переписывании кода, мы будем использовать более современную веб-платформу, что позволит увеличить производительность нашего сайта и, в дальнейшем, упростить внедрение новых возможностей.

Отрицательным моментом является то, что в период перехода на новую платформу мы столкнемся с большим, чем обычно, количеством багов. Так как проект стартовал еще в прошлом году, то Вы уже сами ощутили на себе все отрицательные последствия. Но мы надеемся, что положительные стороны данного проекта сделают Вас более терпеливыми. Так как я не отношусь к технарям в нашей команде, то я постараюсь предоставить Вам свой взгляд на проект со стороны.
Мои коллеги по офису все такие милые и приятные, но иногда я себя чувствую посторонним человеком. Это потому, что все они «продвинутые программеры», а я не настолько продвинутый как они. Они часто говорят, на понятном только им компьютерном языке. Именно поэтому, находясь в их окружении, я иногда волей-неволей учусь чему-то новому. Вот и сейчас они умудрились расширить мой словарный запас новым словом: Дотнетификация (.Net – веб-платформа, продвигаемая Microsoft). На самом деле я не уверен, что такое слово существует, я даже уверен в обратном, но мои высокоэрудированные компьютерные гении используют его так часто, что может сложиться впечатление, что они обсуждают новое пришествие Мессии.

Рассматривая одну из их толстенных книг, я заметил, что на ней написано .NET. И если все они искренне верят, что эта технология просто фантастика, то я вижу только постоянно всплывающие то тут, то там проблемы, связанные с этим. Я уверен, что я не одинок в своем раздражении по отношению к проблемам, возникающим в последнее время на сайте. Но уверенность в том, что мои коллеги не являются сумасшедшими, заставляет меня думать, что возможно они и правы, когда говорят, что .Net – это хорошо. Правда, когда они говорят, что все должно быть переписано под .Net, это не делает меня счастливее.

ASP и .NET
Когда Hattrick последний раз обновлялся в 2000 году, была использована технология ASP. Если говорить по-простому, то ASP – это одна из платформ для разработки веб-приложений. .NET описывается странным для меня словом – framework, что я понимаю как «базовая структура интерфейсов, предназначенная для поддержки чего-то там». Одной из частей этой технологии является ASP.NET, новая, более навороченная версия ASP. В ASP все страницы являлись отдельными частями, в .NET все они связаны с друг другом и работают как единое целое.

Причины перехода на .NET
Мои коллеги просто поставили меня перед фактом, что наш старый код должен быть переписан. Есть страницы с кодом, который был полностью написан несколько лет назад, и поэтому им не помешала бы оптимизация. Помимо этого, добавление любой новой функции ухудшало читаемость кода, осложняло дальнейшую работу с сайтом и его поддержку. Переписывание сайта под ASP.NET повысит эффективность команды разработчиков в будущем, и, что более важно, мы получим стандартный набор интерфейсов, который позволит нам быстрее реализовывать новые функции, которые будут выглядеть намного привлекательнее.

Мои коллеги также утверждают, что им просто доставляет больше удовольствия работать в среде .NET. “Работа в ASP – это каждодневное и нескончаемое обсуждение дэйтрейдинга. Работа под .NET – это обдумывание и реализация новых идей”. Поэтому мне очень сложно найти аргументы против перехода на .NET.

.NET для Hattrick
В конце 2006 года мы получили нашу первую страницу, написанную под .NET. После этого все новые страницы разрабатывались под новую платформу. Помимо этого, мы ведем работу и по переписыванию старых страниц. Школа Юниоров, страницы матчей, закладок лишь некоторые примеры .NET реализации. Вы легко можете определить, какие страницы используют старый ASP (они имеют расширение asp), а какие новый .NET (по расширению aspx).

.NET, кажется, любит стартовую страницу
По идее слова любовь и программирование две вещи несовместимые, но похоже с .NET они вполне применимы. Я уже не помню сколько раз, пытаясь посмотреть свои матчи или Школу Юниоров, я попадал на стартовую страницу. К моему удивлению, коллеги говорят, что в таком поведении сайта есть своя логика. Когда Вы осуществляете вход на сайт Hattrick, Вы открываете ASP сессию, а мы уже ее виртуально привязываем к сессии .NET. Когда ASP сессия теряет связь с сервером, то Вы получаете соответствующее сообщение (time-out) и вынуждены войти на сайт снова. Но если теряется связь .NET сессии, то Вы перенаправляетесь на стартовую страницу ASP сессии, соединение с которой у Вас не утеряно.

Пока я был не в курсе таких тонкостей, данный факт меня раздражал иногда больше, чем обычный time-out, но теперь я стараюсь не обращать на такие вещи внимание. Я знаю, что постепенно, со временем данная проблема будет появляться все реже, хотя избавиться от нее мы сможем только тогда, когда весь сайт будет переведен на новую платформу (мы предполагаем, что переход у нас займет весь этот год, с пиком активности, приходящимся на весну).

.NET – источник проблем?
Самым простым, было бы объявить дотнетификацию источником всех наших бед. Но даже я, далекий от программирования человек, понимаю, что переход рано или поздно случился бы. В постоянно меняющейся среде Hattrick недопустимо наличие проблем, связанных с производительностью и надежностью серверов, а решить данный вопрос в рамках ASP не представлялось возможным. Я надеюсь, что большинство пользователей Hattrick отнесутся с пониманием к данному вопросу, а после объяснений, будут и менее остро реагировать на периодически возникающие проблемы.

Something broke…
Это сообщение мы не любим даже больше, чем Вы, и мы сделаем все возможное, чтобы таких сообщений было как можно меньше. Мы уже внесли ряд структурных изменений, которые позволят серверам нормально функционировать и под большей нагрузкой, оставляя качество сервиса на приемлемом уровне. Данные изменения также привели к появлению тестовой среды (один из моих коллег утверждает, что все так и было задумано). Поэтому, когда новые страницы готовы, они в первую очередь проверяются группой добровольцев на отдельном сервере, и только потом переносятся на основной сайт.

Тестирование – не панацея
Я хотел бы сказать, что тестовая среда позволяет нам выявлять все ошибки, но это не так. Бывает, что баг просачивается и через тестовую среду. Основной причиной таких ситуаций является использование различных браузеров и расширений, или стечение определенного рода обстоятельств, которое невозможно сымитировать в тестовой среде.

Обещание молочных рек и кисельных берегов
Я не могу пообещать Вам, что у нас не будет никаких проблем при переходе, и думаю, что мои коллеги поддержат меня. Возможно, что дальнейшая дотнетификация приведет к появлению новых багов. Мы постараемся делать все от нас зависящее для скорейшего устранения вновь возникающих неисправностей. Но я также надеюсь, что и Вы, после сегодняшней статьи, сможете относиться к проблемам сайта с большей терпимостью. Ведь конечным результатом станет более быстрый и лучший Hattrick.
 
Server 070