Интернет-технологии в системе "1С:Предприятие"

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

Интернет-технологии в системе "1С:Предприятие"

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

В этой ситуации выглядит вполне естественным появление весной нынешнего года специального программного компонента «Web-расширение» в составе одной из самых популярных в России учетных систем «1С:Предприятие». Стоит отметить своевременность создания данной функции. Действительно, на момент первого его представления на выставке «Комтек-2000» в среде многих партнеров и клиентов фирмы «1С» бытовало мнение о том, что это Ч некая «дань моде». Однако уже спустя два месяца, на летнем партнерском семинаре, наблюдался чисто деловой интерес к использованию данного компонента.

Основы серверных технологий

Как я уже отмечал в статье «1С:Предприятие» как платформа разработки приложений» (КомпьютерПресс 5Т2000, с. 151-155), технологическую основу пакета составляет набор функциональных объектов, собранных в несколько компонентов. (С точки зрения современной терминологии Windows компонент «1С» Ч фактически библиотека объектов.) «Web-расширение» Ч это второй чисто технологический компонент, обеспечивающий связь самого приложения и Web-сервера. (В системе давно имеется еще один технологический компонент Ч «Управление распределенными базами данных».)

Серверные технологии, используемые в Web-приложениях, основаны на реализации простой идеи динамического формирования HTML-страниц, которым Web-сервер обменивается с браузером клиента. При этом создание содержимого страниц выполняется на основе данных, поступающих с браузера и с серверного приложения. Естественно, сервер обеспечивает передачу в приложение данных, поступающих от клиента.

Сегодня существует два основных варианта реализации этого подхода. В первом из них сервер запускает некоторые программы (на основе запросов, полученных от пользователя), которые полностью формируют страницы. Здесь используются две схожие технологии: Common Gateway Interface (запуск отдельных программ) и Internet Server Application Programming Interface (использование DLL, что ускоряет процесс обработки и экономит ресурсы сервера).

Второй подход основан на использовании активных серверных страниц Ч Active Server Pages (ASP). Ёта технология подразумевает включение программного кода непосредственно в исходную HTML-страницу (именно такая страница является ASP). Обнаружив ASP, сервер передает ее некоторой программе-интерпретатору, выполняющей обнаруженный код и формирующей законченную HTML-страницу, которая затем отправляется сервером в браузер пользователя.

Код, включенный в ASP, обычно называется скриптом, а язык программирования Ч скриптовым. Такие скиптовые языки, как правило, создаются на основе «обычных» систем программирования (наиболее известные Ч JavaScript и VBScript), путем удаления из последних ненужных или просто запрещенных конструкций и добавления каких-либо специальных средств взаимодействия с HTML-кодом. Именно таким путем был создан VBScript на базе VB. Что касается JavaScript, созданного Microsoft, то он весьма далек от схожего по названию Java (что неудивительно, ведь Java Ч это детище Sun).

Обычно любые динамические страницы можно разделить на две логические части: достаточно статичное оформление внешнего вида и обновляемое информационное наполнение. Достоинство технологии ASP заключается в том, что она позволяет для оформления страницы использовать специализированные HTML-редакторы (наиболее популярные из них Ч FrontPage и Dreamweaver), в текст которых затем вписывается нужный код скрипта.

Решение «1С» и структура Web-компонента

Web-решение «1С» реализуется на основе ASP-технологии в среде Microsoft Internet Information Server (IIS) 4.0 или выше. Такой выбор определяется двумя взаимосвязанными моментами. С одной стороны, ASP сегодня представляет собой одно из наиболее простых и достаточно эффективных серверных решений (это видно из приведенного выше примера). Ёто, в свою очередь, в значительной степени предопределило использование IIS, для которого данная технология является «родной». С другой стороны, привязку именно к IIS специалисты «1С» объясняют доступностью этого средства (сервер входит в состав Windows 2000, для Windows NT 4.0 его можно скачать с Web-сайта Microsoft), а также желанием получить более эффективное решение, не гонясь за платформной независимостью (необходимость которой вызывает сегодня большие сомнения).

