Internet Explorer 9: Ускоренная совместимость корпоративных приложений

Никому не охото оставаться со старенькым браузером типа Internet Explorer 6. Люди сетуют, что их обделяют новыми способностями, что приложения перестают работать, а производительность оставляет вожделеть наилучшего. Но они до сего времени употребляют Internet Explorer 6. Почему? Все очень просто – они страшатся, что что-то не станет работать.

Никто не желает стать тем, из-за кого тормознула работа предприятия на целый денек из-за вышедшего из строя критически принципиального приложения. Ужас и неопределенность обездвиживают. Процесс перехода к Internet Explorer 9 может сделать определенные препядствия, но если вы примените несколько приемов, то можете по сути сделать его резвее, дешевле и проще.

Одолеть неопределенность

До вашего проекта по обеспечению сопоставимости приложений обычно чувствуется нехватка данных для оценки рисков. В конце концов, сможете ли вы составить перечень всех сайтов, посещаемых сотрудниками вашей организации? Каковы реальные опасности?

В последнем выпуске пакета Microsoft Assessment and Planning Toolkit (MAP) присутствовала определенная функциональность инвентаризации Internet Explorer. Производилась инвентаризация не только лишь установленных на компьютере браузеров (и определение, какой из их является браузером по дефлоту), но также и характеристики опции Internet Explorer (такие как ActiveX либо вспомогательных объектов браузера). Это поможет вам осознать код, исполняемый браузерами ваших юзеров.

Вы не можете получить полный перечень всех посещенных сайтов по суждениям приватности, законности и технической ограниченности. Но это ограничение просто обойти, опросив прокси-серверы на предмет перечня посещенных через их сайтов, но даже если вы создадите большой полный перечень URL-адресов, толку от этого будет незначительно.

Вспомните, как нередко в течение денька вы посещаете веб-сайты, не относящиеся к работе? Сколько часто посещаемых вами веб-сайтов, будь они труднодоступными завтра, вы бы поменяли другими схожими? Если вы возьмете перечень сайтов, посещаемых мною, и пристально его изучите, то выясните, что само мало 95% из их не имеют к делу никакого дела. Ужас пропустить те же 5% веб-сайтов принуждает делать тотальную инвентаризацию веб-сайтов.

Определение приложений

Есть другой подход: задумайтесь, какие приложения полностью точно должны работать в 1-ый денек после перехода. Конкретно их вы должны кропотливо протестировать перед установкой Internet Explorer 9 на первом же рабочем месте. Проверив все критически принципиальные приложения, можно приступать к развертыванию.

Начните с маленького количества рабочих мест. Научите служащих технической поддержки работе с дополнительным количеством запросов касательно сопоставимости веб-приложений после внедрения нового браузера. Составьте план по решению вероятных заморочек и запасной вариант для неожиданных ситуаций.

Если отдел технической поддержки оказывается перегружен запросами, снизьте темп внедрения. Если они управляются и даже есть некий припас, сможете ускорить процесс. Неплохой мыслью будет внедрение по желанию юзера – в данном случае люди простят вам почти все, если что-то пойдет не так.

Вся красота этого плана в том, что вам не надо тестировать все. Обычно юзеры утверждают о дилемме, только если она мешает работе. По другому они просто занимаются своим делом. В конечном итоге вы тратите меньше времени на тестирование приложений, которые не важны вашим юзерам. Активное предварительное тестирование позволяет сберегать много времени. Юзеры всегда могут найти, работает приложение либо нет.

Но что если ваше активное тестирование на сопоставимость приложений по сути не гарантирует сопоставимости? Задумайтесь, что предполагает сопоставимость. Это значит отсутствие изъянов приложения на данной платформе, которые не позволяют выполнить юзеру его работу. Но мы все отлично знаем, что не существует приложений без изъянов, нужно только чтоб ни какой-то из них не мешал заниматься своим делом. Пока ваши юзеры продуктивно работают, у вас все отлично.

Это сочетание активного и реактивного тестирования — подход, сочетающий разумное управление рисками, предоставление юзерам подходящих им инструментов и упругость — истинное сокровище сопоставимости приложений. Это поможет вам совладать с неопределенностью и сбережет время и средства.

Настройте среду

После начала передвижения приходит время таковой опции браузера, чтоб с самого начала обеспечивалась работа как можно большего числа приложений. Когда идет речь о новых версиях Internet Explorer, поддерживающих последние веб-стандарты, многие считают, что им следует обновить все приложения в рамках этой передвижения. И хотя цель великодушна, это выйдет медлительнее и дороже.

