Page 1 of 1

Modelling APIs Dependencies

Posted: 30 Oct 2022, 08:30
by trinhtuan
Dear All,
I need your help for this case. Thank you very much.

Inputs:
Application "A" provides APIs "A1", "A2".
Application "C" provides APIs "C1".
Application "B" uses C1, A1 and A2 in order to function as designed.

I did the followings:
1/ Create "A", "B", "C" as instants of Application_Provider.
2/ Create "A::A1", "A::A2", "C::C1" as instants of Application_Provider_Interface.
3/ Assign "A::A1", "A::A2" to ap_interface slot of A, "C::C1" to ap_interface slot of C.
4/ Create "B Dependencies" as an instant of Static_Application_Provider_Architecture then assign "B Dependencies" to B's ap_static_architecture slot. (see attachment)

My questions:
- Are steps 1, 2, 3 correct to denote the APIs? If not then how I can do it correctly?
- What does ap_interface slot mean in "A::A1", "A::A2", "C::C1"? They are already interface themselves. When do we use this slot inside an Application_Provider_Interface instant?
- Is "B Dependencies" modelling in attachment correct approach for denoting the API uses and dependencies of B? If not then how?
- How can I logically trace which applications are depended on "A", "C"? e.g. in case I made a change to "A::A1", I will know "B" is impacted.

Re: Modelling APIs Dependencies

Posted: 16 Nov 2022, 14:51
by trinhtuan
48 views with no comments nor responses :D

Re: Modelling APIs Dependencies

Posted: 23 Nov 2022, 17:33
by jasonp
Hi,

In response to your questions:

- Are steps 1, 2, 3 correct to denote the APIs? If not then how I can do it correctly?
Your modelling approach looks to be correct
- What does ap_interface slot mean in "A::A1", "A::A2", "C::C1"? They are already interface themselves. When do we use this slot inside an Application_Provider_Interface instant?
The ap_interfaces slot is used to denote the interfaces that are dedicated to the containing App. It is not typically viewed as relevant to instances of Application_Provider_Interface, but is inherited from the parent Application_Provider class. The class editor, layout tab provides the means to hide this slot in the Capture screen, if preferred.
- Is "B Dependencies" modelling in attachment correct approach for denoting the API uses and dependencies of B? If not then how?
I have attached an updated project with a few tweaks top your B Dependencies to explicitly contain usages of the Application_Provider_Interfcaces
- How can I logically trace which applications are depended on "A", "C"? e.g. in case I made a change to "A::A1", I will know "B" is impacted.
We have an out of the box view to show this called, Application Information Dependency Model. You can see an example of it in our demo viewer here:
https://essentialviewer.com/report?XML= ... e=W10%253D
Dependencies_Example.zip

Re: Modelling APIs Dependencies

Posted: 24 Nov 2022, 16:05
by trinhtuan
Thank you, jasonp !
Your response is very helpful.

Re: Modelling APIs Dependencies

Posted: 28 Nov 2022, 14:29
by trinhtuan
jasonp wrote: 23 Nov 2022, 17:33 - What does ap_interface slot mean in "A::A1", "A::A2", "C::C1"? They are already interface themselves. When do we use this slot inside an Application_Provider_Interface instant?
The ap_interfaces slot is used to denote the interfaces that are dedicated to the containing App. It is not typically viewed as relevant to instances of Application_Provider_Interface, but is inherited from the parent Application_Provider class. The class editor, layout tab provides the means to hide this slot in the Capture screen, if preferred.
Hi jasonp,
Can you please give a concrete example about the use of this ap_interfaces slot in an instant of Application_Provider?
What does the "interface" really mean in the context of an Application_Provider? The "the interfaces that are dedicated to the containing App" is a bit confusing.

Thank you very much,
Tuan