![]() |
Модераторы: korob2001, ginnie |
![]() ![]() ![]() |
|
BlackLFL |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 263 Регистрация: 15.9.2005 Где: Москва Репутация: 8 Всего: 12 |
Добрый день, уважаемые посетители!
Последнее время, я редко появлялся на форуме, был полностью погружен в написание платформы для создания web-приложений, получившую название BlackFrameWork. ( Чтобы прочитать последнею версию, пройдите по ссылкам. ) Краткое описание BlackFrameWork - это открытая ( open source ) разработка, позволяющая программистам создавать Web-приложения имея под рукой готовую базовую структуру программы, все компоненты которой разработаны применяя подход ООП ( Object-Oriented Programming ). Принцип взятый за основу разработки, минимум кода на выходе, гарантирует снижение затраченного времени на изучение нашего продукта. Некоторые основные особенности BlackFrameWork:
Структура платформы, способна развиваться до неограниченной вложенности, использовать различные шаблоны отображения данных на нескольких языках. Регистрация, аутентификация, пользователей. Вы можете использовать пакет расширения для работы с пользователями лишь для уже реализованных в нем минимальных нужд, все остальные надстройки Вы можете разрабатывать в своих модулях, наследуя базовый ( принцип наследования в ООП ). Аутентификация на основе сессий, что позволит избавиться от разработки механизма передачи данных. Разграничение доступа к любым компонентам платформы. Доступ может быть предоставлен как к целому объекту, так и к его любому компоненту ( методу ). Например, метод read_application модуля Application считывает данные из таблицы applications, мы можем дать группе пользователей или конкретному пользователю привилегию select к таблице applications, что предоставит ему возможность считывать данные из этой таблицы через метод Application::read_application(). Разработка интерфейса ( шаблона отображения данных ) полностью отделена от кода. Программист подготавливает XML данные, а дизайнер/верстальщик использует XSL шаблоны для преобразования полученных данных в пригодный для восприятие вид, например, в HTML. По умолчанию, преобразование происходит на стороне сервера, используя наиболее мощную библиотеку на сегодняшний день libxml2, что позволяет отображать данные на устройствах не поддерживающих XML&XSL, например, некоторые модели сотовых телефонов. О проекте Истоки разработки были положены в 2004 году, когда появилась необходимость создания некой программы, которая поддерживала бы крупный web портал и все его сервисы. В 2005 году наработки были использованы в интранет проекте, где немного модернизированное ядро поддерживало документ оборот одной из фирм. Постепенно, в 2007 году была начата разработка отдельного проекта под названием BlackFrameWork на базе уже существующего ядра, что позволило избежать многих ошибок допущенных в прошлом, и выявленных в течение последних 3 лет. Зарождению планов разработки отдельного проекта, подвигло некое отчаяние, которое появлялось всегда, когда необходимо было начать новый проект, что приводило к серьезному изменению структуры ядра, т.к. многие его компоненты были нужны только для прошлого проекта, и мешали в новом. Хотелось создать платформу, которая включала минимальный набор инструментов необходимый для любого web ( интернет/интранет ) приложения, что избавило бы от затрат на проектирование базовый структуры, а все силы были брошены на реализацию поставленных задач в новом проекте. 12 марта 2008 года был выпущен первый релиз! Данная разработка поддерживается энтузиастами, в любой момент Вы можете принять участие и помочь проекту, стать одним из разработчиков, для этого достаточно проявить интерес и написать нам на почту. От себя ... В ближайшее время, будет релиз базового пакета с поддержкой базы данных Oracle. Хотелось бы услышать Ваши отзывы, рекомендации, пожелания по работе платформы. Если кому интересно, можете присоединиться! Заранее благодарен за любые комментарии! Это сообщение отредактировал(а) BlackLFL - 22.3.2008, 11:20 |
|||
|
||||
ginnie |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1287 Регистрация: 6.1.2008 Где: Москва Репутация: 38 Всего: 49 |
Уважаемый BlackLFL, одним из основных критериев ПО для "крупного web портала" является не простота разработки, а скорость выполнения. Можно увидеть цифры для разрабатываемой платформы?
-------------------- Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям. (Мартин Фаулер. Рефакторинг) |
|||
|
||||
BlackLFL |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 263 Регистрация: 15.9.2005 Где: Москва Репутация: 8 Всего: 12 |
Разработка, тем более крупная, не может быть реализована просто и быстро, данный процесс должен проходить комфортно для разработчика(ов), что позволит увеличить скорость и сократить сроки. BlackFrameWork преследует как раз цели. Из Вашего поста, к сожалению, не смог понять, какие именно цифры Вас интересуют. |
|||
|
||||
arto |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1495 Регистрация: 31.10.2004 Репутация: 38 Всего: 40 |
скорость отдачи контента, например.
т.е. например, статистику ab неплохо опубликовать. |
|||
|
||||
BurnerCode |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 28.2.2008 Где: Беларусь Репутация: нет Всего: нет |
nice release =)
|
|||
|
||||
AlexPet |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 93 Регистрация: 5.12.2007 Где: Брянск Репутация: 1 Всего: 1 |
||||
|
||||
BlackLFL |
|
||||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 263 Регистрация: 15.9.2005 Где: Москва Репутация: 8 Всего: 12 |
ginnie, я Вас не так понял, двоякий смысл предложения был, спасибо arto подсказал.
Все тесты выполнялись на следующей машине, при 100% загрузки процессора
Параллельно загружена база данных oracle и работают несколько приложений. Тест 1. Загрузка только библиотек, подключаемых в исполняемом файле, без обработки запроса. ab -n 1000 -c 10 http://bfw/mysql/
Тест 2. Загрузка библиотек, подключаемых в исполняемом файле, обработка запроса. ab -n 1000 -c 10 http://bfw/mysql/
Тест 3. Загрузка библиотек, подключаемых в исполняемом файле, обработка запроса, загрузка и обработка шаблона (xml&xsl). ab -n 1000 -c 10 http://bfw/mysql/
Мне кажется приемлимо на таком компьютере... на более мощном компьютере скорость отдачи была выше, статистику приведу позже. 2AlexPet, спасибо, конечно имелось ввиду именно это, когда читаешь одно и тоже днями, перестаешь замечать ошибки ![]() |
||||||||
|
|||||||||
ginnie |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1287 Регистрация: 6.1.2008 Где: Москва Репутация: 38 Всего: 49 |
BlackLFL, большое спасибо за совершенно бесполезные результаты тестирования!
Windows XP + 100% загрузка процессора + 40% используемого свопа + 1000 Non-2xx responses в части тестов это как раз то, о чем я спрашивал! -------------------- Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям. (Мартин Фаулер. Рефакторинг) |
|||
|
||||
BlackLFL |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 263 Регистрация: 15.9.2005 Где: Москва Репутация: 8 Всего: 12 |
2ginnie, как я упоминал выше, статистику с другого компьютера предоставлю позже, вчера под рукой был только этот ...
п.с. мне кажется, такая статистика тоже о чем-то говорит, в частности, что даже при таких нагрузках результат более менее приемлемый ![]() |
|||
|
||||
nitr |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2543 Регистрация: 10.2.2006 Где: Россия :) Репутация: 37 Всего: 84 |
BlackLFL, ginnie, по возможности (для сравнения) надо выложить тесты и с другими фреймворками
![]() Раз уж тут тесты пошли... Лично понравилась разработка, хочу затестить на нескольких проектах, проверить, помочь, чем смогу ;) P.S.: А потом эти данные можно выложить на своём ресурсе в виде графиков... |
|||
|
||||
Itsys |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1338 Регистрация: 21.1.2008 Где: г. Москва Репутация: 2 Всего: 34 |
Разработка хорошая, но Аутентификацию в своем проекте я уже сделал, да и нет поддержки MS SQL
![]() |
|||
|
||||
Ramirez |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 305 Регистрация: 18.1.2005 Где: Moscow, ExUSSR Репутация: 4 Всего: 5 |
мне кажется, что если планируется хоть какая-то более-менее серьезная нагрузка, то сайт на перл должен работать только из-под mod_perl. Как с этим?
|
|||
|
||||
BlackLFL |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 263 Регистрация: 15.9.2005 Где: Москва Репутация: 8 Всего: 12 |
Если есть желание, можешь реализовать поддержку MSSQL.
Появится в первом обновление, сейчас проходит последние тестирование под Apache 2.2.x Это сообщение отредактировал(а) BlackLFL - 27.3.2008, 17:18 |
||||
|
|||||
fray |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 139 Регистрация: 7.6.2007 Репутация: 0 Всего: 0 |
Слышал про Catalyst наверно и вы тоже слышали, чем этот фреймворк отличается от него.
Это сообщение отредактировал(а) fray - 28.3.2008, 22:27 |
|||
|
||||
BlackLFL |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 263 Регистрация: 15.9.2005 Где: Москва Репутация: 8 Всего: 12 |
Очень интересный вопрос, спасибо! Досконально сравнивать эти проекты нет смысла, они преследуют похожие цели, но по своему отличаются, Catalyst достаточно старая разработка, включающая десятки готовых решений. Думаю главное отличие, в своем проекте, я полностью исключаю привязку к моей структуре. Разработчику нет необходимости изучать сотни новых методов, в своем распоряжение он имеет разобранные данные, например, POST/GET/COOKIE, и работает с ними по своему усмотрению, применяя свои собственные модели. Вторым, является готовый web интерфейс для управления ядром платформы, пользователями, ролями, конфигурационным файлом, пакетами расширений, процессом инсталляции. Для нашего сегмента пользователей, документация, техническая поддержка на русском языке. |
|||
|
||||
nirburg |
|
|||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 20.3.2008 Репутация: нет Всего: 1 |
BlackLFL, многообещающий фреймворк
![]() по коду есть одно замечание. в модулях Black::CGI (строка 483) и BlackFrameWork::Kernel (строка 312) метод receive_file, на мой взгляд, все-таки должен называться recieve_file. не суть важно, конечно, но глазу так значительно приятнее ![]() |
|||
|
||||
BlackLFL |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 263 Регистрация: 15.9.2005 Где: Москва Репутация: 8 Всего: 12 |
2nirburg, спасибо за поправки и отзыв!
Мне все-таки кажется, receive как раз правильно написано, recieve такого слова ведь нет в английском языке?! Это сообщение отредактировал(а) BlackLFL - 3.4.2008, 11:10 |
|||
|
||||
KSURi |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 887 Регистрация: 8.6.2006 Где: Russia Репутация: 20 Всего: 27 |
BlackLFL, вам правильно кажется
-------------------- Died at Life.pl line 21 |
|||
|
||||
nirburg |
|
|||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 20.3.2008 Репутация: нет Всего: 1 |
BlackLFL, прошу прощения, вы правы
![]() |
|||
|
||||
tishaishii |
|
|||
![]() Создатель ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1262 Регистрация: 14.2.2006 Где: Москва Репутация: 4 Всего: 8 |
А что предлагается нового в данной разработке?
Аутентификация? В том числе идентификация служит для персонализации (о как!). И где мы этого не видели? Разграничение доступа? Она же связана с предыдущим - персонализация на уровне ролей. Разделение дизайна от данных и обработки? Ну это вообще классика. Для чего мне использовать этот самый набор модулей? Что я получу? |
|||
|
||||
BlackLFL |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 263 Регистрация: 15.9.2005 Где: Москва Репутация: 8 Всего: 12 |
Обновление платформы!
Перво-наперво, хотелось поблагодарить людей, которые присылали отзывы, тестировали платформу, спасибо! Главное изменение, добавлена поддержка mod_perl/mod_perl2, включить можно без затруднений из панели управления. Добавлен новый пакет BlackFrameWork::BlackMembers, содержащий минимально необходимые методы для работы с пользователями, которые раньше были вшиты в пакет расширения BlackFrameWork::Members, что затрудняло обновление пакета расширения и могло в будущем привести к потери данных внесенными разработчиками. Полный список изменений читайте в разделе "Список изменений". 2tishaishii, отвечаю с задержкой, был в командировке, и vмог общаться только по почте, на форум доступа не было :(
Что-то новое трудно изобрести ( но мы движемся в этом направление ), наша задача дать разработчикам отлаженные инструменты разработки, которые оттестированы на разных платформах, и мы надеемся будут работать устойчиво при больших нагрузках. Конечно все, что предлагается, уже реализовано, но так сложилось, что платформ написанных на Perl, которые выложены в свободный доступ очень мало, либо они настолько громоздки, 90% ненужных функций вшитые в ядро, что отбивает любое желание их использовать, например, Catalyst. Для многих большим плюсом будет, документация, написанная на русском языке, удобный WEB интерфейс управления платформой. Как я уже упоминал, данная разработки включает в себя тот минимум, который необходим для создания любого WEB приложения, никакие лишние разработки никогда не будут включены в базовый пакет. Что Вы получите? Я думаю, и надеюсь, удобный инструмент разработки, с подробной документацией описывающей не только суть платформы и модулей, а так же исходники. Мы изначально держим путь использования только признанных технологий, стандартов, например, XML&XSL(T). |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Perl" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Perl: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |