80 likes | 246 Views
Repositories . A Software Architecture Model……. Repositories. A central data structure component, operated on by collection of independent components. IC. IC. Data structure. Independent Component. IC. IC. Connector. Repository Architecture.
E N D
Repositories A Software Architecture Model……
Repositories • A central data structure component, operated on by collection of independent components. IC IC Data structure Independent Component IC IC Connector Repository Architecture • Communication between different independent component occurs • only through the central database structure.
Repositories (Cont….) • Can be sub-categorized based on the control discipline • Selection of the processes to be executed, triggered by the input transaction. • Selection of the processes to be executed, triggered by the state of the central data structure.
Repositories (discipline 1)… • Selection of the processes to be executed, triggered by the type of input transaction. node1 2: update Central Database 1: select node2 Example scenario • The selection of processes to be executed is triggered by the type of the query • fired to the central database by different independent components (control lies • in the type of the input transaction) .
Repositories (discipline 2): • Selection of the processes to be executed, triggered by the state of the central data structure (also termed as ‘blackboard architecture’. KS1 KS3 Black Board Knowledge Source KS2 KS4 Control Black Board Architecture
Example Black Board Architecture: • The processes to be executed is triggered by the state of the central data structure (shared file). • As soon as the user make any changes to the file, the state of the data structure changes and triggers the control processes (which may lie at the user side or the central data structure side), which in turn updates the view of the file to other users. User2 User4 Shared File User1 User3 White Board Sharing
Advantages of this architecture: • The component’s independency allows the implementation of the component to be altered at will without affecting the overall system. • Similarly the components can be added or removed dynamically from the system without affecting the overall processing of the system.
Architecture’s drawbacks: • The central data structure may require proper locking mechanism, in case the execution of different components are not sequential. • The final state of the central data structure may depend on the sequence in which the updates from different components are executed. i.e. if different components tries to modify the same data simultaneously. • Single point of failure (the central data structure).