В этой главе мы рассмотрим три интегрированные системы, призванные облегчить процесс разработки сайтов на базе технологии Ajax. Они пытаются взять на себя работу по организации взаимодействие сервера и клиента, позволяя разработчику сконцентрироваться на более интересных аспектах, таких как реализация классов бизнес- приложения.
Каждая из этих систем задействует различные методики обработка заданных на стороне сервера: PHP, Java и ASP.NET. Все они относят: к категории систем, известных как системы вызова удаленных объектов. Это означает, что данные системы отвечают только за созданного программного кода JavaScript. Сценарий JavaScript создает объекта XmlHttpRequest, преобразует параметры запроса в требуемый и возвращает результаты, как правило, с помощью функций вызова. Это в корне отличает их от класса систем, создающих комбинацию HTML/JS, которые требуют только выполнения определенных настроек, но дают меньше возможностей по управлению запросами и обработке ответов.
В этой главе будут рассмотрены:
• JPSpan. Основана на применении РНР - надежного, с открытыми исходными текстами языка сценариев, работающих на стороне сервера.
• DWR. Позволяет обращаться к классам Java, размещенным на сервере.
• Ajax.NET. Позволяет организовать взаимодействие с серверной честью приложения, написанной на любом языке программировав под платформу .NET.
Примеры применения каждой из систем следуют общему шаблону цель которого заключается в том, чтобы показать, как создать объект бизнес-логики и организовать обращения к его метет,»* из клиентской части приложения.
Под термином «объект бизнес-логики» подразумевается класс, отражающий некую сущность реального мира и обладающий методами и свойствами, необ¬ходимыми для работы с ним внутри приложения. В качестве примера можно привести класс Video, который используется в системе приема заказов на по-купку фильмов в интернет-магазине. Этот класс мог бы обладать такими свойствами, как title и dailyRentalCost, а также методом.
В наших примерах объектом бизнес-логики будет представление ин¬формации о заказчике; этот класс типичен для многих приложений. В реальных приложениях у класса Customer может быть много свойств (имя заказчика, его адрес, данные о том, как давно заказчик стал кли¬ентом), равно как и методов, таких как getOutstandingOrdersQ (полу¬чить список невыполненных заказов).
Чтобы пример был проще и вам легче было сфокусировать внимание на работе интегрированных систем, упростим реализацию нашего класса Customer и снабдим его единственным методом getAddressFrom-EmailQ, который будет возвращать сведения о заказчике по его элек¬тронному адресу.
В реальных приложениях принято отделять классы бизнес-логики, представ¬ляющие объекты реального мира, от классов, занимающихся обслуживанием хранилищ данных, таких как реляционные базы данных. Чтобы упростить примеры, поручим классу Customer самостоятельно извлекать информацию из базы данных.