logo
Методическое пособие КИТ_3_Лекции

6.1 Обеспечение совместимости программного обеспечения в корпоративных системах.

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

Концепция программной совместимости впервые в широких масштабах была применена разработчиками системы IBM/360. Основная задача при проектировании всего ряда моделей этой системы заключалась в создании такой архитектуры, которая была бы одинаковой с точки зрения пользователя для всех моделей системы независимо от цены и производительности каждой из них. Огромные преимущества такого подхода, позволяющего сохранять существующий задел программного обеспечения при переходе на новые (как правило, более производительные) модели, были быстро оценены как производителями компьютеров, так и пользователями и, начиная с этого времени, практически все фирмы-поставщики компьютерного оборудования взяли на вооружение эти принципы, поставляя серии совместимых компьютеров. Следует заметить, однако, что со временем даже самая передовая архитектура неизбежно устаревает и возникает потребность внесения радикальных изменений в архитектуру и способы организации вычислительных систем.

Несовместимость — бич современной индустрии программирования. Нелегко интегрировать модули, написанные на разных языках программирования. Программы, исполняющиеся на разных машинах, для взаимообмена данными должны преодолеть огромные трудности. Приложения для разных ОС написаны с применением несовместимых API, что затрудняет перенос. И по мере того, как интересы разработчиков смещаются от изолированных программ и клиент-серверных приложений к Web-приложениям, возникают новые типы несовместимости: несовместимость между программными моделями, прошедшими проверку временем, и моделями, возникшими спонтанно для удовлетворения новых потребностей. Вместо компилируемых языков мы имеем дело с языками сценариев. Вместо насыщенных графических пользовательских интерфейсов — HTML. А вместо объектно-ориентированного программирования — приложения масштаба предприятия, представляющие собой смесь процедурного кода, HTML, DHTML, XML, COM и других не связанных друг с другом технологий,

Совместимость – поддержка выполнения прикладных программ, написанных для других операционных систем, а также взаимодействие между различными ОС, функционирующих в корпоративной среде.

Как решаются вопросы обеспечения совместимости программного обеспечения? Рассмотрим несколько подходов.

Первый ─ использование языка программирования Java, разработанного фирмой Sun. . Одно из основных преимуществ языка Java— независимость от платформы, на которой выполняются программы: один и тот же код можно запускать под управлением операционных систем Windows, Solaris, Linux, Machintosh и др. Это действительно необходимо, когда программы загружаются через Интернет для последующего выполнения под управлением разных операционных систем. Необычайная способность Java исполнять свой код на любой из поддерживаемых платформ достигается тем, что ее программы транслируются в некое промежуточное представление, называемое байт-кодом (bytecode). Байт-код, в свою очередь, может интерпретироваться в любой системе, в которой есть среда времени выполнения Java. Большинство ранних систем, в которых пытались обеспечить независимость от платформы, обладало огромным недостатком — потерей производительности (Basic, Perl). Несмотря на то, что в Java используется интерпретатор, байт-код легко переводится непосредственно в “родные” машинные коды (Just In Time compilers) “на лету”. При этом достигается очень высокая производительность.

Второй ─ технология .Net (дот нет) от фирмы Microsoft.

У Microsoft есть видение будущего, в котором решены эти и многие другие проблемы. Воплощением этого видения является инициатива Microsoft .NET. Microsoft .NET, или просто .NET, представляет собой новый способ разработки и развертывания ПО, который с помощью таких стандартов как HTTP и XML делает реальностью мечту о легко взаимодействующих программах, а Интернет позволяет обеспечить доступ к программным сервисам в невиданных ранее масштабах. Важной частью инициативы является .NET Framework — платформа для разработки и исполнения приложений .NET. Ее использование не является обязательным условием для создания приложений .NET, но она намного упрощает и ускоряет разработку. Среди ее многочисленных достоинств ─ объектно-ориентированное программирование для Web; устранение многих типов наиболее распространенных и опасных программных ошибок, общий API (интерфейс прикладного программирования) для всех языков, т. е. для написания разных частей приложения можно использовать различные языки программирования.

Третий ─ использование языка SQL.

Совместимость с SQL-системами играет большую роль, когда предполагается проведение работы с корпоративными данными. СУБД, хорошо подготовленные к работе в качестве средств первичной обработки информации для SQL-систем, могут открыть двери в системы с архитектурой клиент-сервер.

СУБД имеют доступ к данным SQL в следующих случаях:

базы данных совместимы с ODBC (Open Database Connectivity – открытое соединение баз данных);

реализована естественная поддержка SQL-баз данных;

возможна реализация SQL-запросов локальных данных.

Многие СУБД могут "прозрачно" подключаться к входным SQL-подсистемам с помощью ODBC или драйверов, являющихся их частью, поэтому существует возможность создания прикладных программ для них. Некоторые программные продукты совместимы также с SQL при обработке интерактивных запросов на получение данных, находящихся на сервере или на рабочем месте.