Главная страница Visual 2000 · Общий список статей
Приступая к профессиональной разработке в системе "1С:Предриятие"Андрей Колесов
© Андрей Колесов, 2006Габец А. П., Гончаров Д. И., Козырев Д.В., Кухлевский Д.С., Радченко М.Г. Профессиональная разработка с системе 1С:Предприятие 8 – М: "1С- Паблишинг"; СПб, "Питер", 2006. – 808 с., компакт-диск
По оценкам фирмы "1С", ее программные продукты...
По оценкам фирмы "1С", ее программные продукты, реализованные на платформе "1С:Предприятие" (1СП), в более чем полумиллионе организации страны. Их внедрением и сопровождением занимаются порядка 100 тыс. сотрудников почти 3 тысяч партнеров-франчайзи и еще примерно столько же специлистов ИТ-отделов компаний-заказчиков. Как минимум половина из них (т.е. ояпть же около 100 тысяч человек) в той или иной степени используют в своей работе средства программирования 1СП, преимущественно для настройки и расширения возможностей готовых прикладных решений. Но есть и те, кто создает свои приложения "с нуля".
Это сказано, чтобы подчеркнуть – 1СП является (и уже далеко не первый год!) в нашей стране одним из самых массовых средств профессионального программирования, скорее всего, далеко обогнав Java и даже Visual Basic. Парадокс же ситуации заключается в том, что до настоящего времени общедоступной литературы по этой тематике практически не было, а вопросы "1СП как средство разработки", не говоря уже о каком-то критическом анализе, почти не обозначались в профессиональной ИТ-прессе.
Так что нужно сразу сказать: выпуск книги, написанной группой ведущих разработчиков фирмы "1С" и ее партнера компании "Аналит" – это знаковое явление не только для 1С-сообщества, но и для всей софтверной отрасли страны. По сути, это первое публичное и весьма полное представление платформы 1СП, как таковой – ее архитектуры, базовых функций и механизмов, методологии разработки прикладных решений и т.д. Более того, подобного систематического описания не было в документации или каких-то внутренних материалах "1С". Безусловно, такая книга полезна не только тем, кто уже программирует в среде 1СП или собирается заняться этим, но всем, кто просто хочет познакомиться с организацией одной из самых популярных в нашей стране программных платформ (по-видимому, она уступает по массовости только Windows и Office).
Первый блин авторов "1С"* вышел совсем не комом. Конечно, можно поговорить о достоинствах и недостатках книги как таковой. Но мне представляется важнее заострить внимание лишь на нескольких моментах, которые связаны с общей концепцией "1С" по продвижению своей платформы.
* Предшественником данного издания стала выпущенная два года назад книга Максима Радченко "1:Предприятие 8. Практическое пособие разработчика", но она была существенно меньше по объему и посвящена низкоуровневым вопросам программирования в 1СП.
Сказав "а", нужно говорить "б"
Суть проблемы заключается в том, что недавнего времени руководство "1С" принципиально старалось не очень афишировать тему разработки в среде 1СП, подчеркивая при этом, что она позиционирует себя как поставщик готовых решения для конечных пользователей. Хотя нынешняя архитектура 1СП в целом была реализована еще в 1996 году в версии 7.0, и инструменты программирования входили в поставку ее продукта и были доступных заказчикам, тем не менее "1С" считала, что данные средства ориентированы на внутреннее применение ее собственными разработчика и специалистами партнеров- франчайзи.
Стратегия "1С" несколько поменялась в 2002-м году с выпуском бета-версии 1СП 8.0. Фактически только в этот момент фирма широко объявила (и стала продвигать этот тезис), что ее комплекс ПО состоит из технологической платформы (куда входят и средства разработки) и набора прикладных решений. До этого момента использования самого термина "платформа" компания категорически избегала.
Однако, по сути, общая линия "1С" в вопросе разработки осталась прежней и ее можно сформулировать примерно так: в целом технологическая и лицензионная политика фирмы нацелена на "доработку" ее собственных прикладных программ в ходе реализации конкретных проектов, а не на разработку тиражных продуктов внешними компаниями (в том числе и независимыми поставщиками) на основе 1СП**. Одним из следствий этого является то, что компания в продвижении своих технологий разработки делает акценты в первую очередь на низкоуровневые вопросы программирования, а не архитектуру системы в целом. Но это, в свою очередь, больше вступает в противоречие с политикой компании продвижения компании на ERP-рынок среднего уровня, где для реализации проектов, значение средств разработки и качества их применения резко возрастает.
** Такая позиция, в свою очередь, определяет только маркетинговыми соображениями, но также технологическими и архитектурными особенностями 1СП.
Двойственность позиции "1С" в отношении своего инструментария естественно отразилась и в рецензируемой книги. И это видно уже в ее названии: после слов "профессиональная разработка" нет пояснения – "разработка чего"? Разработка новых приложений "с нуля" или доработка прикладных решений "1С"? Этот вопрос может показаться просто мелочной придиркой, но на самом деле тут есть очень важный момент.
Дело в том, что создание ПО начинается с изучения архитектуры платформы, логики взаимодействия ее компонентов, среды разработки, последовательности создания приложений. Главное же достоинство книги заключается в том, что в ней впервые реализован именно такой подход к описанию возможностей 1СП. Но как раз архитектурная часть этого труда вызывает достаточно серьезные вопросы и нарекания. Хотя нужно подчеркнуть – многие сложности тут связаны с историческими корнями самой 1СП.
Одна из таких "исторических" проблем заключается в недостаточной проработанности терминологии 1СП и тут нужно выделить несколько моментов.
Поэтому когда в книге говорится об "особенностях системы 1С:Предприятия", то часто просто непонятно – какая же из этих систем имеется в виду. А когда видишь слова "платформа 1С:Предприятия", то неясно – тут допущена опечатка (родительный падеж) или речь идет о платформе как компоненте более общей системы.
Терминологическая путаница, конечно, мешает восприятию материала, но с ней можно справиться. Главная же проблема заключается в том, что, хотя книга начинается с главы "Архитектура 1С:Предприятия" (какого именно 1СП? – см. выше), как раз архитектурные вопросы – самые важные для профессиональной разработки – описаны явно недостаточно и весьма противоречиво. По большому счету, здесь нет четкого рассказа (и иллюстраций) о том, из каких компонентов состоит платформа и система ПО в целом, как они взаимодействуют в процессе разработки и исполнения и целого ряда других важных вопросов. И это притом, что логика разработки функционирования прикладных решений 1СП весьма специфична, и в ней нужно очень хорошо разбираться для "профессиональной работы".
Впрочем, авторы в самом начале книги решили осветить вопрос соотношения платформы и прикладных решений:
"Основным концептуальным решением, отличающим систему 1С:Предприятие 8.0 от универсальных средства программирования, является четкое разделение на платформу и прикладное решение. Однако создание, модификация и функционирование прикладного решения невозможны без использования механизмов и технологий платформы".
Но из этого текста можно лишь сделать вывод, что Java и .NET не являются универсальными средствами, так как с ними дело обстоит точно также.
Приведенная выше описание тем более выглядит странно, так как логика разработки и, самое главное, исполнения программ в 1СП действительно сильно отличается от "универсальных" вариантов, и это определяет, в свою очередь, своеобразие всех этапов жизненного цикла приложений (в том числе модификации и развертывания) в этой системе, а также подходов к решению таких задач, как масштабирование и повышение производительности.
Высказав эти замечания, мне хотелось бы еще раз сказать, что данная книга – это первое полное описание системы "1С:Предприятия" с точки зрения разработчика, ее многочисленных механизмов, технологий, приемов программирования и т.д. Правда, почему-то в ней отсутствует описание собственно среды разработки 1СП, логики работы в ней и пр.
Тем не менее, то, что книга очень нужна и полезна – не вызывает никаких сомнений. Даже, если просто познакомиться с оглавлением (18 глав, приложений, демонстрационные примеры на компакт-диске) можно понять, что 1СП – это мощный программный комплекс, в котором заложен огромный потенциал. И почему так велик спрос на рынке на "профессиональных разработчиков 1СП".
Но все же хотелось пожелать авторам в следующем издании (уверен, что оно будет) больше внимания уделить архитектурно-концептуальным вопросам, разобраться в которых будет полезным, и тем, кто начинает разрабатывать в среде 1СП, и тем, кто занимается этим давно. И еще – реализовать публикацию в более удобном для использовании формате: сейчас имеет размеры А4 и не помещается у меня дома ни в одну книжную полку. А что будет, если авторы подробнее расскажут о многих других интересных вопросах профессиональной разработки?
ВРЕЗКА. Тернистый путь темы "разработка приложений в среде 1СП"
(этот фразмент не вошел в опубликованный вариант статьи)
Во второй половине 90-х годов, следя за развитие технологий "1С" и бывая на ее партнерских мероприятиях, мне было довольно странно видеть, что возможности разработки в среде платформы 7.0 (она была выпущена в 1996 г.) никак не освещают в компьютерных журналах, которые тогда уделяли программистской тематике существенно больше внимания, чем сейчас. Имея довольно приличный опыт подобных публикаций по VB/VBA, осенью 1998 года я решил восполнить этот пробел и написать статью на эту тему. Но воплотить реализовать эту идею, к моему удивлению, оказалось совсем непросто.
Признаю честно – с помощью имеющейся в продукте документации я с не смог сделать "первое приложение на 1СП". В тех книгах было подробное описание языка, но вопросы "как делать программы" просто не освещались. Пришлось обратить за помощью в фирму "1С". Однако тут возникла другая принципиальная проблема. Руководство компании выразило сомнение – а нужно ли вообще освещать эту тему в прессе? Позиция была такова: "Мы позиционируем на рынке себя как поставщик готовых прикладных решений для конечного пользователя. В их состав входят инструменты разработки, но мы не хотим делать на этом акцент. Мы не собираемся становиться поставщиками средств разработки, как таковых".
После обмена мнениями потом все же решили, что написать об этом стоит, но "без особых акцентов". Но реализовать эти планы удалось лишь через полтора года (!), причем, для подготовки, в общем-то, довольно простой статьи мне пришлось пройти еще недельный (!) курс в учебной центре "1С" (никаких пособий не было). Потом оказалось, что журналы, которые с удовольствием брали статьи о программировании на VB, совсем не горели желанием публиковать материал по разработке на 1СП (редакторы не верили, что этого кого-то интересует). В результате статья под названием "1С:Предприятие как платформа разработки приложений" появилась в журнале "КомпьютерПресс" только в мае 2000 года. Кстати, именно в ней были впервые использованы термины "платформа" и "приложение" применительно к технологиям "1С", хотя руководство фирмы тогда не советовало их применять.