Question 1. [Architecture] [40 Points]
Let us consider an integrated stock trading system involving different stock trading companies and different stock exchanges. In this system, stocks are bought and sold on behalf of the stock trading company clients. Each trading company participating in this integrated system, may define their own trading rules. Each rule can be considered as a separate component and new rules can be added, or old rules can be deleted or modified. An example trading rule used by a stock trading company participating in this integrated system could be that “if IBM’s stock in the Toronto Stock Exchange (TSX) trades currently for less than $200, and the NASDAQ index is falling for two consecutive days, then sell the IBM stocks and buy Oracle stocks”. Of course, this is a fictitious rule, but is given here for the purposes of the exam. The input to the system comes in the form of streams of data published by the different stock exchanges like NYSE, TSX, NASDAQ, or other sources such as Bloomberg. New data sources can be added at any time and trading rules can be customised, deleted, or added in the system. Propose two possible integration architectures for such a system by stating its style or styles using classic remote interface access methods.
Draw the system architecture using a componentdiagram with proper UML notations and activity diagram for each of the two architectures you propose. Make sure you provide all component interfaces, you name each component, and you provide a list of operations exposed by each interface. Provide a one sentence description of what each operation does. You can use a table in order to provide such information in a concise way.
Question 2. [Integration] [60 Points]
Consider the following fictitious government systems which are operated by border security and customs agencies. The first system which we call ACCESS is related to checking passports of travelers upon presenting their passport during their entry to the country. The ACCESS system checks passport data for validity (i.e. the passport number, biometric data, and given names match to the data sored in the government data base). The second system we call HERMES obtains travel related data from the airline company, the credit card company, and the airport authorities the traveler went through this trip. These travel data are processed by the HERMES system for consistency and accuracy (i.e. the ticket was bought by a credit card which belongs to the traveller, or the traveller has indeed travelled through the designated by his/her ticket airports, what other countries he/she has visited in this trip etc.) by obtaining data from appropriate data bases. The third system which we call KERBEROS, checks whether the traveler has any outstanding legal warrants which may require the law enforcement agencies to be notified. The fourth system we refer to as GOODS obtains data from the customs’ database to ensure that the traveller is not flagged in the past 24 months for any customs violations, and also from the credit card company to identify any excessive spending on goods that do not much the traveller’s custom declaration form. These four systems integrate and assist the border control officer to decide whether to admit a traveller or not, or to send them for a customs check. Each system employs different data bases. The integrated solution has to be efficient with respect to time performance and resource usage, and be able to process data and provide feedback to the border control officer in an expedited manner (say within less than one minute). The integrated system must also be auditable (i.e. transactions are monitored and recorded), and testable (i.e. periodic tests can be run for verifying accuracy of the system, that is, it is capable of providing accurate results, and that it provides responses in less than a minute). Consider that all systems (ACCESS, HERMES, GOODS, KERBEROS) are legacy applications, have been written in different languages and frameworks, require different data formats as input, provide output in different data format, and belong to different government agencies which utilise different messaging infrastructures. For example, we consider that the ACCESS and HERMES system are operated by Border Security Agency, the KERBEROS is operated by the Law Enforcement Agency, and the GOODSsystem by the Revenue Agency.
Provide a possible integration solution and draw an integration diagram containing all systems for the ACCESS, HERMES, KERBEROS and GOODS systems using the appropriate components available in a messaging infrastructure we saw in class. Please make sure you briefly explain the use of each messaging infrastructure component you use (including the type and use of any end points).
INSTRUCTIONS
Please submit your answers in one pdf or MS-Word file by email to [email protected]. You can use any drawing tool of our choice to compile the diagrams. Possible tools are Ms-Visio or UMLet (https://www.umlet.com/changes.htm) . You can also download MS-Visio stencils for the integration patterns from https://www.enterpriseintegrationpatterns.com/downloads.html (these are for Visio 2002 and Visio 5). It has been reported that it works fine with MS-Visio 2010 (see https://gistof.wordpress.com/2016/07/29/eip-visio-stencil/). If you want to use to use these templates install them early on to see if they work on your machine.
If you cannot use a drawing tool please clearly draw the diagrams by hand using a ruler and include a clear image of them embedded in the file with your answers. Please submit one file with your answers not separate ones. Clearly indicate your name, surname and ID. Please submit your answers by Tuesday Dec. 21, 2020 noon.