Объектно-ориентированное программирование все шире используется для разработки бизнес приложений.
Однако объектно-ориентированные приложения до сих пор работают с данными, сохраненными в реляционных базах данных.
Различие между объектным и реляционным подходами – одна из главных проблем разработчиков и служб технической поддержки.
Им необходим объектно-реляционный маппинг для доступа к уже существующим данным и управление сохранением данных вообще.
Единственное стандартизированное решение этой задачи – Java Data Object (JDO) (www.lenvendo.ru/public.html#Links),
реализации промежуточного уровня объектно-реляционного маппинга, такие как JDO Genie (www.lenvendo.ru/versant_genie.html,
www.lenvendo.ru/versant_rel.html).
Наличие такого промежуточного уровня дает компаниям-разработчикам огромное количество преимуществ.
Оно значительно увеличивает гибкость бизнес процессов вашей компании.
Этот документ был написан Yphise (www.yphise.com) и переведен компанией Ленвендо (www.lenvendo.ru).
В этой статье подчеркиваются преимущества JDO для бизнеса и для IT компаний, в частности. Желаем вам приятного чтения.
Информация о Versant
Корпорация Versant (NASDAQ: VSNT) лидер рынка программного обеспечения управления данными и открытого доступа к ним
занимает лидирующие положение в области объектно-ориентированных СУБД.
СУБД компании Poet FastObjects, сильной стороной которой являются встраиваемые небольшие приложения,
дополняет ООСУБД Versant VDS, предназначенного для крупномасштабных, высокопроизводительных приложений,
работающих в режиме реального времени. Versant предлагает решения для всех уровней (отраслей) индустрии:
от небольших устройств до больших, промышленных приложений. Новый продукт компании JDO Genie призван послужить
основанием новой линейки прозрачного доступа к данным для платформ Java и .NET, которые используют схожие
инфраструктуру и подход к разработке приложений.
Versant уже показал себя с наилучшей стороны в таких сферах, как телекоммуникации, управление данными,
интеграция в режиме реального времени, правительственные и военные приложения. Приложения,
построенные при помощи Versant, уже используются в огромном количестве индустрий, включая
телекоммуникации, финансовые службы, логистика, обрабатывающая промышленность, оборонная промышленность.
Имея более 5000 инсталляций, за 14 лет работы на мировом рынке, Versant уже стал надежным партнером более
чем 2000 компаний мирового уровня, таких как British Airways, правительство США, Ericsson, Financial Times,
Applied Biosystems, Tyco International, IBM и MCI. Для получения более подробной информации
посетите www.versant.com.
Информация о Yphise
Yphise – компания, занимающаяся аналитикой и консалтингом, абсолютно независимая от любых компаний,
занимающихся продажей программного обеспечения или комплектующих.
Этот отчет подготовлен и опубликован Yphise. Он отражает мнение Yphise на время публикации, основанное на проведенном исследовании.
Информация о Ленвендо
Компания Ленвендо – IT компания, имеющая огромный опыт разработки крупных приложений в сфере автоматизации бизнес процессов.
Компания Ленвендо так же является партнером и официальным дистрибьютором компании Versant по России и СНГ.
Для получения более подробной информации посетите www.lenvendo.com.
Предпринимательство нуждается в приложениях, которые наиболее точно соответствуют бизнес логике.
На сегодняшний день любые деловые операции зависят от IT приложений. При этом бизнес логика становиться все сложнее и сложнее:
сейчас компания должна управлять всем бизнес процессом, а не его частями. Бизнес процессы становятся все более
сложными благодаря давлению конкуренции, партнеров, глобализации, потребности уменьшения времени выхода на
рынок и увеличению заботы о потребностях клиентов. Процессы и приложения становятся все более интегрированными.
Вот почему предпринимательство нуждается в приложениях, которые будут максимально соответствовать их бизнес процессам,
иными словами в процессоориентированных приложениях.
Такие приложения нуждаются в объектно-ориентированном подходе программирования, потому что только объектная парадигма
наилучшим образом подходит для представления структуры и поведения бизнес концепций, отдельных сфер бизнеса и
его существования в целом. Только объектно-ориентированный подход может удовлетворить все сложные потребности и
нужды современного управления бизнес процессами. Большинство IT компаний выбрали Java в качестве
объектно-ориентированного языка разработки. Java имеет большое число преимуществ, таких как кросплатформенность и
доступность ресурсов разработки.
Противоречия между объектно-ориентированным и реляционным подходами приводят к необходимости промежуточного уровня объектно-ориентированного маппинга.
У объектно-ориентированного подхода есть лишь один недостаток – большинство приложений до сих
пор работают с данными, сохраненными в реляционных базах данных. Два этих подхода
(объектно-ориентированный и реляционный) имеют принципиальные отличия: объектно-ориентированный
подразумевает работу с классами и наследуемыми отношениями, а не с таблицами, столбцами и строками,
как реляционный. Управление сохраняемостью данных в объектно-ориентированном приложении – одна из
главных проблем команд разработчиков, т.е. средне- и долгосрочным хранением данных.
Противоречие между этими подходами приводит к появлению проблем. Тесно связанных с
продуктивностью разработки, стоимостью вносимых изменений и скрытой стоимостью права собственности.
Для наилучшего использования всех преимуществ процессоориентированных приложений,
предпринимательству необходим промежуточный уровень объектно-ориентированного маппинга.
Этот промежуточный уровень устраняет противоречия между объектно-ориентированным и реляционным мирами.
Он управляет операциями доступа к данным, хранящимся в реляционной базе данных, из объектно-ориентированного приложения.
Единственная альтернатива этому промежуточному уровню – сохранение объектов в объектной базе данных,
такой как Versant VDS. Это решение направлено на улучшение быстродействия и масштабируемости
объектно-ориентированного приложения.
JDO это стандарт для прозрачного объектно-ориентированного маппинга.
Ниже приведены все возможные решения:
-
Управление сохраняемостью объектов осуществляется из кода приложения.
Этот вариант приемлем только в том случае, если пишется единичное приложение
под конкретного клиента и заранее известно, что оно не будет развиваться в дальнейшем.
В противном случае этот путь ведет к потере ресурсов.
Кроме того, вся работа разработчиков, направленная на управление
сохраняемостью, будет потеряна для будущих проектов.
-
Разработка собственного объектно-реляционного маппинга.
Это стандартное решение большинства современных компаний разработчиков.
-
Разработка собственного объектно-реляционного маппинга.
Это стандартное решение большинства современных компаний разработчиков.
IT компании нуждаются в реализации стандарта JDO (объектно-ориентированный маппинг, поддерживающий стандарт JDO).
-
Компании, которые стремятся к эффективной работе, должны полагаться на готовые
реализации объектно-ориентированного маппинга. Это часть инфраструктуры любой
современной информационной системы. Не существует доводов в пользу разработки
и поддержки собственной реализации объектно-ориентированного маппинга, точно
так же как и в пользу создания своих собственных систем управления базами
данных или серверов приложений. Для IT компаний гораздо разумнее полагаться
на навыки, ресурсы и опыт продавцов программного обеспечения.
-
Основанные на стандартах решения более предпочтительны, чем частные реализации.
Это значительно увеличивает читабельность и долговечность приложения,
а так же уменьшает зависимость от поставщика программного обеспечения.
Знание стандартных решений решает многие задачи, связанные с переобучение
персонала, его тренингами и интеграцией.
Наличие стандарта (т.е. JDO) для объектно-реляционного маппинга может
стать решающим аргументом в пользу выбора языка Java, как объектно-ориентированного
языка разработки бизнес приложений.
Время выхода на рынок в среднем уменьшается на 15%.
Новое процессоориентированное приложение становится
способным удовлетворить всем требованиям современного бизнеса.
Это значительно увеличивает гибкость самого бизнеса.
Прибыль появляется, в основном, из-за уменьшения стоимости и
продолжительности проекта и внедрения (до15%).
Кроме того, разработчики могут сконцентрироваться на решении
бизнес задач, вместо того, чтобы заниматься поддержкой и
развитием собственной технической инфраструктуры. Как правило,
этим занимаются самые опытные разработчики из-за сложности и
критичности этих задач. Дополнительные преимущества появляются
благодаря уменьшению стоимости и продолжительности проекта и внедрения.
Реализация и поддержка собственноручно сделанного
объектно-ориентированного маппинга (или написание отдельной программы, занимающейся маппингом),
требует в среднем 10-15% от общей стоимости разработки проекта.
Увеличение быстродействия происходит в среднем на 12%.
Риск навредить бизнес процессам из-за непригодности или неэффективного
времени быстродействия объектно-ориентированного приложения, уменьшается.
Быстродействие бизнес процессов увеличивается, т.к. работоспособность значительно
возрастает, а время реакции (системы) уменьшается.
-
Работа с данными происходит на промежуточном уровне вместо того, чтобы растягиваться на весь объем кода.
Появляются обширные возможности оптимизации и настройки работы с данными.
-
Все преимущества готовых продуктов промежуточного уровня появляются благодаря опыту разработавших
их специалистов и других пользователей.
В среднем 40% проблем быстродействия объектно-ориентированного приложения вызваны задачей доступа к данным,
т.е. неоптимизированными запросами, плохим управлением инструментами доступа. Использование готовых систем
объектно-ориентированного маппинга позволяет решить до 30% таких проблем. Быстродействие бизнес процессов возрастает на 12%.
Заметно уменьшается зависимость от поставщиков.
Независимость от приложений и систем управления базами данных значительно уменьшает стоимость поддержки.
Объектно-ориентированные приложения могут использовать любую существующую систему: реляционную СУБД,
объектно-ориентированную СУБД или flat file систему для хранения объектов.
Используя реализацию объектно-ориентированного маппинга стандарта JDO, вы вообще отделяете свое
приложение от маппинга. Способ хранения может быть изменен без всякого изменения приложения.
-
Исчезновение зависимости от СУБД дает вам возможность выбора нового поставщика СУБД.
Стратегии поставщиков могут вам не подходить просто потому, что от некоторых из них
нельзя отказаться по техническим причинам. Реализация объектно-ориентированного
маппинга стандарта JDO уменьшает вашу зависимость от стратегии поставщиков.
Поставщикам приходиться становиться более конкурентоспособными, что в свою очередь
приводит к понижению стоимости их продуктов. Это приводит, в среднем, к 5%-му снижению
стоимости СУБД, необходимого вашему приложению. Более точная цифра зависит от статуса
вашего поставщика на рынке СУБД.
-
Так же значительно уменьшается стоимость IT миграции в случае объединения
(слияния или покупки) компаний. Инфраструктура СУБД на которой построено
приложение может быть изменена с меньшими затратами.
Стоимость и продолжительность проектов новых объектно-ориентированных
приложений и поддержки уменьшается на 15%
Системы объектно-ориентированного маппинга стандарта JDO
уменьшают стоимость и продолжительность стадий разработки,
реализации и технических тестов проектов.
-
Стоимость и продолжительность стадии разработки (проектирования)
приложения уменьшаются т.к. объектное моделирование становиться
независимым от моделирования БД.
Разработка классов и объектов становиться независимой от
разработки схемы БД. Без системы объектно-ориентированного
маппинга стандарта JDO как объектная, так и реляционная разработка
“удваивается”, из-за противоречий между объектным и реляционным подходами.
Системы объектно-ориентированного маппинга стандарта JDO позволяют объектным
разработчикам работать независимо от разработчиков БД. Необходимость в специалистах,
обладающих “двойственными” навыками приводит к усложнению управлением проектом из-за
разногласий между персоналом и сложности совместной работы. Стоимость и
продолжительность этой стадии проекта уменьшается в среднем на 20%. Стоимость
разработки составляет приблизительно 20% от стоимости всего проекта в целом.
Стоимость и продолжительность каждого объектно-ориентированного проекта уменьшается
приблизительно на 4%, как результат сокращения стоимости этапа разработки.
-
Стоимость и продолжительность этапа реализации объектно-ориентированного
приложения уменьшается, поскольку проблемы доступа к данным и их сохраняемости
разрешены. Объем необходимого кода уменьшается. Возрастает читабельность кода и
легкость его изменения. Код становиться объектно-ориентированным: теперь он не
содержит SQL выражений.
Стоимость этого этапа обычно составляет 30% от общей стоимости проекта.
Стоимость реализации пропорциональна общему объему кода. Управление доступом
к данным и прозрачной сохраняемостью может составлять до 40% общего объема
кода объектно-ориентированного приложения. Система объектно-ориентированного
маппинга стандарта JDO уменьшает объем кода до 80%. Продолжительность и
стоимость каждого объектно-ориентированного проекта уменьшается на 10% в
результате преимуществ, полученных на этапе реализации.
-
Стоимость и продолжительность стадии технического тестирования уменьшаются
по причине значительных улучшений быстродействия приложения.
Проблемы быстродействия уменьшаются на 12% (это уже было показано ранее).
Как правило, технические тесты составляют 30% от общего количества тестов,
которые составляют в среднем 35% от общей стоимости проектов. В результате
продолжительность и стоимость всего проекта уменьшается на 1% в результате
преимуществ, полученных на стадии технических тестов.
Стоимость и продолжительность технической поддержки, необходимой для
удовлетворения потребностей современного бизнеса, уменьшается на 15%.
Стоимость outsource объектно-ориентированного
программирования и технической поддержки уменьшается приблизительно на 32%.
Если outsource программисты используют какую-то определенную систему
объектно-ориентированного маппинга стандарта JDO, то они уже не включают
в стоимость проекта стоимость их собственной системы объектно-ориентированного
маппинга промежуточного уровня. А это в свою очередь может составлять до 40%
общей стоимости проекта. Система объектно-ориентированного маппинга стандарта
JDO снижает эту сумму на 80%.
Так же вы можете выбрать любых outsource программистов, умеющих работать со стандартом JDO.
JDO – единственный стандарт объектно-ориентированного маппинга.
JDO устраняет зависимость от outsource программистов.
Стоимость инфраструктура уменьшается, в среднем, на 10%.
Приложение становиться независимым от инфраструктуры управления базой данных.
Необходимо лишь изменение параметров при изменении СУБД, а не изменения
в коде и серьезная техническая поддержка. Стоимость смены СУБД значительно
уменьшается. Все это уменьшает стоимость инфраструктуры на 5%.
Настройки для технической оптимизации приложения сосредоточены
на промежуточном уровне. Это предоставляет большие возможности по оптимизации
масштабируемости и быстродействия приложения. Системы объектно-ориентированного
маппинга стандарта JDO воплощают быстродействие, основанное на опыте их разработчиков
и многочисленных клиентов. IT компаниям больше не нужно инвестировать свои ресурсы в
направления оптимизации приложений. Это уменьшает потребность в ресурсах для достижения
необходимого уровня работоспособности. В результате стоимость инфраструктуры
уменьшается еще на 5%.
Одно и то же приложение может работать с различными системами хранения данных,
в зависимости от потребностей масштабируемости.
К примеру, какое-то конкретное приложение (без каких-либо изменений в коде)
может работать как с высокопроизводительной базой данных, так и с небольшими
встраиваемыми flat file системами, предназначенными для небольших устройств.
Маппинг является внешним по отношению к приложению.
Стоимость обучения персонала (разработчиков) снижается на 15%.
Разработчикам достаточно специализации только в одной области, т.е.
появляется строгое дифференцирование Java разработчиков и SQL.
Объектно-ориентированные разработчики должны учиться работать со
стандартными методами разработки приложений на Java (т.е. JDO),
стоимость обучения этому гораздо меньше, чем, к примеру каждый раз
какому-то конкретному приложению. Более того, обучение стандартам может
быть outsource.
В результате, стоимость обучения разработчиков уменьшается на 15%.
Versant JDO
Компания Versant предлагает широкий спектр продуктов, для управления сохраняемостью объектов и доступом к данным.
-
FastObject j2: Состоящая всего из 450 Кбайт байт-кода на Java и репликационных
функций FastObjects, среда j2 является лучшим выбором для разработчиков, желающих быстро
реализовать новые идеи в самых миниатюрных устройствах. FastObjects j2 разработана для
обеспечения максимальной надежности и реализована полностью на Java (не имеет программного
интерфейса на C++). Среда работает на виртуальных машинах Java реального времени.
(www.lenvendo.ru/versant_j2.html)
-
FastObject t7: оптимизирована для параллельного доступа нескольких клиентов
и обеспечивает администрирование данных большого количества пользователей в крупных компаниях.
Скорость и надежность – ключевые факторы в производстве. Назначение FastObjects t7 –
в считанные секунды заменить вышедший из строя сервер.
(www.lenvendo.ru/versant_t7.html)
-
FastObjects .NET: С созданием FastObjects .NET Versant переносит
зарекомендовавшую себя модель прозрачного управления данными на платформу Microsoft .NET.
Полная интеграция со средой разработки и понятный программный интерфейс позволяют хранить
объекты .NET без преобразования и потери времени.
(www.lenvendo.ru/versant_net.html)
-
Versant Developer Suite (VDS) 6.0: объектная база данных 6-ого поколения.
Она призвана упростить разработку и увеличить производительность в сложных, распределенных,
разнородных сетевых окружениях. В корпорациях, где приложения создаются на Java/JDO или
C++, внедрение VDS ускоряет выпуск продуктов на рынок и упорядочивает управление данными.
(www.lenvendo.ru/versant_ds.html)
-
JDO Genie: Если вам как архитектору ПО или разработчику удобнее всего оперировать
SQL в проектировании приложений, JDBC поможет вам в работе. Однако если вы пользуетесь
объектами и создаете объекты Java, представляющие сущности вашей предметной области,
вам потребуется уровень доступа к данным (объектно-реляционный уровень, или уровень
сохраняемости) поверх JDBC. JDO – это единственный стандарт, обеспечивающий сохраняемость
для объектов Java. JDO для VDS является надстройкой над языковым интерфейсом JDO и расширяет
его функциональные возможности тем, что предоставляет отделам разработчиков на Java контроль
над объектной базой данных Versant (VDS), доказавшей свою высокую производительность и
масштабируемость. Использование объектной базы данных Versant в качестве низкоуровневого
хранилища данных позволяет добиться традиционных преимуществ продуктов Versant: высокой
производительности и гибкости. По вопросам приобретения обращайтесь к торговым представителям
Versant.
(www.lenvendo.ru/versant_genie.html)
Versant предлагает свой опыт, реализацию стандарта JDO и для построения самой подходящей бизнес модели.
Versant имеет огромный опыт в сфере разработки продуктов управления данными для
объектно-ориентированных приложений, и на сегодняшний день лидирует в этой области
на протяжении 14 лет. Список продуктов, реализованных с помощью JDO Genie, включает
в себя все области современного бизнеса (т.е. финансы, био- и медицинские технологии,
телекоммуникации, IT, правительственные и военные организации, тяжелая и легкая промышленности,
розничная торговля). Стоимость зависит только от количества разработчиков, и абсолютно не зависит
от количества приложений, которое вы разработаете.
Versant принимает активное участие в разработке стандарта JDO 2.0
Versant является членом сообщества по разработке стандарта JDO 2.0.
Этот факт гарантирует соответствие стандарту на протяжении всего жизненного
цикла его реализации. Текущая версия JDO уже содержит предварительные черты
JDO 2.0, т.е. attach/detach, группировка (соединение) в запросах, поддержка SQL запросов.
JDO предоставляет разработчикам все описанные в этом документе преимущества работы со стандартом JDO.
JDO это стандарт, который может быть реализован различными путями. Преимущества, которые предоставляет JDO, зависят от его конкретной, выбранной вами реализации. Как уже было сказано в самом начале, мы рекомендуем положиться на навыки и ресурсы специалистов в области объектно-реляционного маппинга, вместо того, чтобы разрабатывать подобную систему своими ресурсами.
-
Поддержка Серверов Приложений и различных СУБД. JDO Genie поддерживает почти все существующие СУБД (Oracle, DB2, Microsoft SQL Server) и сервера приложений J2EE. Были проведены специальные тесты, доказавшие совместимость с перечисленными системами. Количество поддерживаемых СУБД постоянно увеличивается. Сервера приложений поддерживаются при помощи Java Connector Architecture (JCA).
-
Управление маппингом может быть осуществлено при помощи специальных интерфейсов, имеющихся в JDO Genie. Это позволяет более тонко настроить работу приложения.
-
Быстродействие. JDO Genie имеет возможность кэширования объектов и запросов. Так же поддерживается распределенный кэш. Разнообразные консоли, имеющиеся в Versant JDO Genie, позволяют тонко управлять стратегиями маппинга. Все это дает неограниченные возможности настройки и оптимизации сохраняемости данных. Более того, имеется механизм продвинутого управления блокировками.
Все вышеперечисленные продукты вы можете скачать с сайта http://www.lenvendo.ru/download.html