Подобно Web-технологии, Java сейчас используется в двух областях - в общедоступной сети Internet и в корпоративных сетях intranet. Российская компания Formoza Soft занимается разработкой программного обеспечения на Java как для Internet, так и для корпоративного использования. Компания достаточно молода (официально она была создана около полугода назад), однако команда программистов, составляющая костяк компании, работала с Java с самого начала - с 1995 года.
Вначале был Internet...
В апреле этого года на выставке Comtek'97 Formoza представила свою реализацию Internet-магазина. Его основу составляет корпоративная база данных компании, где хранится вся необходимая покупателю информация о товаре: от цен до изображения товара, а загружаемый покупателем Java-апплет используется в качестве удаленного клиента, работающего с этой базой данных. С помощью многооконного интерфейса, который реализует апплет, можно найти нужный товар; убедиться, что его внешний вид отвечает вашим требованиям; сформировать заказ и выбрать наиболее удобный способ оплаты. Таким образом, Internet-магазин позволяет в реальном времени работать с базой данных магазина через Сеть. Посмотреть, как действует реальный Internet-магазин, можно посетив Web-сервер компании Formoza по адресу www.shop.formoza.ru.
Идея сетевого магазина очень проста - предоставить покупателю возможность заказывать через Internet определенные товары и оплачивать их удобным для него способом (с помощью кредитных карточек, за наличный или безналичный расчет). Магазин работает примерно следующим образом: покупатель загружает на свой компьютер Java-апплет с Web-сервера магазина и заполняет форму, где указывает способ оплаты товара и все необходимые для этого реквизиты. Если клиент хочет платить наличными, он заказывает необходимый товар, получает счет и может приехать за своим заказом в течение суток. Аналогично обслуживаются клиенты и по безналичному расчету, только товар резервируется на больший срок. Если же покупатель имеет кредитную карточку Visa, MasterCard или любую из карточек Мост-банка, то он может оплатить товар прямо через Internet.
Internet-магазин предоставляет возможность удаленной работы с реальной базой данных магазина, что может помочь в работе региональных дилеров. "Сейчас Internet начинает использоваться как телекоммуникационный мост между Москвой и регионами, - говорит Александр Хельвас, технический директор компании. - Эта задача стоит достаточно остро, так как во многих регионах Internet начал развиваться, появляется возможность использовать его для серьезной работы".
Собственно, первоначально Internet-магазин был разработан для внутренних нужд корпорации Formoza. "Одна из основных задач компании Formoza Soft, - поясняет Хельвас, - это поддержка системы автоматизации продаж во всей корпорации Formoza". Поэтому изначально создавалась система автоматизации продаж в корпорации, которая была реализована на основе стандартных решений компании Oracle. Но потом было принято решение использовать в качестве клиентского ПО Java-приложения. Так и появился Internet-магазин компании Formoza, который, по сути, представляет собой удаленный торговый терминал для обслуживания компьютерного магазина-салона. Однако использование Java позволило сделать систему заказа товара общедоступной.
При разработке Internet-магазина программистам Formoza Soft пришлось столкнуться с некоторыми трудностями, главной из которых оказалась русификация Java-программ. Эта проблема была решена с помощью векторных шрифтов и специальной программы прорисовки их на экране. Такое решение позволяет использовать русские буквы даже в тех браузерах, которые вообще не поддерживают кириллицу. Вторая проблема - необходимость максимально сократить объем Java-кода и ускорить его выполнение. Этот этап оказался самым трудоемким - на оптимизацию кода было затрачено 80% времени, которое потребовалось на разработку продукта, так как приходилось настраивать каждый модуль вручную. "Мы сейчас большинство своих Java-приложений, которые критичны ко времени выполнения, пишем с ручной оптимизацией кода по быстродействию, - объясняет Хельвас. - В результате получился достаточно быстрый и компактный код, существенно расширивший возможности данной технологии".
В общем, недостатки Java, с которыми пришлось столкнуться специалистам Formoza Soft, характерны для молодых продуктов, когда технология активно развивается и часто трудно предсказать точную дату выхода продукта, равно как и направление, по которому пойдет развитие технологии. Кроме того, Java сейчас, к сожалению, представляет собой не только технологический, но и политический инструмент. Java используют как аргумент в конкурентной борьбе на компьютерном рынке. Поэтому, с одной стороны, все торопятся выпустить продукт как можно быстрее, а с другой - в спешке допускают ошибки. Компания Formoza Soft предлагает разработанный ею Internet-магазин как отдельный продукт для тех, кто хочет открыть свой бизнес в Internet. Однако кроме собственно интерфейса с пользователем, который реализован в виде Java-апплетов, Internet-магазин имеет и большую "подводную часть" - внутренние базы данных, которые, естественно, могут различаться для разных компаний. Для быстрой разработки "начинки" Internet-магазина в компании создана некая стандартная структура базы данных, которая может быть настроена в соответствии с требованиями заказчика. Поэтому в стоимость Internet-магазина входит и доработка баз данных, разработка интерфейса и даже при необходимости Web-дизайн. Если же у клиента есть прямое подключение к Internet, то компания может установить Internet-магазин на сервер заказчика удаленно.
Компания начала разработку Internet-магазина на Java, руководствуясь тремя основными причинами: многоплатформенностью Java, возможностью активно использовать созданный ранее код и желанием отработать на небольшом решении технологию для построения более сложных систем автоматизации. "На маленьком решении мы отрабатываем технологию в области большой автоматизации, - объясняет Хельвас. - Собственно, компания использует и другое решение для разработки подобных систем - готовую среду разработки сложных клиент-серверных систем от Oracle. Сейчас Oracle уже сориентировалась на Java, однако подобные решения были актуальны еще полтора года назад".
Впрочем, Formoza Soft пока не чувствует прямой выгоды от реализации Internet-магазина. "Конечно, люди попадают в Internet-магазин, что-то заказывают и оплачивают, но это еще не коммерция, - поясняет Анатолий Ясинский, генеральный директор Formoza Soft. - Это значит, что пока в Internet-магазин мы вложили больше, чем выручили в результате продажи". Поэтому сейчас Internet-магазин можно расценивать скорее как рекламу, и даже не самого продаваемого через Internet товара, а технологии, с помощью которой этот товар продается.
Электронные магазины себя не окупают в основном из-за слабого развития Internet в России. В российском секторе Сети еще нет массового пользователя, который воспринимал бы Internet не как что-то мистическое, а как еще одно средство обмена информацией вроде телефона или телевизора. "Мы продаем компьютеры, в которые встроен факс-модем с несколькими бесплатными часами работы в Internet, - говорит Ясинский. Когда же мы собираем статистику за полгода - то есть просто обзваниваем клиентов и спрашиваем: 'Ну как вам Internet?' - оказывается, что половина клиентов даже не знали ранее, что у них в компьютере установлен факс-модем". Поэтому пока российская Сеть не станет массовой, реальной отдачи от Internet-магазинов будет немного.
Однако, по словам Ясинского, "Internet-магазин - это лишь небольшая часть того, что мы на самом деле умеем и предлагаем. Internet-магазин, по сути, демонстрирует, как удаленному пользователю можно работать без дополнительного клиентского ПО через обычный браузер с реальной базой данных предприятия". Поэтому основная цель компании Formoza Soft - создание технологии для удаленного взаимодействия сотрудника с корпоративной базой данных своего предприятия.
Главная цель - intranet
Технология, которую разработала Formoza Soft, может быть использована для автоматизации торговой деятельности крупных компаний и холдингов. Такое решение обычно строится по трехуровневой архитектуре клиент-сервер, в которой Java-программы выполняют роль клиентских терминалов. В качестве основы торговой системы создатели Formoza Soft использовали базы данных Oracle или Informix, а сервер приложений спроектировали самостоятельно - с помощью специального инструмента разработки. Связи между компонентами системы выполняются по следующим протоколам: сервер приложений взаимодействует с базой данных по SQL, а с клиентом - по протоколу, совместимому со стандартом CORBA-2 (сейчас используется Solaris NEO).
Такую систему собирается использовать один из дистрибьюторов компании Konica для создания региональной дилерской сети. Характерная черта систем - то, что все клиенты известны заранее: это фотолаборатории, которые работают с конкретным дилером или дистрибьютором. Java-интерфейс в этом случае позволяет организовать систему заказов и поставок оборудования и товаров в замкнутом круге предприятий, где все клиенты известны. Естественно, простой пользователь Internet в этот круг допущен не будет, хотя весь поток сообщений передается именно через Internet.
"Такого рода систем достаточно много, причем в самых разнообразных областях, - отмечает Хельвас. - Новая технология Internet-магазина оказывается очень эффективной в случае, когда сервис предоставляется не всем подряд, а только ограниченному кругу пользователей. К таким пользователям может относиться, например, сеть аптечных киосков Москвы или мини-кафе. Иными словами, такая технология позволяет оперативно обслуживать небольшую территорию и быстро реагировать на изменение обстановки у клиентов".
Системы автоматизации торгового процесса для нескольких компаний обычно состоят из нескольких окошек с таблицами, кнопками, закладками и другими управляющими элементами. Разработать такую систему за короткий срок без соответствующей технологии достаточно сложно. Однако с помощью Java подобные системы можно строить из стандартного набора уже готовых модулей.
"Мы используем определенный набор стандартных решений, как для интерфейса, так и для сервера приложений, - говорит Хельвас. - Мы сами создаем себе конструктор, а затем строим из готовых блоков то, что нам нужно. В этом случае Java, как хороший объектно-ориентированный язык программирования, дает программисту возможность активно использовать созданный ранее код. У нас есть определенные наработки по всем трем уровням. Была создана определенная объектная технология, которая полностью ориентирована на Java-интерфейс и сводит к минимуму долю ручного труда при создании всех трех уровней системы клиент-сервер. Составляется единый репозитарий описания системы, из которого автоматически генерируются все три уровня системы".
Основу этой технологии составляет принципиальная возможность описания бизнес-логики на цветных и объектно-ориентированных сетях Петри. Причем методология описания бизнес-логики разработана компанией Formoza Soft совместно с Центром открытых систем МФТИ. Кроме того, технология позволяет динамически менять структуру системы в процессе эксплуатации. Для этого вместе с готовым продуктом поставляется урезанный инструмент разработки, который дает возможность с помощью сетей Петри легко изменить работу системы. Хельвас так описывает работу с созданной ими системой: "Новый бизнес-процесс описывается с помощью стрелочек, потом простым нажатием кнопки генерируется прототип пользовательского интерфейса, вид которого можно затем настроить под нужды пользователей. В результате получается готовое приложение, реализующее описанную бизнес-логику".
Formoza Soft также разрабатывает мелкие программные решения, служащие для управления распределенными компаниями. Есть, например, система для менеджера по работе с региональными офисами в торговой компании, которая предоставляет средства анкетирования большого количества точек с созданием банка вопросов/ответов и возможностью обработки, рассылки вопросов, контроля прихода ответов и другими аналогичными функциями.
Система состоит из генератора анкет по стандартному банку вопросов, модуля рассылки, клиентской части, которая позволяет правильно заполнять анкеты, и серверной части, которая обрабатывает полученные ответы и загружает их в базу данных. Причем передача вопросов и ответов может выполняться даже по электронной почте по следующей схеме: региональный филиал получает по почте вопросник, распаковывает его и заполняет. Клиент же на Java автоматически запаковывает результаты ответов и посылает их головному предприятию.
Удаленная работа с корпоративной системой через общедоступную сеть Internet - возможно, наиболее перспективная область применения Java-технологии, например, если у компании есть сеть филиалов в городе или в стране, или даже по всему миру и ее руководству нужна информация, способствующая развитию бизнеса. Именно для решения таких задач подходит Java-технология.
Перспективы
Компания Formoza Soft поддерживает две технологии - объектно-ориентированную трехуровневую технологию клиент-сервер с использованием Java-интерфейса и готовое решение на базе технологии Oracle. Поскольку Oracle и Sun достаточно дружественно относятся друг к другу и придерживаются общего направления в развитии Internet-технологий, то продукты этих компании также начинают "сближаться". "В будущем мы собираемся перейти на Oracle 8 и активно использовать протоколы, соответствующие стандарту CORBA-2, поддерживаемые в Oracle 8. Таким образом, наши технологии и наработки как по Java, так и по Oracle будут функционировать совместно".
Java-технология перспективна с точки зрения очень большого количества клиентов в различных торговых домах и компаниях. Java открывает перед этой областью бизнеса целый ряд возможностей, значение которых трудно переоценить. Одна из основных перспектив - это создание бездисковых рабочих станций для персонала компании. В случае реализации инициативы Sun Java PC появится возможность с небольшими дополнительными затратами включать в бизнес-процесс компаний парк устаревших компьютеров на процессорах Intel 386 и 486. Эти компьютеры превратятся в Java-станции и смогут функционировать в корпоративной сети любой компании. Торговые терминалы и другое специализированное оборудование, связанное с коммерцией, в большинстве своем построены на основе процессоров 386 или 486. Установив на них Java-машины, можно легко связать их с торговой системой. Многих также привлекает использование Java как наиболее безопасного средства связи через общедоступные сети, для удаленного доступа к корпоративной сети. Это решение особенно должно порадовать менеджеров, которые, находясь в командировке и имея выход в Internet, смогут осуществлять управление компанией в реальном времени и даже принимать ответственные решения. "Москва, Подмосковье и Петербург, видимо, очень быстро будут охвачены электронным управлением бизнеса", - считает Хельвас.
Сегодня на базе одного из подразделений корпорации Formoza - "Остров Формоза", которое является реселлером Sun, предполагается реализовать новую форму продажи техники и программного обеспечения Sun - магазин, в который можно будет просто прийти и купить необходимый продукт. В России нет других магазинов, которые продавали бы продукты Sun. И если появится русифицированный вариант JavaStation, то он будет пользоваться спросом среди компаний, у которых корпоративная сеть строится на Java. Ближе к Рождеству на основе этого магазина будет создана своя инфраструктура, связанная с Java.
Web-адрес компании Formoza: http://www.formoza.ru