Как убедиться, что ваш код будет работать на базе Windows 2000

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

В данной статье мы поговорим о том, как убедиться, что ваш код будет работать на базе Windows 2000. Здесь мы не будем останавливаться на описании новой инфраструктуры разработки, которую предлагает Windows 2000, такой как COM+. Мы сосредоточимся на переносе приложений «как есть», то есть без изменений самого кода.

Выясните, что у вас есть

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

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

Убедитесь, что вы «играете по правилам»

Затем вам нужно будет оценить, какой объем работ потребуется для того, чтобы каждое приложение уютно себя чувствовало в среде Windows 2000. Это самая сложная часть работы, и она может потребовать определенных компромиссов. Чтобы выяснить уровень соответствия в вашем коде, можно использовать пакет TestFoundation for Windows 2000 — разработанный компанией Rational Software бесплатный модуль, позволяющий проверить согласованность приложения со спецификациями Windows 2000. Эту программу можно найти по адресу www.rational.com/products/teamtest/w2k/w2kds.jtmpl.

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

К примеру, в DOS программа может получать доступ к файловой системе без использования стандартных прикладных программных интерфейсов, но приложение, которое это делает, не работает в Windows 2000. Действительно, DOS-приложение, которое обходит API, не будет работать ни в Windows 98, ни в NT 4.0. Но Microsoft предъявляет даже более жесткие требования к работе приложений в Windows 2000. Помимо всего прочего приложения теперь должны выполнять корректную проверку версий, распознавать правила переписывания, а также инсталлироваться и деинсталлироваться в соответствии со стандартами Windows 2000. (Вы можете загрузить список спецификаций по адресу msdn.microsoft.com/certification/appspec.asp.) В зависимости от сложности вашего программного обеспечения могут возникнуть те или иные трудности, связанные с необходимостью переписать значительные фрагменты программ.

С другой стороны, обязательность этих требований может потребовать значительных усилий для переноса ваших приложений на Windows 2000. Мы рекомендуем оценить затраты и риск, связанные с каждым из предложений Microsoft, а затем создать два списка: список обязательных изменений и перечень последующих мероприятий, которые нужно выполнить для перехода на Windows 2000. В конце концов, далеко не каждая модификация является критически важной. Например, одно из новых правил Microsoft состоит в том, что ваше программное обеспечение не должно менять или считывать информацию из системных файлов конфигурации, таких как config.sys, autoexec.bat, win.ini и system.ini. Если вам предстоит решить более важные вопросы, вы можете изменить системную конфигурацию после переноса своих приложений на Windows 2000, гарантируя, что ваши системные файлы по-прежнему будут согласованы с вашими приложениями.

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

Тестирование приложений на новой платформе

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

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

Чтобы протестировать это, вы должны подготовить несколько ясных сценариев тестирования, убедившись, что можете восстановить свои системы в первоначальное состояние после каждого цикла тестирования. Это требует значительной работы по конфигурации, объем которой, к счастью, может быть уменьшен за счет применения таких инструментальных средств, как Ghost компании Symantec. Точно так же TestFoundation for Windows 2000 компании Rational позволяет делать мгновенные снимки вашего регистра Windows и файловой системы до и после установки приложения, автоматически документируя приложения и случаи несоответствия.

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


Перенос шаг за шагом

1. Создайте описание ваших приложений. Документально оформите связи между модулями и сгруппируйте ваши приложения в зависимости от ОС и языка программирования

2. Проанализируйте спецификации на приложения для Windows 2000, опубликованные компанией Microsoft

3. Определите с учетом времени и имеющихся ресурсов минимальный набор требований к переносу

4. Проанализируйте каждое приложение и определите действия, необходимые для того, чтобы обеспечить их соответствие Windows 2000. Оцените время и ресурсы, которые требуются для преобразования и тестирования

5. Подготовьте испытательный стенд и начните цикл тестирования. Проверьте документацию по развертыванию после каждого цикла