Для Windows NT Workstation вместо IIS следует использовать Personal Web Server. К сожалению, в среде Windows 9x этим средством воспользоваться нельзя (что возможно, например, при создании Web-приложений с помощью VB), так как в данном случае задействованы некоторые особенности операционной системы.

Подчеркнем, что сама ASP-технология не содержит встроенных средств для выполнения скриптов Ч эти функции возлагаются на сервер. В качестве стандартного набора таких исполняемых механизмов в составе IIS имеются JavaScript Engine и VBScript Engine для соответствующих языков. Однако самое важное здесь заключается в том, что IIS использует технологию Active Scripting, открытые интерфейсы которой позволяют разрабатывать и подключать произвольные скриптовые языки. Именно этот факт используется в решении «1С», которое предусматривает создание ASP-приложений с применением встроенного языка «1С:Предприятие».

Общая схема работы Web-приложения в данном решении приведена на рис. 1 (само приложение в виде набора ASP-страниц находится на сервере). Здесь следует отметить, что все запросы пользователей, приходящие на Web-сервер, «1С:Предприятие» обрабатывает последовательно. Для параллельного распределения нагрузки можно использовать несколько запущенных копий программы Ч как на компьютере с Web-сервером, так и на других компьютерах.


Рис. 1

Собственно продукт «1С:Предприятие 7.7. Web-расширение» включает две необходимые технологические программные части: Web-компонент для «1С:Предприятия» и библиотеку V7 Scripting Engine (кроме них, в коробке находятся также пример реализации Web-приложения «Портал реализатора», книга документации и, конечно же, аппаратный ключ защиты).

В документации достаточно подробно описана процедура установки и запуска программ на компьютер и технология разработки Web-приложений. Кратко говоря, инсталляция заключается в том, что Web-компонент должен пройти авторизацию и «прописаться» в установленном у пользователя пакете «1С:Предприятие», а библиотека Ч выполнить аналогичную операцию в IIS.

В общем виде логика работы заключается в том, что при обработке страницы IIS передает в V7 Scripting Engine сформированный скрипт (просто складывая последовательные фрагменты кода), который фактически представляет собой модуль для исполнения в среде «1С:Предприятие». Кроме того, IIS передает контекст страницы в виде набора доступных объектов, которые библиотека также отправляет далее в «1С:Предприятие». Соответственно все эти объекты становятся доступными для «1С:Предприятия» через свой встроенный объект ASP (он входит в состав Web-компонента). Через ASP-объект приложение может также вызывать процедуры и функции, реализованные на других скриптовых языках. Объекты самого IIS Ч Request, Response, Application, Session и Server Ч доступны из скрипта напрямую.

Общая схема разработки

Задача разработки Web-приложения заключается в создании комплекса ASP-страниц, обеспечивающих взаимодействие удаленного пользователя с некой конфигурацией, работающей в среде «1С:Предприятие». Разумеется, возможен вариант создания специализированной конфигурации, предназначенной для работы в удаленном режиме.

Вряд ли можно говорить об универсальной схеме разработки приложений Ч как обычных, так и Web. Однако Интернет-доступ с неизбежностью требует решения проблемы авторизации доступа, за исключением, возможно, общедоступных справочных систем, работающих в режиме просмотра. (Для обычных приложений проблема доступа может решаться посредством запирания на ключ комнаты с выключенным компьютером или сдачи винчестера в режимный отдел.) С этой точки зрения в общем случае Web-приложение должно состоять из трех частей:

  • Незащищенной части, по которой любой пользователь может «ходить» произвольным образом.
  • Блока, обеспечивающего авторизацию пользователя.
  • Защищенной части, в которую пользователь попадает только после авторизации. Перемещения здесь производятся под постоянным контролем механизма авторизации с учетом полученных пользователем прав доступа.

Создание первого Web-приложения

