File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
The moose likes Architect Certification (SCEA/OCMJEA) and the fly likes How to justify QoS when integrating with external systems Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of JavaScript Promises Essentials this week in the JavaScript forum!
JavaRanch » Java Forums » Certification » Architect Certification (SCEA/OCMJEA)
Bookmark "How to justify QoS when integrating with external systems" Watch "How to justify QoS when integrating with external systems" New topic
Author

How to justify QoS when integrating with external systems

Shruti Verma
Greenhorn

Joined: Dec 18, 2011
Posts: 8
Hi,

In my assignment, one NFR is that all messages should be constructed and sent to the IP address of the API server in a specified amount of time.

I understand that when integrating with external systems, SLAs will be set. But how can one justify through architecture that these SLAs are met? Moreover, when SuD is sending messages to external system how can we depict that this NFR can be met.

I hope I am violating forum rules by asking this question.

Thanks
Murali Ranga
Ranch Hand

Joined: Dec 16, 2011
Posts: 38

Always we assume that all the External Systems will meet SLAs

all messages should be constructed and sent to the IP address of the API server in a specified amount of time
Separate into two parts
1. Message construction at your application
2. Sending the message to external system

Message construction at your application
How your architecture supports the construction of a message within SLAs
Example:
You need some data from database, the same can be achieved by caching the data and retrieving from it.
If there is any design pattern helps to improve the performance
Based on Sud requirement using asynchronous queues for constructing the message
Because of Clustered environment: meeting the SLAs criteria as load increases

External Systems
Example
Based on Sud requirement if possible you can define asynchronous communication with external systems and you are not holding your application resources for response. Incase external system is slow in processing the request it will not impact your application if it is asynchronous (depends Sud requirements)
Shruti Verma
Greenhorn

Joined: Dec 18, 2011
Posts: 8
Murali,

Dividing the QoS into 2 separate requirements really made the picture very clear for me. Thanks for your very helpful input!

Thanks.
Paul Balm
Ranch Hand

Joined: Dec 13, 2008
Posts: 63
one NFR is that all messages should be constructed and sent to the IP address of the API server in a specified amount of time.


I'm a bit confused: This requirements means the SuD has to be able to send a message within a specified amount of time. This does not have anything to do with the performance of external systems.

With respect to the external systems, I think a safer approach is to assume that there are no SLAs on them in general. This is often true, as well. If the SuD needs to complete a certain job (i.e. process a request) within a certain amount of time, and the job includes calling an external system, then this is typically solved by calling the external system asynchronously, i.e. not to wait for the response of the external system. You can then just respond (in time always) that the request is being processed, or something like that.

Cheers,

Paul

SCJP 1.4 -- SCJD Java 2 -- OCM JEA 5
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: How to justify QoS when integrating with external systems