Объектно-ориентированная разработка приложений
Со времени своего появления в 1960-х годах объектно-ориентированная технология становилась все более зрелой. Поскольку появились индустриальные стандарты, обеспечившие ее повсеместное принятие, разработка объектно-ориентированных приложений стала в настоящее время доминирующей в области ИТ. Наиболее важные из этих стандартов:
- UML (Unified Modeling Language) – унифицированный язык моделирования для объектно-ориентированного анализа и проектирования (Прим. ред. Общие сведения о языке UML можно найти, например, в статье [1]. В ней также приведен список рекомендуемой литературы по этому языку.);
- стандарт объектно-реляционных баз данных SQL:1999 (Прим. ред. Более подробно со стандартом SQL:1999 можно ознакомиться по статьям [2] и [3]. О дальнейшем развитии стандарта SQL читайте [12]);
- стандарты языков объектно-ориентированного программирования Java и C++. Прежде чем приступить к рассмотрению реализации стандарта SQL:1999 в СУБД Oracle9i и соответствующих ему объектно-ориентированных интерфейсов прикладного программирования для Java и C++, необходимо сначала обсудить UML.
Надписи на рисунке:
- Inheritance – наследование (Прим.ред.: на рис. опечатка: "inheritanc" вместо "inheritance");
- Aggregation – агрегирование;
- Navigable Association – навигационная ассоциация.
Спецификации UML – это сплав лучших результатов, достигнутых в индустрии объектно- ориентированных технологий. Текущей является версия 1.4 этих спецификаций от Object Management Group (OMG), международной организации, разрабатывающей стандарты объектных технологий. (Прим. ред. В июне 2003 г. консорциум OMG принял новую версию этого стандарта – UML 2.0.) UML определяет стандартные конструкции для описания объектно-ориентированного программного обеспечения как объектной модели. Например, UML-диаграмма на рис. 1 изображает объектную модель приложения "Оперативный каталог", которое корпорация Oracle разработала как часть нового проекта Common Schema (общая схема). В этой объектной модели есть несколько классов (например, Category, leafCategory). Каждый из этих классов обладает рядом атрибутов и операций. Например, класс Category обладает атрибутами category_name и category_description, а также операциями add() и remove().
Классы также связаны между собой различными связями. Например:
- класс leafCategory наследует от класса Category;
- класс compositeCategory может агрегировать объекты класса Category;
- а класс leafCategory имеет навигационную ассоциацию с классом Product_Information (то есть, классы leafCategory ссылаются на список объектов Product_Information).
Как только приложение проанализировано и спроектировано с применением UML, результирующая объектная модель может быть отображена в целевую реализацию с заданным языком программирования и сохраняемостью данных. После этого реализованное приложение готово для развертывания в рамках заданной целевой архитектуры. Преимущества объектно-реляционной технологии СУБД Oracle9i становятся очевидными по мере развертывания такого объектно-ориентированного процесса разработки. Как описано в следующем разделе, система объектных типов Oracle9i позволяет осуществлять отображение "один-к-одному" конструкций объектной модели UML в соответствующую объектно-реляционную схему.
Содержание раздела