Итак, мы установили на компьютер все необходимые программы и теперь попробуем написать первое Web-приложение в среде «1С:Предприятие». Для начала нам нужно создать пользовательское приложение («Конфигурация»). В принципе можно использовать работающую систему, например «Бухгалтерию» или «Склад». Но, как мне уже приходилось подчеркивать в своей предыдущей статье о технологиях «1С», Ч я не являюсь пользователем этих учетных систем и, вообще говоря, не умею с ними работать. Поэтому мне удобнее создать какую-либо простую конфигурацию «с нуля».

В прошлый раз (см. КомпьютерПресс 5Т2000) было выполнено несколько таких примеров, в том числе в виде разработки небольшой адресной книги (такое «небухгалтерское» приложение должно было подчеркнуть, что мы имеем дело с достаточно универсальной инструментальной средой). Вот и сейчас мы создадим отдельную тестовую конфигурацию, в которой на основе базового объекта «Справочник» сформируем простенькую таблицу с именами и телефонами сотрудников предприятия (рис. 2).


Рис. 2

Чтобы убедиться в том, что наша программа действительно готова к работе через Internet, выполним команду «О программе» в меню «Помощь» Ч на появившемся окне видна информация о том, что Web-расширение подключено к системе (рис. 3).


Рис. 3

Теперь нужно создать ASP-страницу, с помощью которой уделенный пользователь сможет получить доступ к этому справочнику и узнать нужные ему телефоны. Как вы убедитесь сами, выполнить эту задачу можно с помощью любого текстового редактора, в частности Notepad, но сейчас я все же воспользуюсь программой MS FrontPage 2000 (исключительно, чтобы видеть цветовое выделение создаваемого кода).

Создадим новую пустую Web-страницу и сразу запомним ее под именем Default.asp. Для размещения визуальных элементов можно воспользоваться разнообразным инструментарием FrontPage, но мы в данном случае обойдемся без него. Откроем вкладку HTML-редактора и вручную впишем следующий код между тэгами <body></body>:

<form method="Get» action="default.asp">
<p>Имя адресата: <select size="1» name="Name">
</select>
<input type="submit» value="Спросить">
</p>
<p>Телефон:
</p>
</form>

Теперь перейдем во вкладку Normal, чтобы посмотреть, как внешне будет выглядеть созданный нами визуальный интерфейс (рис. 4). Обратите внимание на то, что наш код ограничен тэгами <form></form> для объединения используемых нами HTML-компонентов.


Рис. 4

Собственно, на этом создание HTML-заготовки закончено; теперь нужно «активизировать» страницу, написав небольшую программу на V7Script. Для этого в первую очередь следует записать в самую первую строчку страницы директиву <%@Language=V7Script%>, которая указывает, что для выполнения программы IIS должен использовать библиотеку V7 Scripting Engine. Далее между тэгами <select></select> впишем код, который будет обращаться к справочнику «Адресная книга» и формировать текущий список сотрудников:

<%    
        ТребИмя = Request.QueryString("name").Item;    
        Спр = СоздатьОбъект("Справочник.АдреснаяКнига");    
        Спр.ВыбратьЁлементы();    
        Пока (Спр.ПолучитьЁлемент() = 1) Цикл    
            Если (ТребИмя = Спр.Наименование) Тогда    
    %>    
        <option selected>    
            <%Иначе%>    
        <option>    
            <%КонецЕсли;%>    
            <%=Спр.Наименование%>    
        </option>    
    <%    
        КонецЦикла;    
    %>

Здесь нужно обратить внимание на то, что код скрипта реализован с использованием тэга <%%>, то есть соответствует языку, который установлен для этой страницы в качестве первичного. При необходимости на одной странице можно использовать несколько языков для написания скриптов, но в этом случае следует использовать тэги <script></script> с явным указанием конкретного языка.

Можно уже сейчас проверить работоспособность сформированного кода: запустите браузер, откройте на локальном сервере нашу страницу и убедитесь, что в списке появляются все фамилии сотрудников из адресной книги.

Далее нужно написать простой код, с помощью которого по нажатию кнопки «Спросить» будет появляться номер телефона указанного сотрудника:

