BlueBream — обзор open source фреймворка для Python

Доброго времени суток, читатели. Данная статья познакомит Вас с одним из фреймворков для языка программирования Python. BlueBream — фреймворк с открытым исходным кодом, используемый в веб-разработке. Произведён корпорацией Zope. Более того, является преемником Zope 2 и ранее сам BlueBream был известен под названием Zope3. Данный фреймворк прекрасно подходит для средних и крупных проектов, подразделённых на множество взаимозаменяемых компонентов. Официальный сайт Bluebream

Краткий экскурс в историю: как зарождался BlueBream

Началось всё в далёком в 1996 году. Джим Фултон, технический директор компании "Digital Creations", на международной конференции IPC делал доклад о CGI («общий интерфейс шлюза») — стандарт интерфейса, используемого для связи внешней программы с веб-сервером), который именовался "Python и программирование в сети Интернет". Джим считал CGI недостаточно практичным решением, и потому придумал лучший способ программирования на Python. Легенда гласит, что Фултон изучал CGI летя в самолете на конференцию, а затем, на обратном пути, спроектировал Bobo.

Тогда с подачи Digital Creations свет увидели три открытых Python пакета: Bobo, Document Template, и Bobopos. Эти пакеты — веб публикатор, движок шаблонов, и объектная база данных стали ядром Principia — коммерческого сервера приложений. В ноябре 1998 года, инвестор Хадар Педхазур убедил Digital Creations сделать Principia открытым. Эти пакеты развились в компоненты ядра фреймворка Zope 2, а а компания получила новое имя — Zope Corporation.

С тех пор Zope пребывал постоянной разработке, развиваясь наперегонки с тем, как сообщество набиралось опыта, всегда стараясь найти баланс между мощностью фреймворка и простотой его эксплуатации. В Zope 2 внимание акцентировали на быструю разработку, а компонентная архитектура Zope, которая является базой для Zope 3, делает упор на модульность и адаптивность настроек. Именно эти свойства получили спрос у “корпоративных” приложений, поскольку их важнейшие требования — масштабируемость и гибкость.

На сегодняшний день Zope 3 известен как BlueBream. Это название вытекает из схожести произношения. Z Object Publishing Environment, читаемый как Zope — это наименование вида рыбы. Blue bream (пер. - голубой лещ) — альтернативное название этого вида.

Международная команда опытных программистов активно совершенствует BlueBream.

Почему стоит выбрать BlueBream? Преимущества и отличительные черты фреймворка

Приведём ряд особенностей, которые отличают BlueBream от других Python фреймворков для веб-разрабокти.

  • Данный фреймворк создан на базе Zope Tool Kit (ZTK), подкреплённом многолетним опытом, который успел доказать, что соответствует требованиям к разработке стабильного, масштабируемого ПО.
  • Использует мощную систему сборки.
  • Использует Zope Object Database (ZODB) — транзакционную объектную СУБД, которая предоставляет простой путь к реализации хранения данных.
  • Регистрирует компоненты с помощью Zope Component Markup Language (ZCML) — языка конфигураций, основанного на XML, который предоставляет безграничную гибкость.
  • Также может регистрировать компоненты используя GROK, который заменяет декларативную конфигурацию ZCML на соглашения и объявления в стандартах Python.
  • Обладает компонентной архитектурой Zope (ZCA), которая реализует принцип разделения задач для создания связываемых повторно используемых компонентов (zope.component).
  • Реализует Python Web Server Gateway Interface WSGI используя Paste, PasteScript, и PasteDeploy.

Отдельно стоит уточнить, что BlueBream содержит немало хорошо оттестированных компонентов для обеспечения общих нужд. Среди них:

  • zope.publisher — публикует Python объекты в веб, уделяя внимание совместимости с WSGI
  • zope.security — обеспечивающий общий механизм подключаемых политик безопасности
  • zope.testing и zope.testbrowser — помогают для unit- и функционального тестирования
  • zope.pagetemplate — XHTML-совместимый язык шаблонов
  • zope.schema — движок схем
  • zope.formlib — инструмент для автоматической генерации форм

Установка и простой проект BlueBream

Для начала установим Python версии 2.4 или выше. Также нам потребуется Distribute или Setuptools. Однако я предпочитаю установку через PIP, таким образом появляется возможность деинсталляции и переустановки модулей. Также необходимо установить компилятор языка C (GCC), иметь доступ в интернет, чтобы подключиться к PyPI, для загрузки сборщика и сборки приложения с помощью Buildout.
Доступ в интернет не обязателен при сборке, если используется пакет zc.sorcerelease.

После того как Вы установили Python, не забудьте изменить переменные среды и проверить успешность установки в командной строке посредством ввода команды "python". Установите PIP. Далее войдя в командную строку используйте следующую команду:
pip install bluebream
В результате Вы установите сам фреймворк и другие необходимые для него пакеты (Paste, PasteDeploy, PasteScript). Вывести список установленных пакетов можно следующей командой:
pip list
Команда для отображения устаревших пакетов:
pip list --outdated
Команда для обновления устаревшего пакета:
pip install package-name --upgrade
Команда для полной переустановки пакета:
pip install package-name --upgrade --force-reinstall
Команда для удаления пакета:
pip uninstall package-name

Для создания простого проекта вводим команду:
paster create SampleProject
Данная команда запустит мастер установки, нужно всего лишь ввести данные о проекте, а после можно реализовать сборку.

Практическое применение фреймворка Bluebream

К сожалению, как на русскоязычных, так и на иностранных ресурсах число информации о проектах, выполненных на данном фреймворке, а также обучающих пособий по нему невелико, к счастью, один пример удалось сыскать.

Bluebream использовался при создании системы электронного документооборота NauDoc. На сайте ранее было указано, что данная система некоторое время была в эксплуатации ОАО Далькомбанк, и в неё были введены около 1000 пользователей. Вскоре банк отказался от данной системы в виду её непригодности для решения необходимых задач и многочисленных технических неисправностей.

Как видите, BlueBream не пользуется популярностью, но именно Вы можете её принести, реализовав свой уникальный проект. Чтоб найти для себя идеально подходящий фреймворк попробуйте поработать в нём на практике и сравнить с аналогами. Перечень возможностей и общая концепция BlueBream, упомянутые ранее, сами по себе являются мотивацией для его тестирования. На том и закончим, желаю Вам максимально скоро определиться с комфортным для вас фреймворком и достигнуть высшего уровня мастерства разработки на языке Python.

Читайте также:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *