Прикладной интерфейс к протоколам 4.1. Введение

В предыдущих главах описана модель взаимодействия типа клиент/сервер для программ, обменивающихся данными, и показаны зависимости между параллельной работой и сетевой связью. В настоящей главе рассматриваются общие свойства интерфейса, применяемого в прикладной программе для обмена данными в рамках модели клиент/сервер. В следующей главе эти свойства демонстрируются на практических примерах и предоставляются подробные сведения о конкретном интерфейсе.

4.2. Неформальная спецификация программного интерфейса протокола

Протоколы TCP/IP были спроектированы с учетом необходимости их применения в среде, которая включает аппаратное и программное обеспечение многих поставщиков. Проектировщики протоколов TCP/IP, стремясь обеспечить их совместимость с многочисленными разновидностями компьютеров, операционных систем или сетевых интерфейсных устройств, тщательно следили за тем, чтобы была исключена какая-либо зависимость от внутреннего представления данных, применяемого любым поставщиком. Кроме того, в стандартах TCP/IP полностью исключены какие-либо спецификации интерфейса прикладного программирования в терминах средств, доступных в операционной системе только одного поставщика.

Таким образом, интерфейс между TCP/IP и приложениями, в которых эти протоколы используются, был определен неформально, в виде ряда рекомендаций, а не точной спецификации.

В стандартах TCP/IP не даны подробные сведения о том, каким образом прикладное программное обеспечение должно взаимодействовать с программным обеспечением протоколов TCP/IP; в них описаны только необходимые функциональные средства, а возможность определять конкретные требования к реализации API-интерфейса предоставлена системным проектировщикам.

4.2.1. Преимущества и недостатки неформальной спецификации

Применение неформальной спецификации API-интерфейса имеет свои преимущества и недостатки. Преимуществом такой спецификации является гибкость и широкая применимость. Она позволяет проектировщикам реализовывать протоколы TCP/IP для любых операционных систем, начиная от простейших версий, работающих на персональных компьютерах, и заканчивая сложнейшими системами супер-ЭВМ. Бще более важно то, что наличие неформальной спецификации означает, что проектировщики имеют возможность использовать организацию интерфейса, наиболее подходящую для операционной системы: процедурную или основанную на передаче сообщений. Снип 10-01-94 Система нормативных документов в строительстве. Основные положения. протезирование зубов

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

На практике существует лишь небольшое число API-интерфейсов, позволяющих использовать протоколы TCP/IP во многих приложениях. Калифорнийский университет в г. Беркли (Berkeley) определил API-интерфейс для своей версии операционной системы UNIX; этот API-интерфейс, который был адаптирован для многих систем, разработанных позже, включая Linux, известен под названием API-интерфейса сокетов, интерфейса сокетов или просто сокетов. Компания Microsoft приспособила API-интерфейс сокетов для использования в своей операционной системе и присвоила этому варианту название Windows Sockets. Компания AT&T; определила API-интерфейс для системы UNIX версии System V, который получил известность под аббревиатурой. Определено также несколько других API-интерфейсов, но пока еще ни один из них не получил широкого признания.

Похожие статьи Меню Опрос Фото Популярное