1С-Битрикс: Управление сайтом Версия .NET Сергей Рыжиков Генеральный директор «1С-Битрикс» Почему .NET? Наряду с PHP это самая перспективная платформа разработки веб-решений. Наша задача как поставщика технологий – предоставить партнерам (разработчикам интернет-проектов) решение для обеих платформ: Windows и Unix. Разработку .NET версии программного продукта «1С-Битрикс: Управление сайтом» выполняет компания «Битрикс», сертифицированный партнер корпорации «Майкрософт». 1С-Битрикс: Управление сайтом .NET • Планируемая дата выпуска: апрель 2008 года • Платформа: ASP.NET 2.0 • Язык программирования: C# • База данных: MSSQL 2005 • Дополнительные требования: Microsoft Ajax 1.0 • Размещение на хостинге: не ниже medium trust • Поддерживаемый виртуальный хостинг Основные преимущества .NET версии • Комплексное решение бизнес-задач • Многосайтовость • Безопасность • Удобный и понятный интерфейс • Упрощенная интеграция с дизайном, шаблоны • Динамические программные компоненты • Технология обновлений SiteUpdate • Среда для разработки индивидуальных решений (FrameWork) .NET платформа разработки веб-приложений Архитектура продукта Публичный раздел Административный раздел Главный модуль, модули, API База данных, файловая система, права доступа Управление всеми модулями, автоматическое обновление Модульность, API, CMF • Модули представляют собой независимые сборки (dll), файлы ресурсов (стили, картинки), страницы для административного раздела, компоненты (ascx). Также модуль может иметь свою структуру в БД. • Все страницы сайта и компоненты написаны с использованием API. Работа с БД напрямую запрещена – доступ к данным только через API модулей. • Обмен информацией между модулями происходит при помощи системы команд (событий). • При обновлении происходит модификация только файлов продукта, при этом API функции остаются совместимы, поэтому обновление происходит без последствий для публичной части сайта. Публичный раздел • Структура сайта находится в физических файлах и папках – статика • Страницы – обычные ASPX и могут содержать код (обычно вызов компонентов) • Динамический контент (новости, каталог) выводится компонентами из модулей (информационные блоки) Локализация, языки • Кодировка UTF-8, возможность настроить форматы дат и времени для каждого языка. • Использование нескольких языков в административном разделе. • Поддержка нескольких языков для компонентов. • Штатная поддержка двух языков - русский и английский • Возможность перевода на другие языки (интерфейс перевода), скачивание новых языков через систему обновления. Многосайтовость, языки, шаблоны сайтов • Неограниченное число сайтов – единая БД (пользователи, совместная динамическая информация), различные статические файлы, внешний вид. • Текущий сайт определяется по URL-у: домен/папка. • Для текущего сайта из его настроек определяется язык. • Также из настроек сайта определяется шаблон сайта (master page и шаблоны представления компонент). На выбор шаблона могут оказывать влияние дополнительные параметры (параметр в ссылке, права доступа или временной интервал). Дополнительные инструменты • Почтовые шаблоны – возможность отправить E-Mail сообщение для любого системного события произвольного вида (например, регистрация пользователя) . • Планировщик задач – запуск необходимого программного процесса в заданное время (очистка устаревших данных). • Журнал событий (основанный на провайдерах) • Единая обработка адресов для ЧПУ (SEO) Аутентификация • Основана на провайдерах • Возможность добавить свой провайдер • BXIdentity FormsIdentity GenericIdentity ... BXIdentity Авторизация Роли Менеджер каталога Админстр. каталога Задачи Администр. ИБ Управление ИБ Операции Управл. элементами ИБ Управл. структурой ИБ Измен. ИБ • Основана на ролях и операциях • Разрешение выполнять определенные операции • Роли основаны на провайдерах Компоненты • Составные блоки сайта: компонент новостей, компонент каталога, компонент поиска и т.д. • Разделение логики (компонент) и представления (шаблон компонента) • Компонент лежит в отдельной папке и может содержать ресурсы • Многостраничные компоненты Разделение логики и представления • Компонент представляет собой логику, шаблон компонента представление Компонент (логика) Шаблон 1 Шаблон 2 Шаблон 3 ... • Компонент может иметь неограниченное число шаблонов Многостраничные компоненты • Список каталогов • Набор взаимосвязанных страниц, представляющих собой единый смысловой блок (каталог, форум, блоги) Недостатки реализации с помощью обычных компонентов: • Группы товаров каталога Каталог Товары группы товаров • • • • Товар Фильтр приходится создавать множество страниц для размещения компонентов приходится настраивать свойства каждого из компонентов (в том числе пересекающиеся) связи между компонентами либо жестко зашиты в код компонентов (что не универсально), либо сложны для настройки нет возможности автоматически добавить новую страницу в смысловой блок (в публичной части) Недостатки реализации одним большим компонентом • • нет возможности использовать составные части по отдельности дублирование кода Контроллер MVC Controller View Model • Model представляет собой данные и бизнес-логику, отвечает на запросы View. Это ядро (API) системы. • View выводит данные пользователю, запрашивает данные у Model, посылает действия пользователя в Controller (HTTP запрос). Это обычные компоненты. • Controller на основании действий пользователя и ответа Model выбирает соответствующий View. Это многостраничный компонент. Система команд Объект 1 (модуль) Объект 2 (компонент) Объект 1 (класс) *** команда команда Медиатор • Задача обеспечить взаимодействие объектов, сформировав слабую связанность и избавив объекты от необходимости явно ссылаться друг на друга • Паттерны проектирования «Медиатор» и «Команда» • Команда направляется всем подписанным на нее объектам • Объекты могут вернуть результат выполнения команды План развития .NET версии продукта «1С-Битрикс: Управление сайтом .NET» CMS – это только 1 из планируемых 23 модулей продукта. «1С-Битрикс: Управление сайтом .NET» должен закрывать 95% функционала сайтов. Остальные 5% - специфические задачи с использованием индивидуальной бизнес-логики. Программный продукт «1С-Битрикс: Управление сайтом .NET» - универсальный инструмент и среда разработки (CMF) для создания и управления современным интернет-проектом. Обновления для продукта будут поступать клиентам по технологии обновлений SiteUpdate Просто создать сайт и просто управлять План по выпуску модулей Главный модуль Управление структурой Информационные блоки Документооборот Интернетмагазин Торговый каталог Статистика Реклама Обучение, тестирование Блоги Форумы Рассылка Веб-формы Валюты Опросы Почта Перевод Поиск Веб-сервисы Техподдержка Фотогалерея 2.0 Адаптивный интерфейс Интерфейс административного раздела создан с использованием технологии AJAX, позволяющей значительно ускорить работу с сайтом. Работа в новом интерфейсе поможет пользователям: • упростить внедрение, сократить затраты на запуск проекта - для выполнения большинства операций не нужно читать документацию или получать дополнительные консультации. Вы просто начинаете работать; • снизить расходы на обучение новых сотрудников - для работы с системой достаточно обычного опыта работы с офисными приложениями. Нет никакой необходимости проводить специальное дополнительное обучение новых сотрудников, они сразу включаются в процесс; • выполнять обычные операции быстрее, избавиться от рутинных действий - мы оптимизировали все наиболее часто используемые действия; • снизить число ошибок - продуманный интерфейс уменьшает число ошибок, снижает потерю времени на их исправление. Комфортная работа с сайтом Многосайтовость Многосайтовая версия «Битрикс: Управление сайтом» позволяет создавать неограниченное число сайтов с: • общей системой авторизации пользователей; • единой системой управления; • объединенным рекламным пространством; • уникальной системой веб-аналитики для анализа эффективности проектов; • расширенными возможностями по созданию и управлению сообществами; • сетью интернет-магазинов с дилерскими сетями. Число сайтов растет вместе с бизнесом компании. Единое веб-пространство для вашего бизнеса Интеграция В «Битрикс: Управление сайтом» упрощена интеграция продукта с дизайном сайта. • быстрая интеграция с дизайном; • снижение расходов на внедрение продукта; • снижение требований к разработчику сайта; • упрощенная работа с шаблонами сайтов. Пользователь продукта может заказать шаблон дизайна у стороннего разработчика и самостоятельно установить его на сайт, провести предварительное тестирование. Интеграция за 4 часа Стратегия выпуска на рынок • Апрель 2008 года: выпустить официальную бету и приступить с 3-5 партнерами к сборке первых сайтов на базе .NET версии продукта. Продажи только через партнеров. • Выпустить модули блоги, форум и опросы. Перевести портальный проект на .NET платформу силами партнера. крупный • Начать работы по налаживанию отношений с хостерами и выпустить .NET тарифные планы. • Август 2008 года: начать официальные продажи продукта версий Старт и Стандарт покупателям и партнерам. • До конца 2008 года: Доработать портальную ветку редакций для выпуска версии Эксперт. Подготовить и обучить 10-25 партнеров для работы с .NET версией продукта. Начать программу сертификации партнеров и хостеров. • 2009 год: выпустить функционал формирование планки редакций. интернет-магазина и завершить Ожидаемые проблемы На текущий момент просматривается несколько основных проблем, которые могут привести к изменению стратегии продвижения .NET версии продукта на рынке. • отсутствие недорогого и качественного предложения по хостингу .NET. Низкая конкуренция в этом сегменте • недостаточное число разработчиков по .NET. Долгий срок подготовки новых специалистов • недостаточная позиция .NET в сегменте малого и среднего бизнеса • высокая общая стоимость итогового решения при размещении на выделенном сервере