From f3a71bef31b8828d9d159228bb336cabd992860f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexander=20D=C3=BCmont?= Date: Thu, 17 Oct 2024 15:24:23 +0200 Subject: [PATCH] Assume worst cases --- docs/adrs/004-core-class-for-service-integration.md | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/docs/adrs/004-core-class-for-service-integration.md b/docs/adrs/004-core-class-for-service-integration.md index d78d75f8..3352672a 100644 --- a/docs/adrs/004-core-class-for-service-integration.md +++ b/docs/adrs/004-core-class-for-service-integration.md @@ -66,7 +66,7 @@ SAP Cloud SDK flavored requirements: * Log activity, intermediate results, fallbacks and errors. -## State of core class +## State of Core class | API | Behavior | |--------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------| @@ -84,6 +84,15 @@ Properties: * Immutable objects. * Custom method overloads on (sub-classes of) `AiCoreService` are propagated down to the client. +Consideration: +* Always assume worst-case: + * User instantiates a constant `AiCoreService` in a static context. + * Custom Service Binding may be supplied by 3nd party library. + Race condition for resolving service bindings may lead to inconsistent behavior. + * User switches resource group at runtime. + * User switches destination at runtime. + * User switches deployment at runtime. + Pro: - No redundant HTTP traffic. - Slim API contract, not many public methods.