Title: Architecture Decision Summary
1Architecture Decision Summary
Metadirectory System
Daehyun Jung Jungjin Suh Huiyeong Choi Hyoungiel
Park Inhong Kim
Team Metaphor
21. System Context Diagram
Users
Legend
Users
Administrator
Users
System Boundary
Users
Administrating Operation
External Directory
User Query
External RDBMS
Web Client
LDAP user ( Application, LDAP Client and so on)
Interaction
Metadirectory
External LDAP server1
External DB server1
UserInformation
UserInformation
External LDAP server2
UserInformation
External DB server2
User Information
32. Top 4 Scenarios
A new type of Adapter which controls the
connection between external directory system and
the Metadirectory can be developed and added to
this system without impact to connected
components.
Adding new component
Extensibility
Dynamic Installation
ltH, Hgt
A new instance of an Adapter can be added to the
system in runtime.
ltM, Hgt
Utility
Configurable logic
When a join rule is required to be created or
changed because a new database should be
integrated to the Metadirectory, an administrator
of the Metadirectory can configure the join rule
without restarting the system.
Usability
Modifiability
ltM, Hgt
The modifications of synchronization logic in the
Join Engine module do not necessarily cause
additional change of implementation in Adapter
modules.
Module independency
ltH, Mgt
43. Overall Architecture (CC View)
54. Architectural View (C C View) Join Engine
Legend
Message Handler
Rule Set Manager
Interface
Call Return
TransactionCoordinator
Agent
Send port
Receive port
Context
ltFaçade Componentgt
Rule Translator
Router
Receiver
Rule and ltConfiguration DBgt
Join Engine
ltEvent Busgt
65 . Architectural View (C C View) Indirect
Adapter
Legend
Message Handler
Interface
Agent
ReceiverFrom the System
Sender To The System
Sensor
TransactionCoordinator
Call Return
Send port
Receive port
Context
ltEvent Busgt
LDIFConverter
ConnectionManager
Load Sensor
ltTransaction Loggt
IndirectAapter2
LDIF Rule Manager
ltAdapter Managergt
ltExternal DBgt
76 . Architectural View (C C View) Direct
Adapter
Legend
Message Handler
Interface
Agent
Sensor
ReceiverFrom the system
TransactionCoordinator
SenderTo the System
Cache
Call Return
Cache Access
Send port
Receive port
ChangeNotifier
Context
Load Sensor
ltEvent Busgt
ConnectionManager
ltTransaction Loggt
LDAP DirectorySchemaCache
DirectAdapter2
ltChangeLoggt
ltAdapter Managergt
ltExternal DBgt
87. Architectural View (C C View) Adapter
Manager
Legend
Message Handler
DynamicQueue SizeManager
AdapterHealthChecker
Interface
Agent
Call Return
Send port
Receive port
AdapterProcess Manager
Context
ltEvent Busgt
IDA RuleCoordinator
ltFaçade Componentgt
AdapterManager
AdapterFactory
ltAdapterRegistrygt
ltAdaptersgt
98 . Architectural View (C C View) Façade
Component
Legend
Listener
Interface
Data Cache
Cache
Call Return
Cache Access
Send port
CommandRouter
SOAPListener
Receive port
Context
ltAdmin Consolegt
Façade Component
ltController, viewer, Adaptersgt
109. Decision 1 Adapter Connection
Context
Implicit Invocation vs Explicit Invocation
JoinEngine
JoinEngine
InterfaceRepository
AdapterRegistry
Callback ObjectRepository
DirectAdapter
IndirectAdapter
IndirectAdapter
DirectAdapter
AdapterManager
AdapterFactory
Adapter Installation
Adapter Installation
Legend
Legend
CORBA Client
Controller
Event Bus Connector roles
Data Access
CORBA Server
Repository
Repository
Direct Adapter
Call Return
Data Access
Indirect Adapter
Factory Component
Modifiability
Extensibility
Usability
Performance
Modifiability
Extensibility
Usability
Performance
-
-
-
1110. Decision 2 Rule Processing
Dynamic Rule Translation vs Static Rule Instance
Rule Instance Manager
Rule Set Manager
Rule Instance1
Rule Instance2
Router
Receiver
Rule Translator
Router
Receiver
Rule Instanec3
Legend
Legend
Call Return
Message Handler
Call Return
Message Handler
Send port
Interface
Send port
Interface
Receive port
Rule Instance
Receive port
Translator
Modifiability
Extensibility
Usability
Performance
Modifiability
Extensibility
Usability
Performance
-
-
-
-
1211. Decision 3 Change Notification
ltTransaction Loggt
ltEvent Busgt
Context
ltChange Loggt
DirectAdapter2
Passive Change Noti. vs Active Change Noti.
ltExternal DBgt
ReceiverFrom the system
ReceiverFrom the system
TransactionCoordinator
TransactionCoordinator
SenderTo the System
SenderTo the System
LDAP DirectorySchemaCache
ConnectionManager
ChangeNotifier
ConnectionManager
LDAP DirectorySchemaCache
External LDAP Server
Change Notifier
Legend
Legend
Call Return
Call Return
Message Handler
Message Handler
Cache
Cache
Cache Access
Cache Access
Agent
Interface
Interface
LDAP Directory
Modifiability
Extensibility
Usability
Performance
Modifiability
Extensibility
Usability
Performance
-
-
1312. Architectural Selection Summary
ArchitecturalDecision
Quality Attributes