Внедрение SAP R/3: Руководство для менеджеров и инженеров
Шрифт:
Основных компонентов объектно-ориентированной парадигмы всего четыре: объект, класс, сообщение и метод, что соотносится с записью, типом записи, процедурой и вызовом процедуры в традиционных системах. Набор методов иногда называют интерфейсом. Интерфейсы приложений SAP (BAPI) — хороший пример таких интерфейсов (см. раздел «Интерфейс программирования бизнес-приложений» в главе 19).
Объект — это предмет, который существует и обладает идентификацией (т. е. он записан в памяти, и к нему можно обратиться). Объект состоит из данных, ассоциированных со всеми операциями, которые с ним можно проводить. Операции называются методами, а коммуникация с объектом, которая запускает какой-либо метод — сообщение. Совокупность таких сообщений составляет внешний интерфейс объекта; к объекту можно обратиться или внести в него изменения
Так как между методами различных объектов есть много общего, объекты с одинаковой внутренней структурой и одинаковыми методами группируются в класс, который называется Определяющий класс объекта (Class Defining Object, CDO), в рамках которого объекты называются экземплярами этого класса. Класс может содержать в себе экземпляры других классов; однако каждый экземпляр принадлежит только одному CDO, и ассоциирован только с ним. Таким образом, вычисления производятся путем обращения к объекту с помощью сообщения; объект унаследует метод своего CDO. Этот метод, в свою очередь, может обратиться к другим объектам и т. д. Цепочка может прерваться, когда вызывается простейший объект, который изменяет переменную величину экземпляра или затрагивает внешние устройства — такие, как принтер, жесткий диск и т. д. Например, автомобили с бензиновым или дизельным двигателем можно рассматривать как случаи (подклассы) объекта «четырехколесное транспортное средство», который в свою очередь является подклассом в классе автомобилей.
Класс — это шаблон, с помощью которого можно быстро генерировать новые объекты. Это логически объясняет многие важные характеристики ориентированной на объекты среды — такие, как унаследование и инкапсуляция. На рис. 8.1 представлены подклассы и классы случаев Определяющего класс объекта (CDO) под названием «Автомобиль».
В примере с автомобилями, унаследование можно понимать как некие стандартные характеристики и компоненты — такие, как топливо, бензобак, колеса, коробка передач, двигатель и т. д., которые считаются составными частями автомобилей с бензиновым или дизельным двигателем. Эти свойства унаследованы от класса «четырехколесное транспортное средство», который в свою очередь унаследовал их от класса «Автомобиль». Нетрудно представить себе прослеживание явления объектификации в любом порядке — например, от движущихся объектов до деталей двигателя внутреннего сгорания через Список материалов (ВОМ). Фактически, ВОМ — тоже полноценный объект! Общий результат — это иерархия, или лестница с классами и объектами на каждом уровне. Примерно по такому же принципу организована классификация животных в биологии.
Рис. 8.1. Подклассы и классы случаев Определяющего класс объекта (CDO) под названием «Автомобиль».
Вторая важная характеристика инкапсуляции относится к прозрачности каждого объекта в рамках такой иерархии. То есть, каждый объект X просто выполняет свои функции, а вопросы о принципе его работы и составляющих его объектах не имеют никакого значения. Если ответ на эти вопросы все-таки необходим, надо просто отследить цепочку унаследования, т. е. переместиться вверх или вниз по ступеням иерархии объектов.
Постепенно концепция ориентации на объекты развивалась, и теперь она охватывает деятельность по планированию, анализу и проектированию не только информационных систем, но также моделирование и инжиниринг всего предприятия. Использование объектной модели приводит к созданию систем, построенных на стабильных промежуточных звеньях, что увеличивает их гибкость и расширяет возможности внесения изменений. Если ориентированные на объекты методологии тщательно разработаны, они позволяют осуществить гладкий, беспрепятственный переход между различными стадиями жизненного цикла разработки программного обеспечения — такими, как определение требований, подробная спецификация, подробный дизайн и генерация кодов. Это также подразумевает, что со временем система сможет развиваться, эволюционировать, а не отправляться на свалку или подвергаться полной перестройке при первом
же кардинальном изменении требований к системе.Следовательно, основные преимущества парадигмы ориентации на объекты таковы: значительное расширение возможностей повторного использования компонентов программного обеспечения, методология развития, которая подразумевает быстрое прототипирование и перепроектирование, облегчение поддержки и универсальности готовых приложений. Ориентированный на объекты подход я бы даже назвал новой, переработанной версией традиционного процесса инжиниринга программного обеспечения!
Таким образом, мы закончили знакомство с объектной ориентацией, которое необходимо для понимания ориентированной на объекты среды. Хотя существует еще несколько довольно сложных сопутствующих тем для обсуждения — таких, как комбинированные объекты, многократное унаследование, полиморфизм, параллелизм, стабильность и т. д., нам достаточно понять общую ценность объектной ориентации, свойственной среде SAP.
Сама по себе система SAP R/3 не является объектно-ориентированной средой, но этот подход в большой степени повлиял на архитектуру и разработку SAP.
Основная структура SAP, которая включает в себя словарь АВАР/4, управляемое событиями программирование, ЕРС (управляемая событиями последовательность процессов) уже использует различные аспекты этой концепции и возможно в будущем будет переработана в полноценную объектно-ориентированную среду. С появлением SAP 3.0 был представлен рабочий процесс SAPWorkflow, который полностью основывается на объектно-ориентированной архитектуре бизнес-объектов, методов, событий, подклассов и т. д. В версии SAP R/3 4.0 Объекты АВАР — это полноценное распространение объектов на АВАР, которое полностью подготовлено для использования и программирования SAP в сети Интернет. Впрочем, для полной реализации потенциала объектной ориентации базовая архитектура SAP должна была бы внедряться объектно-ориентированным способом. Кроме того, все функциональные модули SAP должны были бы в этой среде разрабатываться, поддерживаться, документироваться и т. д. Преимущества такого подхода будут обсуждаться на протяжении данной главы.
АРМ Разработчика АВАР/4
Все объекты АРМ Разработчика необходимо генерировать, прежде чем они активизируются в работающей системе.
Все объекты АРМ Разработчика АВАР/4 — такие, как модели данных и процессов, словарь АВАР/4, отчеты, динамические программы, библиотеки функциональных процессов, объекты авторизации и прочие записаны в хранилище АВАР/4.
Система Хранилища информации полностью интегрирована с АРМ Разработчика. Эта система обеспечивает поиск и сортировку различных объектов по тем или иным критериям, а также предоставляет список пунктов — где указанный объект может использоваться. По умолчанию хранилище показывает различные объекты, заданные в системе SAP в иерархическом порядке.
Как видно из названия, иерархия приложений содержит полную структуру стандартных приложений SAP. Для версий, в которые клиентом были внесены определенные настройки, SAP поддерживает иерархию приложений пользователя в сочетали с классом разработки, присвоенным каждому элементу в этой иерархии.
На рис. 8.2 представлен стартовый экран АРМ Разработчика АВАР/4.
Рис. 8.2. Стартовое окно АРМ Разработчика АВАР/4.
Словарь АВАР/4 — это логическое представление данных, записанных в стандартных физических базах данных, таких, как Oracle, DB2, Informix и т. д. На рис. 8.3 представлен начальный экран словаря.
Рис. 8.3. Начальный экран словаря АВАР/4.
Словарь содержит мета-данные о данных, записанных в таблицах приложений базы данных. Описание мета-данных в словаре имеет два уровня: синтаксический (технический) и семантический (смысловой). Первый уровень относится к объекту «домен», второй — к объекту «элемент данных».