Internet Explorer 9 предоставляет продвинутую инфраструктуру сопоставимости, которая позволяет вам бросить все работать как есть, а потом равномерно перейти к новым веб-стандартам. Что все-таки сделать, чтоб настроить среду для обеспечения наибольшей сопоставимости? Все начинается с правильного разделения.

Некие внутренние приложения размещены в зоне Веба, потому что в их употребляются полные доменные имена либо Айпишника. Зона Веба более ограничена, и, как следствие, намного наименее комфортна для сопоставимости. К примеру, SharePoint почти все теряет при неверном разделении. Многие способности просто не работают.

Еще одна неувязка разделения — размещение приложений в зоне надежных узлов. В Internet Explorer 6 надежные узлы и правда были самой надежной зоной. Это давало вам больше способностей маневра. В Internet Explorer 9 более надежная зона — не надежные узлы, а локальная интрасеть. Так что приходится поступиться способностями. Не считая того, используя политики по дефлоту, вы теряете возможность пользоваться интегрированной проверкой подлинности.

Почему локальная интрасеть более надежна? Ранее момента было два разряда внутренних приложений – надежные и вправду надежные. Как нередко требуется такое разделение? Не так и нередко, если есть разумная политика по дефлоту для зоны локальной интрасети. Плюс, не осталось места для надежных партнеров. Если ваш партнер предоставляет электрическую почту, инструменты поддержки обоюдной работы и тому схожее, то эти приложения более надежны, чем Веб в целом.

Если ваши приложения корректно зонированы, употребляется политика по дефлоту, когда в зоне локальной интрасети по дефлоту включен режим сопоставимости. Это увеличивает сопоставимость ваших веб-приложений за счет использования зоны с более либеральным шаблоном безопасности.

Режимы сопоставимости

Это, само собой, приводит нас к последующей принципиальной теме: режимы сопоставимости и когда их использовать. Это одна из ошибочно воспринимаемых способностей Internet Explorer 9. Но большая часть этой трудности укрыта за обычный кнопкой с разорванной страничкой.

Помните, что Internet Explorer 9 по сути содержит четыре отдельных механизма рендеринга. Это четыре набора правил для отображения разметки HTML, сценариев и т. п. В Internet Explorer 9 эти режимы отображения последующие:

Quirks/Internet Explorer 5.5
Internet Explorer 7 Standards
Internet Explorer 8 Standards
Internet Explorer 9 Standards

Это не ново. Даже в Internet Explorer 6 были два режима: Quirks и Internet Explorer 6 Standards. Обычно употребляется режим Quirks, если разработчик специально не переключится на Standards, используя элемент DOCTYPE в разметке странички. Internet Explorer 7 эта дихотомия сохранилась, при этом Standards получил развитие и был усовершенствован, а режим Quirks остался без конфигураций. Internet Explorer 8 сохранил оба режима — Quirks и Internet Explorer 7 — и добавил Internet Explorer 8. Internet Explorer 9 продолжил эту традицию.

Таким макаром, под одной кнопкой у вас четыре механизма рендеринга. Как вам переключаться меж ними? В режиме сопоставимости интернет-страница, содержащая DOCTYPE, будет обрабатываться в режиме Internet Explorer 7 Standards, а без него — в режиме Quirks.

Если вы не используете режим сопоставимости, то интернет-страница, содержащая DOCTYPE, будет обработана в режиме Internet Explorer 9 Standards, а без него — в режиме Quirks. Таким макаром, страничка в режиме Quirks не поменяется от щелчка кнопки включения режима сопоставимости. Щелчок этой кнопки меняет версию браузера, о которой сообщается веб-серверу.

Это не очень удачное решение — заставлять юзеров щелкать кнопку, чтоб интернет-страница отображалась верно. Сейчас режим сопоставимости поддерживается групповыми политиками, например, задать режим сопоставимости как режим по дефлоту можно последующей групповой политикой: Administrative Templates/Windows Components/Internet Explorer/Compatibility View/Turn on Internet Explorer Standards Mode for Local Intranet.

