Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

JAVA. Серверные приложения

.pdf
Скачиваний:
0
Добавлен:
06.09.2026
Размер:
2 Мб
Скачать
Часть 1. Электронная коммерция 11
управления технологическим процессом, ведение бухгалтерского учета; весь бизнес-цикл перешел в электронную сферу. Использование на всех этапах бизнес-процесса информационных технологий, с одной стороны увеличило количество клиентских запросов, с другой — стало толчком дальнейшего развития информационных технологий. Но проектирова­ние, как и сама идея, дело творческое, главное — реализовать идею, а в случае коммерции получить прибыль, а значит, реализовать продукт конечному потребителю. Именно реализация, а точнее, возможность выбора определенного продукта породила новую сферу взаимных инте­ресов продавцов и покупателей. Так и появилась электронная коммер­ция, основанная не на продаже электронов, а использующая информа­ционные технологии для достижения своих целей.
Электронный бизнес (e-business) — способ ведения деловой активно­сти. Коммерция (т. е. торговля) является в бизнесе одной из частью
Электронная коммерция является в большей степени частью элект­ронного бизнеса (e-business). Нельзя в нескольких строках описать ком­мерческую деятельность, именуемую бизнесом, но все определения, присущие бизнесу, также свойственны и новомодному словосочетанию «электронный бизнес». Являясь полным аналогом обычной коммерче­ской деятельности, e-business также многообразен и включает в себя множество различных, порой совершенно несовместимых областей дея­тельности. Одной из таких областей и является коммерция, или более точно торговая деятельность â капиталистическом обществе (см. БЭС).
С появлением электронного аналога стандартного бизнеса коммерче­ская деятельность также приобрела свой собственный электронный прообраз. И по аналогии с e-business стала именоваться электронной коммерцией (e-commerce). Как и обычная коммерция, электронная так­же многообразна. Начиная от различных областей деятельности и за­канчивая различными способами реализации e-commerсe приложения.
В двух словах e-commerсe можно определить как взаимодействие участников обычного бизнес-процесса через глобальную сеть Интернет. О внутренней сети — Intranet — можно говорить только в случае до­статочной развитости электронной инфраструктуры предприятия или географическом разносе подразделений. При минимальном развитии электронной инфраструктуры предприятия издержки на содержание и разработку e-commerce приложений значительно возрастают. С другой стороны, иметь свое представительство в глобальной сети уже не рос­кошь, а производственная необходимость. Все-таки в большей степени e-commerce ассоциируется с Интернетом, поскольку предназначена именно для расширения сфер коммерческой деятельности.
Основная задача любого, даже самого малого бизнеса — получение прибыли. Получение прибыли — замечательная цель, но достигается она не только человеческим желанием, но и расширением самого биз­неса во всех доступных направлениях. А как решить основную задачу по расширению бизнеса? Действительность такова, что в настоящем решение выглядит достаточно прозаично. Главное — наличие у клиен­та доступа к глобальной сети. Если есть клиентский доступ, значит — есть потенциальный клиент. Далее дело техники — привлечь внима-
12 Часть 1. Электронная коммерция
ние клиента к необходимому источнику информации. В данном контек­сте e-commerce представляет прекрасный способ донести информацию до пользователя. E-commerce в данной роли подобна телевидению — такая же вездесущая, в определенной степени доступна, не имеет ра­совых и политических предрассудков, возрастных цензов и функцио­нирует в любое время.
Теперь не требуется звонить по телефону, чтобы узнать, есть ли специальное место — фирменный сайт, на котором можно узнать прак­тически все, что пожелает компания предоставить для всеобщего обо­зрения. И все-таки e-commerсe в большей степени коммерция, хоть и электронная, но основанная, как и обычная, на меркантильных интере­сах участников процесса. По последним данным, 14% пользователей Ин­тернета делают покупки, т. е. действительно оплачивают часть своих покупок через сайты различных компаний. Много это или мало, судить сложно, но суммы оплачиваемых товаров через Интернет сопоставимы с розничными продажами. По данным исследовательской компании Yankee Group, к 2004 г. объем продаж через Интернет составит около 7 триллионов долларов.
С другой стороны, не столько коммерция дает возможность осущест­влять деятельность в глобальной сети, сколько программное обеспече­ние, необходимое для функционирования e-commerce приложений в среде глобальной сети. И теперь уже само программное обеспечение стало неотъемлемой частью электронной коммерции. Говоря о e-com­merce, можно подразумевать деловую активность или софтверное обес­печение. И то и другое в полной мере отвечает современным требовани­ям, выдвигаемым настоящей действительностью.
Но независимо от масштаба сети, будь то внутренняя или глобаль­ная, принципы построения и работы стандартного e-commerce прило­жения идентичны. И в Интернете и в Intranet возможно использова­ние единой технологии построения информационных систем. И если принципы построения для двух систем идентичны между собой, то ре­ализация приложений для каждой системы своя. К счастью, на насто­ящий момент появились технологии, позволяющие сделать информа­ционные ресурсы общедоступными как для внутренней сети предпри­ятия, так и пользователям Интернета. Единой, базовой технологией, применимой в двух системах, является Wеb. Данная технология стала той единой платформой, способной объединить различные информаци­онные источники предприятия в единую информационную структуру.
Единая информационная система предприятия, реализованная с по­мощью Wеb-технологий, позволяет расширить границы бизнеса прак­тически до любого объема, как с географической точки зрения, так и с количественной точки зрения. В пользу Web говорит не только повсеме­стное использование данной технологии в Интернете, но и поддержка одним из двух, самых распространенных промышленных стандартов, таким, как Windows. Практически весь графический интерфейс совре­менных систем Windows реализован на Web-технологии.
Под собирательным образом Web-технологии подразумевается мно­жество различного рода стандартов и решений, каждое из которых
Часть 1. Электронная коммерция 13
предназначено для выполнения вполне определенной работы, от пере­дачи файлов до представления документа.
В жизни предприятий каждое приложение e-commerсe по-своему можно разделить на несколько различных способов использования Web-технологий. Из всех предприятий, использующих Интернет, 21% предприятий использует Web-технологии только как рекламную доску. 39% — предоставляют возможность выбора заказа товаров как по элек­тронной почте, так и с помощью Web-сайтов. 68%, кроме прочего, орга­низуют доступ к своим базам данных не только для коммерции, но и для предоставления различного рода дополнительных услуг.
Поскольку Web-технологии предназначены для работы в среде Ин­тернета, то в большинстве случаев приложения зависимы от програм­много обеспечения. Всякое e-commerce приложение работает в сети, а это, в свою очередь, значит, что приложение является сетевым про­граммным продуктом.
Программное обеспечение для работы в среде Интернета столь же многообразно, как и сам Интернет. А количество компаний, предлагаю­щих свои услуги по созданию Web-приложений, исчисляется не сотня­ми и даже тысячами. Благодаря такому многообразию, у компаний, же­лающих открыть мир Интернета, не возникает больших проблем.
В наше время для создания приложения не требуется значительных приобретений программного обеспечения. А существование бесплатного программного обеспечения отчасти может решить проблему приложе­ний для e-commerce. Широкий выбор инструментария и богатый набор готовых программных продуктов порой ставит разработчиков приложе­ний перед дилеммой. Что выбрать — готовый продукт, или же самосто­ятельно разрабатывать все приложение, или же самостоятельно сде­лать часть работы, а дополнительные компоненты приобрести у сторон­них производителей. Вопрос не тривиальный. Сегодня недостаточно просто написать хороший код, основная задача — организовать доступ к уже используемым информационным ресурсам предприятия, заста­вить работать все приложение целиком.
Одной из первых компаний, предлагающих программное обеспечение для сетевой среды, стала компания SUN Microsystems, Inc. Предлагая сначала идею сетевого компьютера, компания SUN стала первопроход­цем на рынке сетевых услуг и одним из лидеров.
Одним из самых успешных сетевых программных продуктов компа­нии SUN, без сомнения, можно назвать созданный в середине 90-х годов язык программирования Java. Язык сетевых приложений, Java идеально подходит для создания Интернет-приложений. Имея обширный набор прикладных утилит, добротный набор классов и прекрасную поддержку от производителя по всему миру, язык Java стал очень популярен в сре­де Web-программистов. А бесплатное распространение набора разработ­чика и уже готовых компонентов сделали Java лидером Web-технологий.
Сегодня для создания e-commerсe приложения не требуется значи­тельных приобретений программного обеспечения. Благодаря минима­льному набору, распространяемому компанией SUN Microsystems, Inc. совершенно бесплатно, разработчик может создать и эксплуатировать полнофункциональное Web-приложение. В двух стандартных наборах
14 Часть 1. Электронная коммерция
разработчика, Java Development Kit (JDK1.2) и Java Enterprise Edition (J2EE), находится все самое необходимое для создания e-commerce при­ложений. Но этот минимум, хотя и с очень большим набором Application Programming Interface (API), не очень удобен как средство создания, являясь в большей степени библиотекой классов, чем средством разра­ботки. Поэтому в большинстве случаев разработчики предпочитают ис­пользовать специальный инструмент, интегрированное средство разра­ботки (IDE), облегчающий создание «шедевров».
Линейка продуктов Forte for Java компании SUN, предлагает разра­ботчикам именно то, что не могут предложить стандартные наборы раз­работчика JDK. Имея графический интерфейс и встроенные отладоч­ные средства, Forte for Java представляет чрезвычайно мощное средст­во разработки приложений, выполняющееся на множестве различных платформ.
Именно благодаря языку Java создание e-commerce приложений стало обычным, достаточно распространенным занятием. Кроме стан­дартных наборов API, компания SUN стала распространять наборы классов, предназначенных непосредственно для электронной коммер­ции. Java Wallet и Java Card — первые ласточки стандартизированных, свободно распространяемых API e-commerce приложений. А сетевые способности самого языка Java сделали данные наборы классов просто незаменимыми при создании Web-приложений электронной коммерции.
В отличие от стандартного программного обеспечения, способного выполняться локально, на одной ЭВМ, сетевое приложение достаточ­но развито и имеет минимум двухуровневое представление. А всякое e-commerсe приложение базируется на двух основных парадигмах со­временности: клиент — серверной технологии и покупатель-прода­вец — транзакционной парадигме, для которых одним из самых важ­ных критериев является время ответа сервером на поступивший клиен­тский запрос. Архитектура: клиент сервер описывает любое программное взаимодействие как отношения между программой-клиен­том и программой-сервером. Сервер может предоставлять любую услу­гу, затребованную клиентом. Сервер может обеспечить доступ к дан­ным, организовать поиск, перенаправить клиентский запрос и т. д. От­ношения продавца и покупателя основываются на запросе необходимого товара и предоставлении такового за соответствующую плату. Любой компьютер может выступать как в роли клиента, так и в роли серве­ра — все зависит от того, является ли компьютер просителем или носи­телем информации в данный момент. Но в большинстве случаев под серверами часто подразумевают более мощные компьютеры, с большим объемом памяти и высокоскоростными процессорами, способные обра­батывать, вплоть до сотен тысяч, клиентских запросов одновременно.
Создание e-commerсe приложения, с использованием различных ти­пов логики, бизнес-логики, User Interface (UI) логики и других, часто требует различных навыков создания и различных инструментов и час­то должны создаваться на различных этапах. Готовое приложение — это не только набор классов, но и сбалансированная логика выполнения. Поэтому в создании e-commerce приложения участвуют не только про­граммисты, но и бизнес-аналитики и архитекторы систем.
Часть 1. Электронная коммерция 15
Принцип действия любого e-commerсe приложения можно свести к нескольким последовательным этапам. Практически для каждой облас­ти бизнеса имеются свои собственные условия создания и реализации e-commerсe приложений, но существуют общие детали практически для всех создаваемых e-commerсe приложений. Именно в данной части книги будут рассмотрены общие детали создания e-commerсe приложе­ния. Общими в данном контексте можно назвать создание серверных компонентов, среднеуровневых сервисов и пользовательского интер­фейса будущего приложения.
Как упоминалось ранее, основное отличие e-commerсe приложения от обычного приложения в том, что e-commerсe приложение базируется в основном на технологии Web и используется в сетевом окружении. Дан­ную особенность необходимо учитывать при создании собственного e­commerсe приложения. В остальном создание e-commerce приложения ни чем не отличается от создания обычного приложения. Ключевыми компонентами e-commerce приложения являются серверные компонен­ты, в большей степени описывающие бизнес-объекты, и клиентская часть, отображающая серверные данные в браузере клиента. Умение со­здавать Web-приложения значительно облегчит создание и e-commerсe приложений. А знание основ функционирования сетевых приложений просто необходимо для создания платформонезависимого приложения.
Глава 1. Основные компоненты Web-приложений
Если рассматривать структуру обычного Web-приложения с точки зрения составляющих, то можно выделить ряд встречающихся повсеме­стно элементов, более точно определенных типов файлов. Каждый тип файлов несет свою функциональную нагрузку и предназначен для опре­деленных целей. Перечень всех используемых в Интернете типов файлов достаточно велик, но его можно разбить на несколько основных классов.
Во-первых, это HTML-страницы, отображающие данные в пользова­тельском браузере, во-вторых, файлы сервера, выполняющие различ­ные работы на сервере, и, наконец, дополнительные файлы улучшаю­щие внешний вид данных и выполняющие ряд служебных функций.
Каждый из этих типов файлов представляет собой определенный ре­сурс, необходимый для исполнения Web-приложения. При проектиро­вании будущего Web-приложения каждый ресурс (файл) описывается и создается отдельно, для того чтобы позже стать доступным для компо­нента Web-приложения.
При создании Web-приложений особое внимание уделяется ключе­вым компонентам:
Архитектура Web-приложения;
Web-клиент;
Web-сервер;
Протоколы связи;
Хранилища данных;
Визуальные элементы.
16 Часть 1. Электронная коммерция
1.1. Определение Web-клиента
Существует громадное количество различных типов клиентов. Одни платят, другие предпочитают. И чтобы хоть как-то ограничить количе­ство необходимой информации, автор предлагает ограничиться рассмот­рением только клиентов, использующих HTTP-протокол передачи для работы с представителем услуг, в нашем случае сервером.
В архитектуре клиент-сервер, как в распределенной системе, приня­то описывать два основополагающих компонента: клиент и сервер. Под клиентом подразумевается объект, нуждающийся в каком-либо ресур­се, и чаще всего данным ресурсом обладает другой источник. Запраши­ваемый ресурс может существовать, может отсутствовать или быть не достигаемым в данный момент времени, но независимо от этого клиент всегда тот, кто запрашивает определенный ресурс. Для Web-систем под клиентом обычно подразумевается удаленный компьютер, использую­щий ресурсы другого компьютера, называемого сервером.
Web-клиенты могут делиться на несколько типов по различным ха­рактеристикам:
по используемому протоколу передачи данных, таких как HTTP,
WAP, или любому другому используемому в Интернете; по типу используемого приложения, Web-браузер или клиентская
программа; по «толщине», тонкий и толстый. «Тонкий» клиент обычно не тре-
бует специального программного обеспечения для выполнения Web-приложения. В повседневности под «тонким» клиентом подра­зумевается набор из операционной системы и Web-браузера. В от­личие от «тонкого», «толстый» клиент обладает дополнительными свойствами, например, возможностью сохранения данных прило­жений на локальном диске. Кроме всего прочего, «толстый» клиент достаточно дорог в обслуживании. Для Интернет-приложений кли­ент чаще всего является «тонким», использующий Web-браузер и HTTP-протокол. В двух словах, клиент тот, кто требует чужих ре­сурсов. «Настоящий» Web-клиент тот клиент, который посылает на Web-сервер запрос. Web-клиент работает только с представляе­мыми данными. А то, как отобразить и какие данные, это входит в обязанности Web-сервера.
Деление по «толщине» также разделяет клиентов по принципу об­работки логики приложения. Клиент может самостоятельно обра­батывать данные, проводить необходимые расчеты и т. д. Чаще всего этим занимается «толстый» клиент. С другой стороны, «тон­кий» клиент также может содержать часть логики приложения и даже обрабатывать по мере своих сил.
Отдельной строкой можно выделить два новых типа Web-клиента, получивших широкое распространение с ростом популярности Ja­va и принятием нового стандарта разметки текста известного как Extensible Markup Language (XML). Первый из них, Java-клиент, приложение, реализованное на языке программирования Java, на­пример аплеты или Java-классы встроенных устройств. Другой яв­ляется расширенным заменителем стандартной HTML-страницы, с
Часть 1. Электронная коммерция 17
той лишь разницей, что в разметке Web-документа предусмотрена возможность создания собственных разметочных полей (тегов) и способность XML-документом нести часть логики приложения.
Проблема переноса документа из одной операционной среды в дру­гую с сохранением не только данных, но и формата текста стояла до­статочно давно. С появлением различных программных платформ воз­никла проблема единого представления документа. Консорциум W3C, основываясь на многолетнем опыте и существующих технологиях, при­нял стандарт разметки текста XML, очень похожий на обычный HTML. XML предназначен для создания единой формы документа, единой для всех платформ с сохранением внешнего вида документа, приемлемого для всех существующих информационных систем.
В последнее время для создания универсального клиента, переноси­мого на все платформы и независимого от других характеристик, испо­льзуется XML. Платформонезависимый XML-документ может высту­пать самостоятельно в роли клиента или занимать промежуточное со­стояние непосредственно между клиентами различных типов и серверами. XML-документ формируется на основе клиентского запроса, независимо от типа клиента и протокола передачи данных. В то же время на сервере с XML-документом, несущим клиентские данные, ра­ботает программа-обработчик, выделяющая данные из документа или добавляющая данные в XML-документ для дальнейших этапов работы с документом. Такая система принята в большинстве программных про­дуктов, предназначенных для работы в среде документооборота. Клиент XML скорее представляет из себя объект, описывающий документ в определенном виде, чем какую-либо физическую данность. К сожале­нию, только последние версии популярных Web-браузеров могут рабо­тать с XML-документами, но уже существуют средства, представляю­щие возможность работать с данным типом документов и в более ран­них версиях браузеров.
Java-клиент также получил широкое распространение, но теперь уже благодаря распространению самого языка Java. Платформонезависи­мость Java-клиента основывается на различных версиях Java Virtual Machine (JVM). Java-клиент может работать на любой платформе, начи­ная от майнфреймов и персональных компьютеров до мобильных телефо­нов и кредитных карточек. В отличие от обычных Web-клиентов, Java­клиент обязательно требует наличия специальной исполняемой машины JVM и может использовать все доступные для обычных Java-приложе­ний способы взаимодействия с программными продуктами, независимо от их месторасположения. С появлением новых версий JVM, работающих во встроенных системах, появились и новые типы Java-клиентов. Ходят слу­хи о появлении на рынке бытовой техники, способной самостоятельно связываться через Интернет с необходимыми источниками данных. Так что Java-клиент может в полной мере именоваться и Web-клиентом.
Кроме основного недостатка, а именно наличие Web-сервера, Web­клиент имеет и свои большие преимущества. Во-первых, доступность практически из любого географического места, где имеется Интернет. Во-вторых, относительная дешевизна, а иногда и бесплатность Web­браузера. Кроме некоторых различий между самими Web-браузерами и
18 Часть 1. Электронная коммерция
между версиями одноименных Web-браузеров, каждый HTML-доку­ментопользователь увидит таким, каким его создал Web-дизайнер.
Сегодня самым распространенным типом Web-клиентов, без сомне­ния, остаются Web-браузеры, такие, как Netscape или Hot Java, имею­щие встроенную JVM, а также поддержку новых Web-технологий. Но как бы ни был хорош браузер, ему просто необходим сервер. Сервер, способный обрабатывать запросы Web-клиента.
1.2. Определение сервера
В архитектуре клиент-сервер сервер исполняет роль обработчика клиентских запросов. Сервер приложения обрабатывающие клиентский запрос. В рамках обычной клиент-серверной системы клиент обращает­ся к данным, находящимся на сервере. Сервер в данном случае высту­пает и как сервер данных, и как обработчик запросов.
На настоящий момент можно выделить три типа серверов, использу­емых в Web-приложениях. Web-сервер, обрабатывающий HTTP-запро­сы, поступившие от Web-клиента и Application (сервера приложений)­сервера. Web-серверы обрабатывают клиентские запросы, пересылают их дальше, формируют на основе запросов обращения к внешним ис­точникам данных. Отдельной строкой можно упомянуть сервер данных, о нем будет сказано ниже. Web-серверы работают с такими стандарта­ми, как SMTP, POP3, IMAP4, IRC, NNTP, FTP, ODBC и CORBA OTS/IIOР, т. е. Стандартами, принятыми в Интернете. Application Ser­ver отвечает непосредственно за логику e-commerce приложения, орга­низуя запросы к внешним/внутренним источникам данных, формируя цепочки обработки клиентских запросов, управляет внутренними моду­лями и системными ресурсами.
Web-сервер или еще называемый как HTTP-сервер работает с разными протоколами передачи данных, обеспечивая клиент-сер­верное взаимодействие. Одним из недостатков Web/http-сервера считается отсутствие возможности обрабатывать динамические данные. Web-сервер не предназначен для обработки пользователь­ских событий без формирования клиентского запроса. Всякое дей­ствие пользователя формируется на стороне клиента в виде запро­са. Что бы ни произошло, прежде чем отреагировать, HTTP-сервер должен получить клиентский запрос и уже затем, отреагировать на действия клиента. Web-сервер предназначен для организации доступа Web-клиента. HTTP или Web используют стандартный интерфейс доступа к приложениям Common Gateway Interface (CGI) и улучшенную версию FastCGI. Дабы избежать большой сложности системы, иногда на уровне HTTP-сервера располагают Java-загрузчик, придавая HTTP-серверу дополнительные способ­ности обрабатывать клиентские запросы при посредничестве Java­компонентов.
Application-сервер отличается от стандартного Web-сервера на­личием дополнительных модулей, таких, как обеспечение дополни­тельного уровня безопасности, обеспечение устойчивости к раз-
Часть 1. Электронная коммерция 19
личным типам сбоев, выравнивание нагрузки сетевого трафика, администрирование приложений, расширяющих возможности об­работки клиентского запроса. Чаще всего именно на уровне Appli­cation-сервер реализована JVM, работающая с Java-объектами, и servlet engine, необходимый для обработки клиентских запросов при помощи servlet и Java Server Page (JSP). Кроме описанных компонентов, на сервере приложений могут располагаться Enterp­rise Java Bean (EJB)-сервер, менеджер транзакций, объектные брокеры и т. д. Перемещение процессов принятия решений с кли­ентских приложений на отдельный сервер, значительно повышает модульность клиент-серверных программ. Современные серверы приложений не работают самостоятельно, а являются надстройка­ми над стандартными HTTP-серверами.
И если Web-сервер может работать без сервера приложений, без по­тери всякой функциональности, то сервер приложений вряд ли сможет обрабатывать клиентские запросы без HTTP-сервера. В момент уста­новки сервер приложений автоматически конфигурирует установлен­ный HTTP-сервер для переадресации клиентского запроса, после чего HTTP-сервер становится просто диспетчером запросов, а обработчиком клиентских запросов определяется сервер приложений.
В силу специфики работы Application Server размещается внутри внутренней сети предприятия, в так называемой демилитаризованной зоне (DMZ), где используются повышенные уровни безопасности.
Application Server обрабатывает различные типы данных: HTML­страницы, изображения, видео- и аудиоинформацию, которую может отобразить браузер клиента, в Java Server Pages — страницы, форми­руемые в момент запроса, и исполняемые программы, различные архи­вы данных и динамические элементы.
Практически все Application Server, реализованные на Java, имеют встроенный контейнер, содержащий Enterprise Java Bean (EJB) contai­ner, а также servlet engine, программу обработки servlet. Немаловажной деталью сервера является тип обработки клиентских запросов. Сервер может обрабатывать запросы последовательно, один за другим, или па­раллельно, т. е. несколько запросов одновременно. Такой сервер создает отдельный процесс для каждого поступившего запроса. После обработки всех процессов, запросов сервер переходит в состояние «ожидания» до тех пор, пока не поступит новый клиентский запрос. Сервер, использу­ющий технологии Java, уже многопоточен, поскольку сама Java много­поточна, кроме того, существуют специальные способы организации па­раллельной обработки сообщений.
Некоторые типы серверов приложений (к примеру, Web Sphere Ap­plication server компании IBM) поддерживают узелковую архитектуру, когда под одним узлом (node) описывается несколько копий програм­много обеспечения. В узелковой архитектуре каждая копия програм­много продукта, в данном случае сервера приложений, устанавливается отдельно, хотя физически они могут располагаться на отдельных компьютерах или на одном. Преимущества такого подхода очевидны, «вход» — HTTP-сервер — один, и этим «входом» очень легко управ­лять, а обработчиков запросов несколько, что значительно увеличивает
20 Часть 1. Электронная коммерция
скорость формирования ответов. Узел устанавливает единое именное пространство для всех копий установленных серверов приложений, т. е., для клиентских запросов разница узел представляется единственной копией сервера приложений.
В клиент-серверной архитектуре не описано четкое распределение ролей между клиентом и сервером и ничто не запрещает превратить сервер в клиента или произвести обратное превращение, также воз­можно создать одно приложение, являющееся одновременно и клиентом и сервером.
В последнее время наблюдается тенденция разделения ресурсов между различными серверами. Если старый подход связывался с еди­нением данных в одном источнике, то сегодня распределение ресур­сов — одна из основополагающих задач проектирования приложений.
Каким бы ни был замечательным Web-клиент и каким бы ни был Web-сервер, взаимодействие двух основных компонентов Web-архитек­туры немыслимо без транспортного уровня. В Интернете используется очень большое количество транспортных протоколов — от низкоуровне­вых, обеспечивающих передачу данных по медным проводам, до прото­колов отражения информации. Транспортные протоколы в прямом смысле слова являются связующим звеном между Web-клиентом и Web-сервером.
1.3. Протоколы связи
Взаимоотношения между клиентом и сервером осуществляются по­средством использования протокола передачи данных. Клиент посылает свой запрос, используя протокол, понятный серверу. В данный момент не важно, какой именно тип клиента отправляет запрос и по какому протоколу, важно, чтобы и сервер, и клиент одновременно и совместно использовали один и тот же протокол передачи. На настоящий момент самыми распространенными протоколами, используемыми в e-commer­сe, а точнее, в Web-приложениях являются HTTP, RMI, IIOP.Асраз­витием мобильной телефонии в последнее время все большую популяр­ность приобретает новый протокол, используемый в мобильных телефо­нах, — WireLess Application Protocol (WAP).
Hyper Text Transfer Protocol (HTTP) — широко распространенный протокол передачи данных, используемый в Web-приложениях. Обычно применяется при взаимодействии Web-браузера с Web­сервером. Основным способом отражения информации в Web-при­ложениях служит язык разметки текста HTML, очень часто HTML расширяется при помощи различных дополнительных модулей. В JDK, начиная с самой первой версии 1.0, существует пакет ja­va.net, предназначенный для работы с приложениями, использую­щими http-протокол. HTTP используется для установления кон­такта между клиентом и сервером.
Remote Method Invocation (RMI)-протокол, созданный фирмой SUN для организации взаимодействия между Java-объектами, на­ходящимися на различных платформах как в физическом смысле,