Приложно-програмен интерфейс: Разлика между версии

Изтрито е съдържание Добавено е съдържание
PegasusTeam (беседа | приноси)
Редакция без резюме
PegasusTeam (беседа | приноси)
Редакция без резюме
Ред 106:
За да бъде възможно обменянето на информация между системите, които използват различни технологии, когато едно API имплементира протокол, то може да предвижда формат за съобщение на неутрален език, например SOAP използва XML като като общ контейнер на съобщенията, които трябва да бъдат обменяни, като по същия начин и REST API може да използва двете XML и JSON.
 
====API за обмяна на обекти и протоколи====
 
Едно обектно API може да предвижда специфичен формат за обмяна на обекти, който програмата може да използва локално в приложението, протокола за обмяна на обекти може да дефинира начина за трансфер на един и същ тип информация в съобщение, което е изпратено към отдалечена система.
 
Когато се обменят съобщения чрез протокол между две различни платформи, използвайки обекти от двете страни, обекта в програмния език може да бъде трансформиран в обект в отдалечения и различен език, например програма, която е написана на [[Java|Java]] се обръща към услуга чрез [[SOAP]] или IIOP, написан на [[C Sharp|C#]] двете програми използват API-та за отдалечено извикване (всеки локално към машината, където те работят), за да обменят (дистанционно) информация, която двете конвертират от/към обект в локалната памет.
 
Вместо това когато подобен обект се обменя чрез API локално към една машина обекта се обменя ефективно в паметта, например чрез памет, предназнчена за единствен процес, или между няколко процеса, използвайки споделена памет, сървърно приложение или други технологии за споделяне като [[tuple spaces]].
 
====Отдалечено API на обекти и протоколи====
 
Отдалеченото API за обекти е базирано на отдалечен протокол, като CORBA, който позволява извикване на отдалечен обектен метод. Извикване на метод, който е изпълнен локално върху прокси обект, извиква съответния метод върху отдалечение обект, използвайки отдалечен протокол, като изисква резултата да бъде използван локално като връщана стойност.