Telegram Group & Telegram Channel
Как избежать влияния кода и бизнес-логики при проектировании API

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

Допустим, что для реализации нашего API онлайн-магазина у каждого клиента есть один активный адрес. Но адреса в системе никогда не удаляются; вместо этого их статус становится неактивным, когда клиент не пользуется услугами сайта. Проектирование API, на который влияет эта бизнес-логика, может обеспечить следующие ориентированные на поставщика цели:
— составляем список адресов клиентов (активных и неактивных);
— добавляем адрес клиента;
— обновляем статус адреса (на активный или неактивный).
Слова, используемые для описания этих целей, понятны, но общее назначение целей может быть неочевидно для потребителя, который не знает точно, как система обрабатывает адреса. Эти цели показывают, как данные обрабатываются внутри; на рис. 2.20 показано, как их нужно использовать.

В левой части рисунка показано, как изменить адрес клиента с помощью этого API. Потребители должны перечислить существующие адреса, чтобы определить активный, обновить их, чтобы установить статус «неактивный», а затем добавить новый активный адрес. Довольно просто, нет? Вовсе нет! Это очень сложный процесс, и здесь легко что-нибудь может пойти не так. Что, если потребители не установят для предыдущего адреса значение «неактивный»? Это может стать катастрофой для целостности данных – здесь рискует поставщик.

К счастью, в правой части рисунка показано простое решение. Весь этот сложный и опасный беспорядок можно заменить простой целью «Обновить адрес клиента». Реализация может сделать все остальное, как если бы мы позволили схеме обрабатывать цикл включения/выключения магнетрона для API-интерфейса нашего кухонного радара 3000. Открытие доступа к внутренней бизнес-логике может затруднить использование и понимание API-интерфейса для потребителя и стать опасным для поставщика. Опять же, если вы будете использовать таблицу целей API и сосредоточитесь на том, что могут делать пользователи, это должно позволить вам с легкостью избежать подобных проблем разработки, но тем не менее они все же могут происходить.

ПОДСКАЗКА. При определении целей API всегда следует проверять, чтобы вы случайно не предоставили доступ к внутренней бизнес-логике, которая не касается потребителя и которая может быть опасной для поставщика.

Здесь мы имели дело только с одним программным компонентом.


Книга: Проектирование веб-API, автор: Арно Лоре.

#книжныйКлуб #цитаты #АрноЛоре #IT #api #аналитик
👍37🔥3



group-telegram.com/BalticAnalyst/270
Create:
Last Update:

Как избежать влияния кода и бизнес-логики при проектировании API

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

Допустим, что для реализации нашего API онлайн-магазина у каждого клиента есть один активный адрес. Но адреса в системе никогда не удаляются; вместо этого их статус становится неактивным, когда клиент не пользуется услугами сайта. Проектирование API, на который влияет эта бизнес-логика, может обеспечить следующие ориентированные на поставщика цели:
— составляем список адресов клиентов (активных и неактивных);
— добавляем адрес клиента;
— обновляем статус адреса (на активный или неактивный).
Слова, используемые для описания этих целей, понятны, но общее назначение целей может быть неочевидно для потребителя, который не знает точно, как система обрабатывает адреса. Эти цели показывают, как данные обрабатываются внутри; на рис. 2.20 показано, как их нужно использовать.

В левой части рисунка показано, как изменить адрес клиента с помощью этого API. Потребители должны перечислить существующие адреса, чтобы определить активный, обновить их, чтобы установить статус «неактивный», а затем добавить новый активный адрес. Довольно просто, нет? Вовсе нет! Это очень сложный процесс, и здесь легко что-нибудь может пойти не так. Что, если потребители не установят для предыдущего адреса значение «неактивный»? Это может стать катастрофой для целостности данных – здесь рискует поставщик.

К счастью, в правой части рисунка показано простое решение. Весь этот сложный и опасный беспорядок можно заменить простой целью «Обновить адрес клиента». Реализация может сделать все остальное, как если бы мы позволили схеме обрабатывать цикл включения/выключения магнетрона для API-интерфейса нашего кухонного радара 3000. Открытие доступа к внутренней бизнес-логике может затруднить использование и понимание API-интерфейса для потребителя и стать опасным для поставщика. Опять же, если вы будете использовать таблицу целей API и сосредоточитесь на том, что могут делать пользователи, это должно позволить вам с легкостью избежать подобных проблем разработки, но тем не менее они все же могут происходить.

ПОДСКАЗКА. При определении целей API всегда следует проверять, чтобы вы случайно не предоставили доступ к внутренней бизнес-логике, которая не касается потребителя и которая может быть опасной для поставщика.

Здесь мы имели дело только с одним программным компонентом.


Книга: Проектирование веб-API, автор: Арно Лоре.

#книжныйКлуб #цитаты #АрноЛоре #IT #api #аналитик

BY Аналитик на Балтике | Всё о карьере в IT





Share with your friend now:
group-telegram.com/BalticAnalyst/270

View MORE
Open in Telegram


Telegram | DID YOU KNOW?

Date: |

"He has kind of an old-school cyber-libertarian world view where technology is there to set you free," Maréchal said. Two days after Russia invaded Ukraine, an account on the Telegram messaging platform posing as President Volodymyr Zelenskiy urged his armed forces to surrender. To that end, when files are actively downloading, a new icon now appears in the Search bar that users can tap to view and manage downloads, pause and resume all downloads or just individual items, and select one to increase its priority or view it in a chat. Russians and Ukrainians are both prolific users of Telegram. They rely on the app for channels that act as newsfeeds, group chats (both public and private), and one-to-one communication. Since the Russian invasion of Ukraine, Telegram has remained an important lifeline for both Russians and Ukrainians, as a way of staying aware of the latest news and keeping in touch with loved ones. Continuing its crackdown against entities allegedly involved in a front-running scam using messaging app Telegram, Sebi on Thursday carried out search and seizure operations at the premises of eight entities in multiple locations across the country.
from vn


Telegram Аналитик на Балтике | Всё о карьере в IT
FROM American