21.01.2014 Views

A Rationale-based Model for Architecture Design Reasoning

A Rationale-based Model for Architecture Design Reasoning

A Rationale-based Model for Architecture Design Reasoning

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

7.1. The EFT system<br />

There<strong>for</strong>e, in assessing whether MCP could process all payment transactions, there is<br />

a need to check if the bank is still legitimately logged on to the EFT system when the<br />

transaction is received. AR22 provides two alternative solutions. If there is a dedicated<br />

MCP server <strong>for</strong> each connection, as documented in the QLR in the AR, the server process<br />

can keep the login state in memory, hence per<strong>for</strong>m much better because the login state is<br />

already kept. Alternatively, if MCP is generic, then every payment that is processed by<br />

it would need to be checked <strong>for</strong> bank login state. This is achieved either via the database<br />

or via a central authorisation server. This is documented in AAR. An individual MCP<br />

instance which is responsible <strong>for</strong> a dedicated bank connection gives a better per<strong>for</strong>mance<br />

<strong>for</strong> checking the message security, thus we choose this design.<br />

As a result of the decision, the MCP design needs to employ a state machine. Messages<br />

passing through it would set its state according to the events such as the successful login<br />

of a bank. Top End has to be configured to support the start-up of multiple MCPs, one<br />

<strong>for</strong> each connection. The message header would need a data element, in particular the<br />

connection session identifier, to identify a connection.<br />

7.1.6 Centralised control<br />

The requirements R5 2 0 and R5 2 1 specify that the EFT system has to broadcast the<br />

settlement window timetable and the shutdown notification to member banks. These<br />

requirements would mean that special messages need to be sent through MCPs to all<br />

those banks that are on-line at the time.<br />

There were two relevant issues in considering the architecture design. Firstly, what<br />

mechanism should be used to notify the banks and secondly which banks should be notified.<br />

Figure 7.9 shows the motivational reasons and the design reasoning of this design.<br />

AR23 was a decision to use a centralised server to carry out the messages distribution.<br />

There was no alternative option in this decision because there is only one viable mechanism,<br />

i.e. a single process to coordinate its execution. A user would use an user interface C9 0 1<br />

to order a message distribution such as system shutdown. The order would be sent to the<br />

Control Server (C8 0 0 ) to execute. The Control Server would determine which banks<br />

are currently logged into the EFT system and then distribute the message to the banks.<br />

When designing the control server, a parallel issue was to determine how to detect bank<br />

login states. The decision in AR24 was to make use of Session tables which logged the<br />

states of current bank connections (I2 0 4 and I2 0 5 ).<br />

It is common that a number of indirectly related decisions may exist in parallel in<br />

an architecture design. The decisions arising from the issues usually have common mo-<br />

118

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!