Компоненты OWC, работающие на стороне сервера
Одно из достоинств компонентов OWC заключается в том, что они могут работать на стороне сервера. Причины, по которым целесообразно перенести их работу на сервер, могут быть самыми разными. Вот три основные:
- У клиента нет компонентов OWC и он не располагает лицензией на Office 2000, необходимой при легальной работе с компонентами.
- Клиент открывает Web-страницы в браузере, не являющемся контейнером COM-объектов, например, клиент использует обозреватель NetScape.
- В ряде случаев эффективнее перенести всю работу на сервер, а клиенту пересылать по запросу или в момент возникновения определенных событий моментальные снимки диаграмм, электронных и сводных таблиц.
Обычно Com-объекты работают либо как видимые объекты, либо как невидимые объекты (in memory). Компоненты OWC спроектированы так, что для них возможны оба способа работы. На стороне сервера они работают, конечно же, как невидимые объекты, поскольку там нет клиента, который мог бы с ними работать в интерактивном режиме. Они создаются программно, с использованием метода CreateObject, вызываемого объектом Server. Вот как может выглядеть код, создающий на стороне сервера компонент Chart, или, более точно, основной его объект cspase:
Set m_cspace = Server.CreateObject("OWC.Chart")
После того как объект получен, остальная часть работы с этим объектом на сервере ведется так же, как и на стороне клиента. Завершающим аккордом на стороне сервера является преобразование построенной диаграммы или сводной таблицы в графический образ, который и пересылается клиенту. Для этой цели используется метод ExportPicture, которым обладают компоненты OWC.