• Автор:

    Flesha
  • Добавлено:

    ноя 17, 2014
  • Комментариев:

    0
  • Просмотров:

    1 668

Oro Platform - Бизнес платформа приложений

Oro Platform - Бизнес платформа приложений

На днях состоялся релиз молодой open source платформы Oro Platform (BAP). К сожалению, данное событие не было высветлено в русскоговорящей части интернета, поэтому хотел бы с вашего позволения восполнить данное упущение. Эта статья имеет обзорный характер, так как является вступлением в цикл публикаций о платформе.

BAP(Business Application Platform) — грозное название, платформа для разработки бизнес приложений. Думаю, что каждый из нас сталкивался с тем, что во время реализации той или иной задачи, замечаешь ее сходство с уже существующей с аналогичной функциональностью сервиса/программы, которую вы когда-либо использовали. Так бы и хотелось взять вот этот кусочек приложения к себе, немного подпилить и voila! С этой целью и было принято решение сделать платформу, используя которую можно по максимуму сконцентрироваться на разработке бизнес домена приложения, а рутинные задачи возложить на ее плечи.

Хотелось бы для начала сказать пару слов о том, кто стоит у истоков разработки данного продукта, дате его рождения, о мотивации, перспективах и уже достигнутых успехах.

Стек технологий

Исходя из success story Magento, выбор пал на PHP. Можно долго спорить о преимуществах и недостатках этого языка, но один факт, который трудно оспорить — его популярность. Вот полный список используемых технологий:

- PHP 5.4.9 +
- Composer
- Symfony2 full stack
- Doctrine2
- Twig
- MySQL + PostgreSQL
- jQuery
- BackboneJS + ChaplinJS
- RequireJS
- nodeJs (для минификации JS)
- Ratchet WebSocket Server
- Bootstrap 2.3
- LESS

Выбор инструментов производился по основным критериям: наличие и полнота документации, сообщество и развитие, наличие stable и LTS версий.

Список получился довольно пестрый, многих ветеранов php заставляет прийти в тонус. К сожалению, нельзя сказать, что все инструменты в данном списке идеальны. Из основных проблем хотелось бы отметить: не всегда легко расширяемый дизайн doctrine, прожорливость composer (сейчас на update уходит > 1.2 GB памяти), вольности BackboneJS (в последствии чего был добавлен ChaplinJS и сделан серьезный research AngularJS).

На данный момент платформа насчитывает 54 бандла и 2 компонента.

- UserBundle — авторизации пользователя, менеджмент пользователей системы, пользовательских групп
- DashboardBundle — менеджмент пользовательских dashboard, предоставляет абстракию для написания собственных виджетов
- DataGridBundle — визуализация данных в виде сетки, возможность производить действия с каждой записью либо с несколькими записями, экспорт отображаемых данных
- FilterBundle — предоставляет набор фильтров которые можно использовать в системе, предоставляет интерфейс для написания собственных фильтров
- ImportExportBundle — предоставляет абстракцию для написания импорт/експорт функционала, имеет набор основных reader/writer из коробки
- RequireJSBundle — интегрирует RequireJS в симфони приложение, предоставляет возможности конфигурации данного загрузчика
- ThemeBundle — предоставляет поддержку тем для декорирования внешнего вида приложения
- TrackingBundle — предоставляет функционал отслеживания поведения пользователя на сайте, основан на JS части Piwik
- TagBundle — предоставляет возможность добавления тегирования для любой doctrine сущности
- ConfigBundle — предоставляет функционал деревьев конфигураций, а так же уже поставляется с готовым деревом system configuration
- ChartBundle — предоставляет абстракцию для визуализации данных в виде графика, интеграция с Flotr2
- FormBundle — содержит набор полезных форм компонентов
- MigrationBundle — предоставляет механизм миграции схемы и данных
- CronBundle — обертка над JMSJobQueue добавляющая возможность запуска периодичных задач по расписанию
- DataAuditBundle — логирование изменений данных, версионирование данных
- LocaleBundle — локализация приложения, содержит набор форматеров для использования как на PHP так и на JS части
- SearchBundle — абстракция для написания поисковых механизмов, содержит движок для MySQL и PostgreSQL
- ReportBundle — визуальный редактор отчетов
- …. и т.д. подробнее в последующих статьях

dle
Вернуться
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.