Цикл статей Крушение стереотипов. План

Цикл рассчитан на широкий круг читателей. Я постараюсь не отрываться от уровня пользователя, но при этом приводить и техническую информацию, для получения более полной картины.

Специально для Клерк.Ру

Доброго времени суток тебе Уважаемый читатель. По результатам Единого семинара, проводимого компанией 1С 7 октября, как обещал, продолжаю цикл статей по 1С Предприятие 8.0. В отличие от предыдущих опусов в этом цикле я постараюсь изложить полезную информацию в более структурированном виде.

Предисловие.

Цикл рассчитан на широкий круг читателей. Я постараюсь не отрываться от уровня пользователя, но при этом приводить и техническую информацию, для получения более полной картины. Для того что бы читать было интересно [Ну по крайней мере не сложно :) ] приняты следующие обозначения:

Это обычный текст. Он ориентирован на рядового пользователя, и этим текстом я буду стремиться излагать с позиции бизнеса, а не программных решений.

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


Эти разделы содержат наиболее важную информацию (на мой взгляд, разумеется). Рекомендую не пропускать текст в этих блоках.


Таким образом, будут выделяться отличия от версии 7.7. платформы 1С Предприятия.

[Хочу напомнить, что автор по-прежнему считает себя обладателем искрометного чувства юмора. В таких скобках он будет приводить тому доказательства :) . Эта часть статьи, для тех кто с ним согласен :) ]

Введение

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

Название «Крушение стереотипов» - выбрано не случайно. Так или иначе, все мы живем во власти стереотипов. Причин тому достаточно много, и они до сих пор вызывают живой интерес в научных кругах. Ну да песня совсем не о том. Песня о том, что эти стереотипы оказывают влияние на наши поступки, и часто на наши мысли.

В маркетинге есть такой термин – «Бренд». Не возьмусь дать этому определение, наверняка все знают что имеется ввиду под этим словом. В качестве примера, могу сказать, что когда я слышу « BMW », я представляю себе отличные машины. Когда слышу « Gillet » - безусловно, в голове всплывает образ бритья. Так вот когда люди слышать «1С» - они представляют бухгалтерскую программу. На то есть много причин, и не мне ставить под сомнение действия компании «1С», но так или иначе, был сформирован такой стереотип. И все бы ничего, но 1С это не бухгалтерская программа. Это, прежде всего крупнейший Российский разработчик программного обеспечения. По сути, Российский аналог Microsoft . Когда мы слышим Microsoft , что всплывает в голове? [торт на лице Билла Гейтса :) ]. Так вот 1С занимается созданием и распространением качественного программного обеспечения. Так под эгидой 1С помимо систем автоматизации предприятий, выходит большая линейка мультимедийных продуктов. На момент публикации статьи, в прайс-листе 1С можно было заблудиться, он составляет порядка 15 страниц.

Я не хочу сказать, что это плохо или хорошо. Моя цель донести до Вас, что стереотип 1С = Бухгалтерия не соответствует действительности. Ну а теперь ближе к делу…………

Общий обзор изменений в платформе.

31 июля 2003 года компания 1С выпустила в продажу новую технологическую платформу, 1С Предприятие 8.0. Платформа 1С Предприятие 8.0 является следующим поколением продуктов, предназначенных для создания автоматизированных систем управления предприятием. Предыдущая версия 1С Предприятие 7.7. успешно работает у сотен тысяч пользователей, в течении 4-х лет, и уверено держит первое место в секторе малых предприятий.

Для полноты представления, что именно произошло, нам необходим небольшой [страниц этак на 100] экскурс в историю.

Версия 7.7. вышла на рынок в 1996 году. К этому времени по стране уже гремела 1С Бухгалтерия 6.0. Бухгалтера часто с ностальгией вспоминают эту версию :) . Она была до безумия проста, и в то же время позволяла производить настройку (правда минимальную). Кроме того, по работе с 6.0 вышло огромное количество книжек, что придавало дополнительный шарм.

Тем не менее, клиент все чаще хотел от нас решение задач не связанных на прямую с бухгалтерским учетом. Время «Бешеных денег» подходило к концу, и люди понимали, что всем этим надо теперь управлять. Безусловно, для предприятия в 10 человек покупка Axapt ы была просто не возможна, да и не целесообразно. Таким образом, образовалась новая ниша в программном обеспечении. Компания 1С решила занять эту нишу, и выпустила 1С Торговля и склад 7.0. Новая версия была предназначена для ведения оперативного учета (управленческого). Начались работы по внедрению этой цепочки программных продуктов, в результате чего на свет появилась версия 7.7.

За почти 8 лет существования платформы 7.0. она практически не изменилась. Однако решения созданные для этой платформы шагнули далеко вперед. Были вложены миллионы человеко-часов в разработку прикладных решений, в внедрения у клиентов. Подготовлены тысячи программистов, сотни решений для конкретных видов бизнеса. В последнее время стали появляться решения для определенных функциональных частей бизнеса CRM , Бюджетирование, Планирование. Даже вспомнить сейчас трудно, сколько всего было сделано. Тем не менее, за это время выросли и наши клиенты. Их потребности увеличивались, и достигли такого уровня, что обслужить их на платформе 7.0. стало не возможно. Понимая это, компания 1С в 2001 году на партнерском семинаре объявило, о намерении выпустить новую версию платформы. За два года были собраны пожелания партнеров, полученные на опыте внедрений. На мой взгляд, это колоссальный объем данных, так как за время существования системы было произведено около миллиона внедрений, для различных предприятий, как по роду деятельности, так и по количеству пользователей, объемам данных и прочих требований.

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

  • Изменения в части масштабируемости системы
  • Изменения в области разработки прикладных решений
  • Изменения в части сопровождения решений и платформы
  • Изменения учетных механизмов
  • Изменение Аналитических механизмов
  • Изменения в части интерфейсов пользователей.

Таким образом, и будет построен цикл, для упрощения восприятия. Хочу предупредить, что часть разделов предназначено исключительно для технических специалистов. Я не могу их опустить, потому что иначе картина будет не полной. Тем не менее, я постараюсь не углубляться в технические дебри, и приводить конкретные примеры, что бы было понятно не только мне :)

Изменения в части масштабируемости системы.

Одним из основных «Узких» мест предыдущей платформы были ограничения платформы на количество пользователей, и объем данных, хранимых в системе. Это можно сказать наша больная мозоль. Именно этот параметр, не позволял нам уже два года назад, выступать в секторе средних предприятий.

Безусловно, за не имением выхода, компании партнеров, разработали ряд ритуальных танцев с бубнами, в результате чего, стало возможным использование одной базы, одновременно 30-50 пользователей. Так же за счет разграничения зон функциональной ответственности, путем разделения информационных баз, и создания автоматических систем синхронизации и обмена, этот барьер двигался еще дальше.

Безусловно, цифры зависят от каждого конкретного случая.

Можно перечислить несколько причин такого поведения системы:

  • Крайне малый спектр используемых функций СУБД
  • Единый журнал транзакций
  • Блокировки целиком таблиц, вне зависимости от характера действия и необходимой информации

Прежде всего, хочу отметить, что это было оправдано, так как разработка системы лишенной подобного недостатка потребовало бы больше ресурсов, и как следствие стоила бы больше. Но на момент создания платформы 7.0. эти возможности были бы не востребованы.

Так же одной из причин использования ограниченного набора команд СУБД (Системы управления базами данных), была идеология идентичных прикладных решений, как для файлового варианта, так и для SQL варианта платформы.

По той же причине (экономической целесообразности) был выбран наиболее простой (а как следствие дешевый в исполнении) механизм транзакций и блокировок. Для не специалистов, поясню проявление этих минусов. Одновременно проводить / записывать, что-то в системе, может только один пользователь. При количестве пользователей не более 10 это не критично, так как вероятность совпадения очень низка, в случае одновременной работы 50 пользователей, эта вероятность существенно выше. Это приводило к ненавистной для многих надписи «Ожидание блокировки журнала транзакций».

Первым вопросом, которым задались партнеры при получении Бета версии платформы 8.0, были вопросы производительности. В первый же день появления новой платформы во внутренней продаже, [точнее через неделю, когда все протрезвели, и выучили новый язык] она была подвергнута жесточайшим пыткам со стороны программистов. Часть тестов выкладывались на специализированных форумах, часть анализировалась, и отправлялась в 1С с просьбой еще ускорить.

Я приведу фрагменты официальной статистики [они оформлены лучше :) ]

рисунок 1. графики сравнения характеристик двух платформ

Как вы видите, разница в скорости работы, как правило, составляет 75 %, что равноценно увеличению быстродействия в 2.5 раза. От себя могу лишь добавить, что по наиболее часто используемым операциям увеличение скорость достигает 10 раз.

А вот график зависимости от количества пользователей

рисунок 2 (график зависимости скорости работы, от количества пользователей)

Хочу отметить, что, не смотря на потребность выхода на рынок средних предприятий, компания 1С как всегда позаботилась и о наших текущих клиентах, оставив файловый вариант платформы. Для этого был создан собственный «движок» базы данных.

Возникает законный вопрос: «Что Вам как конечному пользователю будет от этих изменений?». Ну, прежде всего, увеличение скорости работы Ваших сотрудников, а значит и их производительности. Так же необходимо понимать, что на крупных заказчиках, программистом всегда приходилось искать компромисс, между степенью анализа, и скоростью работы. Этот вопрос, стоял очень остро, за счет чего, аналитические возможности могли быть урезаны. Вместе с увеличением скорости работы самой платформы, мы сможем предоставлять больший сервис, а Вы как потребитель, сможете получать более полную и оперативную информацию, которая в свою очередь поможет Вам извлекать большую прибыль [Короче все довольны кроме конкурентов :) ].

Важной стороной медали являются причины, за счет которых это было достигнуто. Начнем мы в обратном порядке (сначала кратко для пользователя):

  • В корне переработана идеология блокировки таблиц объектов, появилась возможность работы нескольких пользователей с одной таблицей
  • Исчезло понятие Журнал транзакций. Система отслеживает возможность проведения по таблицам, к которым идет обращение.

За счет этого достигнута высокая параллельность работы пользователей, что привело к результатам, наглядно показанным на рисунке 2

  • Переработаны механизмы работы с СУБД, за счет чего скорость выполнения запросов существенно увеличена (это наглядно показано на рисунке 1).

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

Прежде всего, в новой платформе практически на сто процентов реализовано использование SQL – 69, за счет чего, большую часть работы по обработке запросов переложено с платформы на движок СУБД.

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

К сожалению, платформа не позволяет использовать несколько серверов 1С Предприятия, причину этому я опишу в разделе «Изменения в области разработки прикладных решений» .

Система передает запрос в СУБД, и получает уже результаты запроса. Сервер 1С Предприятия, только переводит результат запроса, в объектный вид, и возвращает результат на машину пользователя (если это необходимо).

Во вторых, существенно переработан механизм блокировки таблиц. Это очень важный момент, потому что именно этот механизм делал не возможным использование системы 1С в крупных информационных системах.

Я не буду приводить конкретные правила блокировки, скажу лишь, что анализируется действие которое выполняет пользователь, так например при чтении информации об остатках, блокируется таблица лишь на запись (что бы не допустить искажения картины). В большинстве таблица блокировка осуществляется только необходимых записей, а не всей таблицы. Отказ от единого журнала документов, так же как и единого журнала транзакций.

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

Более качественное построение структуры базы данных. Больше индексов, и вообще все ближе к стандартам реляционных баз данных :) .

Все это позволяет нам предположить качественную работу информационных систем с количеством пользователей немногим более сотни. Так же, при написании специализированных заказов (то есть без использования типовой, или с уничтожением части ее функций) это позволит значительно отодвинуть барьер [Что не может не радовать лично меня :) ].

Так же хотелось бы отметить дополнительные плюсы от использования Клиент серверного решения. За счет некоторых особенностей в исполнении серверного варианта, большинство работы по обработке данных, происходит на сервере СУБД и на сервере 1С Предприятия. Компьютеры пользователя, получают только результат. Таким образом, требования к рабочим станциям существенно снижаются. Так же снижается нагрузка на локальную сеть (так как по сети передается только результат). По сути, работа происходит практически в терминальном режиме, только лучше :) .

Так же вы можете разнести сервер СУБД и Сервер 1С Предприятия на две машины, что позволит более правильно распределять нагрузку на оборудование.

Таким образом, в сухом остатке мы имеем:

В платформе 8.0 возможна работа:

  • Значительно увеличена параллельность работы пользователей (термин, кажется, не очень технический, но технического термина я не знаю :) )
  • До 15 пользователей в файловом варианте (цифру надо проверить на практике :) )
  • свыше 100 пользователей в клиент - серверном варианте.
  • При работе с клиент серверным вариантом
  • Скорость работы в среднем увеличена в 2.5 раза, а наиболее используемые функции в 10 раз
  • Появилась возможность распределять Вычислительные мощности
  • Реализована полноценная трех звеньевая архитектура.

На этом я завершаю первую часть цикла, и жду Вашей реакции :) [Конкурентов, в лице Анонимов, просьба не беспокоить, Конкурентов в своем лице :) с радостью ждем для дискуссий в форуме]

C Уважением
Сотрудник отдела внедрения

Компании «Аист Ай Ти»
Кондаков Владимир
v.kondakov@aist - it.ru

© Клерк.Ру


Начать дискуссию