<p>Телефон:    
    <%    
    Если (ТребИмя <>« «") Тогда    
            Спр.НайтиПоНаименованию(ТребИмя, 0, 1);    
            Если (Спр.Выбран() = 1) Тогда    
                Response.Write(Спр.ТелефонРабочий);    
            Иначе    
                Response.Write("Адресат отсутствует");    
            КонецЕсли;    
    КонецЕсли;    
    %>

В результате всех этих несложных операций у нас должна сформироваться страница Default.asp с кодом, приведенным на листинге. В данном случае очень полезно использование русской мнемоники в языке V7Script: операторы на английском языке соответствуют обращению к объектам IIS, на русском Ч к объектам «1C:Предприятие».

Загрузите созданную ASP-страницу в браузер и убедитесь, что с ее помощью вы сможете получать информацию из Адресной Книги, которая работает в среде «1C:Предприятие» (рис. 5). Более того, если вы сейчас будете корректировать этот справочник, новая информация будет автоматически отображаться в браузере при нажатии команды «Обновить».


Рис. 5

Разумеется, мы создали очень простое одностраничное Web-приложение и не показали многих особенностей подобной разработки. Но, тем не менее, Ч за пару минут мы обеспечили доступ к работающей системе из любой точки планеты, где имеется Интернет. Очевидно, что так же просто можно включить в эту страницу код для коррекции Адресной Книги внешними пользователями. Но в этом случае, конечно же, обязательно потребуется реализация механизма авторизации доступа, а то кто-нибудь вам такое запишет...

Листинг. Содержание страницы Default.asp

<%@Language=V7Script%>    
    <html>    
    <head>    
    <meta http-equiv="Content-Type» content="text/html; charset=windows-1251">    
    <meta http-equiv="Content-Language» content="ru">    
    <meta name="GENERATOR» content="Microsoft FrontPage 4.0">    
    <meta name="ProgId» content="FrontPage.Editor.Document">    
    <title>Home Page</title>    
    </head>    
    <body>    
    <form method="GET» action="default.asp">    
    <p>Имя адресата: <select size="1» name="name">    
    <%    
        ТребИмя = Request.QueryString("name").Item;    
        Спр = СоздатьОбъект("Справочник.АдреснаяКнига");    
        Спр.ВыбратьЁлементы();    
        Пока (Спр.ПолучитьЁлемент() = 1) Цикл    
            Если (ТребИмя = Спр.Наименование)  Тогда    
    %>    
        <option selected>    
            <%Иначе%>    
        <option>    
            <%КонецЕсли;%>    
            <%=Спр.Наименование%>    
        </option>    
    <%    
        КонецЦикла;    
    %>    
    </select>    
    <input type="submit» value="Спросить"></p>    
    <p>Телефон:    
    <%    
    Если (ТребИмя <>« «") Тогда    
            Спр.НайтиПоНаименованию(ТребИмя , 0, 1);    
            Если (Спр.Выбран() = 1) Тогда    
                    Response.Write(Спр.ТелефонРабочий);    
            Иначе    
                Response.Write("Адресат отсутствует");    
            КонецЕсли;    
    КонецЕсли;    
    %>    
     </form>    
    </body>    
    </html>

Некоторые аналогии технологии разработки

Для того чтобы понять механизм работы Web-расширения, полезно вспомнить вариант, реализованный в другой инструментальной среде Ч Visual Basic (см. «Visual Basic 6.0 упрощает разработку для Web», КомпьютерПресс, № 5Т99, c.107). Так вот, приложения IIS, или иначе Ч WebClass, создаваемые в среде VB (там также можно делать DHTML-приложения, которые работают непосредственно на клиентской машине в среде браузера), представляют собой, на мой взгляд, некую смесь технологий ISAPI и ASP.

С одной стороны, в VB используются готовые HTML-шаблоны для формирования динамических страниц. Но в отличие от ASP программный код здесь физически отделен от пользовательского интерфейса (HTML-кода) и находится в виде формируемых ActiveX DLL. Ётот программный код обрабатывает запросы, поступающие с браузера, и корректирует динамические страницы, меняя не только ее содержание, но и, при необходимости, структуру.

Достоинства такого подхода Ч упрощение отладки приложения, которая ведется в среде VB, и возможность создания повторно используемых компонентов. Но в то же время визуальные средства разработки WebClass-приложений в VB 6.0 пока откровенно слабее того, что существует для создания обычных Windows-приложений. Наряду с этим сама логика разработки представляется совсем не простой Ч мы хорошо помним, сколько нам пришлось повозиться с созданием регистрационной формы в тестовом приложении.

В случае «1С:Предприятия» программисту придется писать довольно много кода вручную, без поддержки возможностей интеллектуального редактора. Однако логика разработки выглядит достаточно простой. При этом она, с одной стороны, нацелена на конкретную работу с прикладными конфигурациями, работающими в среде «1С:Предприятие», а с другой Ч позволяет легко применять другие удобные средства программирования, в том числе те же JavaScript и VBScript. В любом случае подобный подход на начальной стадии становления технологии представляется совершенно естественным.

При этом, конечно, стоит подчеркнуть позицию разработчиков «1C»: создание Web-расширения не ставит целью конкуренцию с существующими средствами разработки Web-приложений. Задача более конкретная Ч открыть простой и удобный доступ к работающим прикладным системам «1С:Предприятие» через Web.

Тем не менее для создания серьезных Web-приложений, конечно, хотелось бы иметь специализированную среду, в которой можно было бы писать и отлаживать как HTML-код, так и VBScript-программу. Скорее всего, такие возможности будут реализованы в будущих вариантах среды разработки «1С:Предприятие», при наличии соответствующего спроса со стороны программистов. А пока можно предложить следующий подход к разработке Web-приложений для «1С:Предприятие»: сначала создается прототип программы с обычным интерфейсом (с использованием всех средств отладки «Конфигуратора»), а затем отлаженный код переносится в ASP-страницы.

Примеры реализации технологии

Первый рабочий пример использования «Web-расширения» появился еще в марте нынешнего года, за месяц до официального объявления продукта. На сайте фирмы (www.1c.ru/declaration) всем желающим была предоставлена возможность автоматизированного заполнения налоговой декларации. За несколько дней, оставшихся до окончания срока подачи документов в налоговую инспекцию, этой услугой воспользовались несколько сот человек, которые и не подозревали, что имеют дело с новой технологией «1С».

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

Здесь полезно вспомнить, что применение Web-технологий в конкретных решениях можно условно разделить на три основные категории:

  • Интернет: возможность доступа к Web-ресурсам самого широкого числа посетителей. С точки зрения бизнес-применения речь идет об организации электронной коммерции и информационном обслуживании клиентов (Интернет-магазины, справочные службы и т.д.).
  • Ёкстранет: обеспечение информационного взаимодействия с определенным кругом партнеров и заказчиков (разнообразные порталы доступа к торговой и коммерческой организации и т.д.).
  • Интранет: внутренняя система предприятия, которая предоставляет удаленный доступ к информационным ресурсам через браузер.

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

Решения «1С»

Непосредственно в состав продукта «1С:Предприятие. Web-расширение» входит пример Web-приложения «Портал реализатора», подробное описание которого приведено в документации.

Основная задача конфигурации для портала (она реализована на базе типовой конфигурации «Торговля + Склад») Ч показать принципы построения подобной системы, основные подходы к ее реализации. Но вместе с тем это достаточно полезный продукт, с помощью которого реализаторы (продавцы) могут связываться с удаленным торговым предприятием без ограничений, касающихся места и времени связи, и работать с торговой системой, отчитываясь за проданные товары и заказывая новые (рис. 6).


Рис. 6

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

Второе Web-решение фирмы «1С» Ч «Удаленный склад» распространяется по подписке на компакт-дисках информационно-технического сопровождения. Ётот продукт предназначен для реального использования типовой конфигурации «Торговля+Склад» (разумеется, ее нужно приобретать отдельно). В результате ее внедрения создается полнофункциональная система класса «Интранет» для удаленной работы кладовщика торговой организации. Данное приложение также может использоваться как образец для создания собственных решений (рис. 7).


Рис. 7

«ИКС Технология» автоматизирует свою работу

Ёффективность предлагаемой поставщиком технологии хорошо проверяется вопросом: «А вы сами используете эту систему для автоматизации собственного бизнеса?» Ответом на него служит пример «Портал дистрибьютора», который был разработан одним из ближайших партнеров «1С» Ч компанией «ИКС Технологии» и используется ею с весны нынешнего года для ведения дистрибьюторской деятельности (рис. 8).


Рис. 8

Ёто типичная Ёкстранет-система, которая позволяет не просто регистрировать заказы, но и обсуждать их условия с дилерами в режиме online. (Чаще всего эти условия не укладываются в обычную систему прейскуранта и фиксированных скидок. Как правило, окончательные цены определяются многими дополнительными факторами, в том числе и субъективными.) Отличительная черта подобной системы Ч предоставляемая партнеру возможность постоянного контроля процесса обработки заказа и получение доступа к информации о взаиморасчетах.

«ИКС Технология» также предлагает эту разработку в качестве тиражируемого решения, настраиваемого на требования конкретного заказчика.

Интернет-магазин компании «Аркадия»

Одним из наиболее популярных способов применения Web-технологий в коммерции является создание Интернет-магазинов. Специалисты «1С» проявляют в данном случае присущую фирме аккуратность в оценке возможностей своих продуктов, подчеркивая, что система «1С:Предприятие» не является специализированным продуктом для создания огромных электронных супермаркетов, ориентированных на обслуживание сотен тысяч покупателей в день. Но для средних и малых магазинов (собственно, сегодня у нас в стране мощных электронных магазинов фактически нет) данная система вполне подходит.

Примером коробочного решения является разработка петербургской компании «Аркадия» под названием «1С:Аркадия Интернет-магазин». Двойная торговая марка продукта объясняется наличием в его составе типовой конфигурации «Торговля+Склад» и участием специалистов «1С» в его разработке.

Реализация проекта выглядит достаточно обычно (рис. 9). Основные этапы покупки состоят из осмотра витрины (каталог товаров), наполнения корзины покупателем и оплаты им заказанного товара. Владелец магазина может воспользоваться готовыми шаблонами для создания интерфейса или разработать его самостоятельно. Для покупателей может быть предложен вариант с сохранением корзины заказов между посещением магазина (на клиентской машине сохраняются сведения, используемые для повторной идентификации клиента). Наряду с использованием развитой поисковой системы с помощью текстовых запросов пользователь может работать в каталоге с собственными закладками, которые сохраняются на его удаленном компьютере. Менеджер магазина в любой момент оперативно обновляет каталоги предлагаемых продуктов, специальным образом выделяя «горячую» информацию.


Рис. 9

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

Распространение этого продукта началось в конце июня, так что в ближайшее время можно ожидать появления на его основе действующих проектов, информация о которых будет размещаться на сайте http://www.magazin.ru/.

Торопись не поспешая...

Работа фирмы «1С» привлекла мое внимание сразу, как только пять лет назад я начал заниматься журналистикой в сфере компьютерного предпринимательства. С тех пор я внимательно слежу за развитием ее бизнеса и продуктов. Мне кажется, что одной из причин успеха компании является то, что она не поддается искушению применять новые технологий, руководствуясь исключительно соображениями престижа и моды. В исполнении «1С» новшества появляются очень точно к моменту, когда потенциальные клиенты готовы их принять и применить. (Здесь можно вспомнить, в частности, историю с применением MS SQL Server (КомпьютерПресс 11, с. 177) Ч о том, как специалисты фирмы настойчиво ждали, когда «созреет» не только рынок, но и сам продукт.)

В приватной беседе представитель одной из компаний-конкурентов как-то обронил: «Если Борис Нуралиев решил заняться чем-то новым, значит это стоящее дело! Так что, наверное, пришла пора заняться реальным внедрением Интернет-технологий на больших и малых предприятиях».

(C) Андрей Колесов

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