Чтоб включить режим сопоставимости, вы должны отключить режим Standards в локальной интрасети. По дефлоту он выключен, и не нужно ничего поменять. Но это не означает, что вы должны продолжать воспользоваться эталоном пятилетней давности, а то, что все написанное по старенькому эталону будет продолжать работать. Вы, естественно, сможете избрать внедрение более современного эталона для определенного веб-приложения, но вы не можете использовать новые эталоны для чего-либо пока везде не внедрите современный браузер.

Не считая этого, есть групповая политика, отвечающая за обеспечение работоспособности веб-приложений наружных партнеров: Administrative Templates/Windows Components/Internet Explorer/Compatibility View/Use Policy List of Internet Explorer 7 sites.

Если вы добавите определенные веб-сайты в эту политику (для этого употребляются доменные имена высшего уровня), они будут переключены в режим сопоставимости и от этого сумеют работать лучше. Но режим сопоставимости не решает всех заморочек. Начиная с Internet Explorer 6, существует причина, почему это не всегда работает. Internet Explorer 6 не читает DOCTYPE, если он не является самой первой строчкой в разметке странички. Поглядим, что произойдет со страничкой, код которой начинается так:

Это стандартное начало странички XHTML — диалекта HTML, бывшего пользующимся популярностью пару лет тому вспять. Internet Explorer 6 будет обрабатывать все XHTML-страницы с таким началом в режиме Quirks, потому что DOCTYPE размещен не в первой строке. В Internet Explorer 7 эта ошибка была исправлена, так что Internet Explorer 7 либо позже будет обрабатывать уже в режиме Standards. Потому что правила для разметки отличаются для Quirks и даже Internet Explorer 6 Standards, то это довольно принципиально.

