Введение
Progress OpenEdge® версии 10.1B основан на инновациях, появившихся в версии OpenEdge 10. OpenEdge 10 предлагает нашим клиентам самую лучшую платформу для создания современных распределенных приложений, имеющих, по определению, n-уровневую архитектуру, встроенные возможности интеграции и ориентированных на широкое использование сервисов.
Версия OpenEdge 10 будет иметь несколько релизов, вводимых в использование в течение ее жизненного цикла, но основная цель достижения гибкости обеспечиваемой архитектурой SOA не изменится. Версия OpenEdge 10.1B основана на версии 10.1A, и дополняет ее, делая работу предприятия еще эффективнее - основной акцент сделан на поддержку управления большими объемами данных. Используя платформу OpenEdge, которая создавалась специально для компаний среднего размера, сегодня клиенты могут быть абсолютно уверены, что они смогут перейти к настоящей корпоративной платформе.
Основная цель выпуска версии 10.1B - это поддержка корпоративных клиентов, работающих в производственной среде 24 X 365. Основные возможности версии OpenEdge 10.1B:
- Поддержка больших таблиц, имеющих свыше 2 млрд. строк. Теперь число строк может составлять до 9 квинтиллионов (quintillion).
- Увеличение максимально возможного номера области базы данных до 32000; улучшены как масштаб, так и управляемость устройствами хранения
- Реализовано усовершенствования, связанные с размером сегмента разделяемой памяти для обеспечения высоких характеристик кэширования и повышения производительности системы.
- Улучшен язык ABL для поддержки 64-битных целых переменных для соответствия новым 64-битным характеристикам базы данных Progress
- Расширенные возможности объектно-ориентированного программирования для упрощения многократного использования объектов и повышения производительности разработчиков
- Расширена поддержка платформ, теперь возможно использование 64-битных систем Linux PowerPC
Данный документ представляет собой краткий обзор некоторых особенностей и возможностей версии OpenEdge 10.1B. Полный список и дополнительную информацию о нововведениях и функциональных возможностях версии OpenEdge 10.1B, можно найти в документации на продукт: Введение в OpenEdge: Новые и переработанные возможности (OpenEdge Getting Started: New and Revised Features).
СУБД
Версия OpenEdge 10.1B ориентирована на корпоративных клиентов для удовлетворения нужд которых:
- Улучшена поддержка производственных сред режима 24 X 365, и
- Улучшено хранение корпоративных данных за счет поддержки работы с большим числом транзакций и большими объемами записей аудита.
Таблицы транзакций и таблицы аудита часто могут разрастаться до миллиардов записей. До появления версии 10.1B, в OpenEdge имелось ограничение на количество строк - примерно 2 млрд. строк на одну область хранения (обусловленное использованием 32-битных ключей dbkeys).
В версии 10.1B предельное значение радикально увеличено, что привело таким образом, к существенному улучшению масштабируемости и управляемости производственных систем.
Новая реляционная СУБД корпоративного масштаба OpenEdge включает такие возможности как:
- Поддержку больших таблиц - число адресуемых строк в области хранения Type II storage) увеличилось более чем до 9 квинтиллионов (1018), гарантируя предприятиям, что их данные всегда будут сохранены и доступны. Устранение ограничения в 2 млрд. строк обеспечивает также дает возможность работать с 64-битными данными, 64-битных секвенциями и 64-битных recid/dbkeys, гарантируя надежное сохранение и извлечение строк в больших таблицах БД.
- Количество доступных областей хранения увеличилось до 32 000 вместо предыдущих 1000; это дает максимально возможный теоретический размер реляционной СУБД около ~32 эксабайт (32*260 байт). Чтобы понять подобное увеличение масштабируемости, можно сказать, что в Wikipedia говорится, что 5 эксабайт данных примерно соответствует общему числу слов, произнесенных за всю историю человечества.
- Улучшение выделения разделяемой памяти благодаря возможности оптимального выбора размера сегмента разделяемой памяти - пользователю (customer) предоставляется возможность указать объем памяти в гигабайт отводимого сегменту разделяемой памяти, тем самым, обеспечивая более эффективное хранение больших баз данных непосредственно в памяти.
- Большие поля ключей, позволяющие увеличить предельный размер индексных ключей со 192 байт до 1970 байт для блоков размером 4K и 8K.
Нововведения в сервере данных
В версии 10.1B, каждый из серверов данных OpenEdge DataServer - MS SQL Server, Oracle и ODBC - поддерживают новые возможности версии 10.1B, обеспечивают улучшенную функциональность баз данных для всех пользователей (корпоративных и некорпоративных). К новым возможностям относятся поддержка типов данных 64-битное целое число, INT64, и усовершенствования, связанные с его реализацией: 64-битные идентификаторы строк и идентификаторы записей ROWID/RECID, 64-битные секвенции, поддержка больших целых в хранимых процедурах и большие поля ключей.
Нововведения коснулись и инструмента Data Administration в области утилит, связанных с серверами данных для использования новых возможностей. Кроме того, Data Dictionary поддерживает преобразования с новым типом данных, имеющиеся в описателе схемы БД.
Нововведения в ABL
Поддержка типа данных INT64
Чтобы использовать новые возможности управления корпоративными данными в версии в OpenEdge 10.1B в ABL были средства поддержки нового типа данных: 64-битных целых: INT64. Версия 10.1B включает следующие новые функции:
- Функцию INT64 - получает тип данных и возвращает значение типа INT64
- Оператор PUT-INT64 - Сохраняет 64-битное значение со знаком для выражения типа INT64 или INTEGER в указанном месте памяти.
- Функцию GET-INT64 - возвращает 64-битное значение со знаком, полученное в указанном месте памяти как значение INT64.
- Оператор PUT-UNSIGNED-LONG - Сохраняет значение INTEGER или INT64 как 32-битное значение без знака по адресу указанному значениями MEMPTR или значение RAW.
- Функцию GET-UNSIGNED-LONG - Возвращает 32-битное значение без знака по адресу указанной ячейки INT64
Кроме того, поддержка INT64 предусмотрена во всех встроенных методах и функциях ABL, использующих в параметрах целые значения. Таким образом, целочисленные параметры могут теперь выражаться значениями типа INT64 или типа INTEGER.
Совершенствование объектно-ориентированного программирования
Версия OpenEdge 10.1B продолжает повышать производительность разработчика за счет совершенствования объектно-ориентированного программирования. Данная версия имеет ряд новых объектно-ориентированных возможностей для улучшения многократного использования объектов и повышения производительности разработчиков, среди которых:
- Перезагрузка (overloading) методов и конструкторов - в рамках одного и того же класса, теперь можно определять несколько методов с одним и тем же именем, но с различными признаками вызова (calling signatures), можно также определить несколько конструкторов для класса, имеющих различные признаки вызова. Это расширяет поддержку полиморфизма в ABL, давая возможность представлять одну и ту же операцию с несколькими интерфейсами, настроенными на различные приложения, что значительно улучшает повторное использование объектов.
- Режим доступа Private для поддержки перезагрузки конструкторов - Для поддержки совмещения конструкторов, оператор CONSTRUCTOR имеет теперь режим доступа PRIVATE, ограничивающий доступ к совмещенному конструктору из другого совмещенного конструктора определяемого класса .
- Свойства классов - теперь возможно указание свойств как членов классов. Свойства аналогичны переменным элементам данных, но они позволяют также устанавливать ограничения - являются ли они доступными для чтения, записи или и то, и другое, и дают возможность программировать специальное поведение, независимо от того, идет чтение или запись данного свойства, не требуя написания собственных "получателей" и "отправителей".
- Возвращение значения ERROR из методов и конструкторов - Теперь, когда в методе или конструкторе происходит ошибка приложения, можно вызвать оператор RETURN ERROR с опциональной строкой в качестве возвращаемого значения. Данные динамические операторы ошибок (dynamic error statements) дают подсказки пользователям приложений и гарантируют, что надлежащие меры принимаются при возникновении определенной ситуации.
- Дополнительная поддержка классов в OpenEdge Architect - OpenEdge Architect был усовершенствован для поддержки новых возможностей версии 10.1B для создания и управления классами:
- Новые индикаторы в редакторе для перезагружаемых методов и конструкторов.
- Новая категория в окне "outline", в котором указаны именные пространства пакетов (package namespaces) определенных в операторах USING.
- Экраны для определения свойств класса.
- Экраны для определения методов и конструкторов, для работы в новом режиме доступа PRIVATE для конструкторов и режима доступа по умолчанию PUBLIC, - для методов, конструкторов и деструктора.
Другие нововведения ABL в версии 10.1B:
- Компилятор кросс-ссылок XREF в формате XML - Это нововведение дает возможность выводить информацию о кросс-ссылках в формате XML. Предоставление кросс-ссылки в структурированном, простом для анализа формате XML, еще раз подчеркивает стратегию Progress по поддержке открытых стандартов и облегчает разработчикам написание приложений для анализа вывода кросс-ссылок. Изменения сделаны также в средстве Application Compiler, позволяющие выбрать формат XML для файла вывода.
- Поддержка дисплеев с высоким разрешением - OpenEdge 10.1B заменяет 16-битную поддержку разрешения на 32-битную. Изменив оперативные вычисления на 32-битные, клиенты могут теперь использовать разрешение до 2560 пикселов вместо 1600 пикселов в предыдущих версиях, что дает возможность разработчикам максимально использовать полезную площадь экранов для окон и форм в их приложениях.
Средства разработки приложений OpenEdge
В версии 10.1B нововведения в средствах разработки приложений OpenEdge были сфокусированы на OpenEdge Architect. Версия 10.1B OpenEdge Architect имеет следующие нововведения и особенности:
- Переход к платформе Eclipse Version 3.2. Предыдущая версия OpenEdge Architect была основана на Eclipse Version 3.1.1. Переход к новейшей версии Eclipse позволит клиентам Progress использовать преимущества последних усовершенствований, сделанных в Eclipse, и новых возможностях отладки, имеющиеся в OpenEdge 10.1B.
- Поддержка типа данных INT64, большие поля ключей (large entry keys), 64-битных секвенции, 64-битных ключей dbkeys, и 64-битных идентификаторов строк (ROWID) в редакторе кода и навигаторе БД DB Navigator.
- Унификация соединений с базами данных. Больше нет необходимости устанавливать отдельные соединения из проекта и из навигатора БД DB Navigator. Если установлено соединение с базой данных, оно будет доступно и для проектов, и для навигатора DB Navigator.
- Поддержка сделанных в версии OpenEdge10.1B усовершенствований объектно-ориентированного программирования в редакторе кода.
- Значительно изменена архитектура отладчика OpenEdge Architect Debugger. Теперь реализована поддержка одновременной отладки многих проектов или многих экземпляров одного проекта. Кроме того, теперь имеется доступ ко всем возможностям OpenEdge ABL Editor во время редактирования файлов исходных текстов во время активного сеанса отладки. Для удобства использования информация о переменных, параметрах, буферах, временных таблицах и ProDataSets представлена теперь в форме одного общего (consolidated) вида.
Платформы
OpenEdge версии 10.1B обеспечивает поддержку всех операционных систем, поддерживаемых в OpenEdge 10, а также поддержку Linux PowerPC. PowerPC - 64-разрядная платформа. Используя эту новую платформу, клиенты могут реализовывать 64-битные продукты OpenEdge. Данная платформа обеспечивает более быстрый (higher) доступ к памяти устройств для прозрачного запуска приложений, содержащих такие программы с интенсивным использованием памяти, как программы мультимедиа или с богатой графикой.
Полную информацию о поддерживаемых платформах можно найти в руководстве Product Availability Guide по адресу: http://www.progress.com/products/lifecycle/index.ssp
Поддерживая своих клиентов, для обеспечения возможности использования и запуска приложений в любой среде, Progress расширил поддержку Microsoft .Net Framework. В OpenEdge 10.1B .Net Open Client поддерживает теперь и .NET 2.0 Framework, в дополнение к .Net 1.1 Framework. Используя OpenEdge 10.1B, разработчик может создавать и запускать приложения, используя версию .Net Framework по своему выбору.
Совершенствование инсталляции
Позволяя использовать настройки предыдущей инсталляции продуктов, OpenEdge 10.1B существенно упрощает переход к новой версии. Если была установлена предыдущая версия продукта, 10.1B динамически запрашивает при установке, следует ли использовать по умолчанию настройки инсталляции присутствующей версии. Таким образом, если версия OpenEdge 10.1B обнаруживает инсталляцию 10.1A, система может использовать существующие значения вместо создания новых значений по умолчанию, которые могут быть неудобны администратору.