Переход сайтов от Quirks к Standards приводит к потере работоспособности многих из их. Более 80% всех приложений не стали работать конкретно из-за этого конфигурации. Вот поэтому мы добавили новейшую групповую политику для Internet Explorer 9 (также доступную и в Internet Explorer 8, если вы установите последующее исправление: http://support.microsoft.com/kb/982063): Administrative Templates/Windows Components/Internet Explorer/Compatibility View/Use Policy List of Quirks Mode sites.

Это позволит переключиться в режим Quirks при отображении определенного веб-сайта. Это не дает полного контроля над ситуацией, но открывает прямую дорогу на базе политик для работы в этом направлении.

Для получения полного контроля вам следует использовать X-UA-Compatible, тогда вы можете очевидно выбирать, какой режим обработки использовать. Вы сможете выяснить дополнительные детали на страничке «Определение сопоставимости документов» библиотеки MSDN Library, но если коротко, то вы должны включить или заголовок:

X-UA-Compatible: IE=5

или мета-теги:

Может быть, вы желаете осознать всю инфраструктуру сопоставимости и все методы ее опции. К примеру, если вы оставите стандартные характеристики для локальной интрасети, то будет применен режим сопоставимости. Если после чего ввести приложение на базе HTML5 и ничего не сделать, то будет применен режим по дефлоту — Internet Explorer 7.

Internet Explorer 7 не поддерживает HTML5, так что ваше приложение просто не будет работать. Но не все потеряно! Вы сможете добавить заголовок на сайте и настроить его на работу в режиме Internet Explorer 9, или вы сможете добавить мета-теги на странички, требующие HTML5. Вы просто переопределили правила по дефлоту, получив более современный режим обработки.

Я рекомендую добавлять X-UA-Compatible заглавия либо мета-теги во все веб-приложения. Это также нужно делать во всех новых веб-приложениях. Таким макаром, вы можете равномерно внедрять новые эталоны.

Правила приоритета также поддерживают таковой подход. Вы сможете переопределить значения по дефлоту в групповой политике при помощи заголовка X-UA-Compatible и переопределить заголовок при помощи X-UA-Compatible мета-тега. Независимо от избранного уровня детализации вы сможете стопроцентно держать под контролем режим отображения. Контроль нужен, если желаете двигаться далее. Так что похлопочите о вставке подходящих тегов и применении новых эталонов во всех собственных новых приложениях.

Настройка характеристик безопасности

Последующий шаг — анализ характеристик безопасности на предмет того, не препятствуют ли они работе ваших приложений. Вот ряд характеристик опции, которые обычно вызывают трудности:

Смешанное содержимое Веб-сайты, на которых совмещено содержимое, защищенное средствами SSL, и незащищенное содержимое. Некие организации замечали, что это вызывает огромное число предупреждений и сбоев работы многих веб-сайтов.
Предупреждения о сертификатах Многие организации не употребляют открытые ключи, предпочитая безопасность SSL. Они просто берут ключи с 1-го сервера и употребляют их на другом.
Защита от выполнения данных Это, может быть, одна из более действенных имеющихся технологий по предотвращению отрицательных последствий атак. Но до сего времени некие элементы ActiveX несовместимы с этой сильной функцией безопасности.

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

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

Вы сможете решить бросить 99% функций безопасности в Internet Explorer 9 (с одной-двумя временно выключенными способностями) либо отрешиться от их совсем, решив не снижать уровень безопасности. Это также мешает внедрению. Нужно отыскать компромиссное решение, в каком учитываются все эти происшествия.

Не запамятовывайте о ПО промежного уровня

Другим принципиальным нюансом перехода на Internet Explorer 9 является осознание воздействия промежного ПО. Очень принципиально наличие последней версии Java. Старенькые версии Java несовместимы с Internet Explorer 9

Многие организации предпочитают строить в эталон определенную версию и уровень обновления Java. Это приводит к отказу от установки новых исправлений, включая исправления безопасности. Центр безопасности Microsoft предупреждал о растущем количестве взломов Java , так что это неразумный подход.

Поиск обстоятельств

После опции среды перебегают к внедрению на рабочих местах, при всем этом начинают поступать 1-ые отзывы, наверное будут запросы на разрешение возникающих заморочек. И здесь наступает самая непростая часть – что-то необходимо делать с неработающими веб-приложениями.

Веб-приложение обычно состоит из 3-х частей, исполняемых в браузере: HTML (обычно сгенерированный программным инвентарем), CSS-таблица (обычно сделанная дизайнером) и сценарий (обычно написанный разработчиком). Ни один человек до конца не знает все три технологии сходу. Даже одну из их трудно изучить стопроцентно.

Отладку сопоставимости веб-приложения следует проводить итеративно. Сформулируйте причину, почему приложение может не работать, а потом найдите инструмент, который позволит очень стремительно проверить гипотезу. Если сфокусироваться на дилемме, то выявить причину получится очень стремительно.

Время от времени приходится что-то переписывать. Большая часть заморочек просто решаются, к примеру связанных с отсутствием проверки версий. Например, приложение может делать очевидную проверку версии интерпретатора сценариев, вроде этой на псевдокоде:

if (majorVersion < 5 or minorVersion < 5) then fail

«Прокрутите» логику выражения в голове. Версия 5.5 работает верно. Это правильно в отношении версии 5.6, но 6.0 уже не пройдет проверку, потому что 0 (промежная версия) меньше 5. Вы сможете просто это поправить, изменив эту строчку кода. Нередко решение трудности легче, чем вы думаете, так что нужно выяснять, почему что-то не работает, а не рассуждать о том, что все необходимо переработать.

Имейте запасной план

И последнее — всегда имейте запасной план. Если у вас есть приложение, которому нужен Internet Explorer 9, оно не сумеет работать. Каковой ваш запасной план: бросить юзеров на Internet Explorer 6 либо пользоваться способностями виртуализации для более ранешней передвижения этих юзеров? Почитайте статью «Solutions for Virtualizing Internet Explorer» и приготовьте план, который предугадывал бы «вариант отхода», если что-то пойдет не так.

В среднем, обычная организация, переходящая с Internet Explorer 6 на Internet Explorer 9 обнаруживает, что в Internet Explorer 9 перестают работать около 25% приложений. После аккуратной опции это число понижается до 5% либо даже ниже.

При переходе с Internet Explorer 7 на Internet Explorer 9 обычно перестают работать 4–5% приложений, но после опции это количество понижается до 2%. В компаниях, использующих Internet Explorer 8, после перехода работоспособность сохраняют фактически все приложения.

Надеюсь, эти советы, сформулированные на базе пятилетнего опыта оказания помощи организациям в обновлении Internet Explorer 6, посодействуют вам получить все достоинства от использования современного браузера. Сделайте план, учитывающий опасности и предусматривающий вовлечение в процесс юзеров, внедрение функций сопоставимости и маневренности текущего браузера, поиск более обычных решений заморочек в коде и запасным вариантом на случай неожиданных ситуаций. Сотки компаний скинули кандалы старенькых браузеров. Советую вам сделать то же самое.

Аналогичный товар: Комментирование на данный момент запрещено, но Вы можете оставить ссылку на Ваш сайт.

Комментарии закрыты.