Lead Allocation System - Attribute Driven Design (ADD)

38
Lead Allocation Lead Allocation System System Attribute Driven Design Attribute Driven Design By, By, A3, Inc. A3, Inc.

Transcript of Lead Allocation System - Attribute Driven Design (ADD)

Page 1: Lead Allocation System - Attribute Driven Design (ADD)

Lead Allocation Lead Allocation SystemSystem

Attribute Driven DesignAttribute Driven Design

By,By,

A3, Inc.A3, Inc.

Page 2: Lead Allocation System - Attribute Driven Design (ADD)

IntroductionIntroduction

ADD Steps

ADDInputs

ADD Outputs(ArchitectureDesign)

Page 3: Lead Allocation System - Attribute Driven Design (ADD)

Introduction (Cont.)Introduction (Cont.)

►According to SEIAccording to SEI The SEI's Attribute-Driven Design (ADD) The SEI's Attribute-Driven Design (ADD)

method is a systematic step-by-step method is a systematic step-by-step method for designing the software method for designing the software architecture of a software-intensive architecture of a software-intensive systemsystem

Page 4: Lead Allocation System - Attribute Driven Design (ADD)

Business OpportunityBusiness Opportunity

►Current System is LegacyCurrent System is Legacy Requires a lot of manual labor from Requires a lot of manual labor from

marketing departmentmarketing department Vertical currently breaking even because of Vertical currently breaking even because of

operation costsoperation costs

►New Generic SystemNew Generic System Generic enough to run across A3, Inc. Generic enough to run across A3, Inc.

verticalsverticals Allocate in real time products that are of Allocate in real time products that are of

interest to partnersinterest to partners

Page 5: Lead Allocation System - Attribute Driven Design (ADD)

Success CriteriaSuccess Criteria

► Marketing department cost: Reduced by Marketing department cost: Reduced by 60% within one year.60% within one year.

► IT department cost: reduced by 15% within IT department cost: reduced by 15% within six month.six month.

► Reduce Time for allocation the Leads: from Reduce Time for allocation the Leads: from days to hours which will increase company days to hours which will increase company revenue from 10% to 20% within six revenue from 10% to 20% within six months.months.

► Lead conversions: Increased by 50%. Within Lead conversions: Increased by 50%. Within six months.six months.

► Partner’s satisfaction rate: Increased by 50% Partner’s satisfaction rate: Increased by 50% within one year.within one year.

Page 6: Lead Allocation System - Attribute Driven Design (ADD)

Stakeholder’s GoalsStakeholder’s Goals

► Real time allocation – Leads can be Real time allocation – Leads can be contacted as soon as they are allocated. The contacted as soon as they are allocated. The waiting time would reduce from days to a waiting time would reduce from days to a time period, in the seconds, that the time period, in the seconds, that the marketing department deems appropriate.marketing department deems appropriate.

► Marketing department – Increased Marketing department – Increased conversion would make advertising for conversion would make advertising for marketing department easier since they marketing department easier since they would now be able to market the business would now be able to market the business with a new niche. with a new niche.

Page 7: Lead Allocation System - Attribute Driven Design (ADD)

Business RisksBusiness Risks

►Exclusive lead means assigning a lead Exclusive lead means assigning a lead to a partner who accepts a lead which to a partner who accepts a lead which it has no demand forit has no demand for

►All transactions must be logged at All transactions must be logged at granular level for debugging and legal granular level for debugging and legal purposespurposes

►Legal agreement between A3 Inc. and Legal agreement between A3 Inc. and partners necessarypartners necessary

Page 8: Lead Allocation System - Attribute Driven Design (ADD)

Major FeaturesMajor Features

►Real time lead allocationReal time lead allocation Allocate lead to highest bidderAllocate lead to highest bidder

►Real timeReal time►Partners would bid or decline to bid for a leadPartners would bid or decline to bid for a lead►Lead would be allocated to the highest bidderLead would be allocated to the highest bidder

Partners need to respond in a legally binding SLAPartners need to respond in a legally binding SLA Partners would do not respect SLAs would be Partners would do not respect SLAs would be

ignored even if their bid is the higest. This is very ignored even if their bid is the higest. This is very important to keep the system in a “Real Time” important to keep the system in a “Real Time” mode at all times.mode at all times.

Page 9: Lead Allocation System - Attribute Driven Design (ADD)

Major FeaturesMajor Features

►Real time Lead AcquisitionReal time Lead Acquisition Acquire leads through any middleware or Acquire leads through any middleware or

front-end systemfront-end system Be interoperableBe interoperable

Page 10: Lead Allocation System - Attribute Driven Design (ADD)

ConstraintsConstraints

► End product will be DLL(s) that can be End product will be DLL(s) that can be referenced by different types of referenced by different types of applications, including Web Services.applications, including Web Services.

► The runtime environment will be the .NET The runtime environment will be the .NET CLR.CLR.

► OOD shall be used with a clear separation OOD shall be used with a clear separation of objects that consume data and objects of objects that consume data and objects that produce data.that produce data.

► Interfaces between components shall be Interfaces between components shall be designed to only take primitive types and designed to only take primitive types and return primitive types.return primitive types.

Page 11: Lead Allocation System - Attribute Driven Design (ADD)

Quality ScenariosQuality Scenarios► The system needs to allocate the lead no later than The system needs to allocate the lead no later than

8 sec and would concurrently process no more than 8 sec and would concurrently process no more than 10 leads at one time. If the system receives more 10 leads at one time. If the system receives more than 10 leads, it should handle them using a queue.than 10 leads, it should handle them using a queue.

► LAS needs to be available 24 hours a day, 7 days a LAS needs to be available 24 hours a day, 7 days a week, 365 days a year bearing significant hardware week, 365 days a year bearing significant hardware malfunction. The LAS architecture should malfunction. The LAS architecture should accommodate this using some sort of backup accommodate this using some sort of backup system. system.

► LAS should only allow trusted sources access to API LAS should only allow trusted sources access to API calls. If the API calls are from un-trusted sources, calls. If the API calls are from un-trusted sources, then LAS should deny access. then LAS should deny access.

► The API calls should be secure so that malicious The API calls should be secure so that malicious third party persons/software cannot view third party persons/software cannot view information going to and from the LAS.information going to and from the LAS.

Page 12: Lead Allocation System - Attribute Driven Design (ADD)

First IterationFirst Iteration

► Sufficient Requirement InformationSufficient Requirement Information► Element to Decompose Element to Decompose ► Candidate Architecture Drivers Candidate Architecture Drivers ► Design Concept that Satisfies Architectural Design Concept that Satisfies Architectural

DriversDrivers► Instantiate Architectural Elements and Instantiate Architectural Elements and

Allocate ResponsibilitiesAllocate Responsibilities► Define interfaces for Instantiated Elements Define interfaces for Instantiated Elements

Verify and refine requirements Verify and refine requirements

Page 13: Lead Allocation System - Attribute Driven Design (ADD)

►Sufficient Requirement InformationSufficient Requirement Information After reviewing the inputs, the After reviewing the inputs, the

architecture team has determined that architecture team has determined that there sufficient requirements information.there sufficient requirements information.

►Element to Decompose Element to Decompose Since this is the first iteration, the Since this is the first iteration, the

architecture team has decided to start at architecture team has decided to start at the root, which is LAS.the root, which is LAS.

Page 14: Lead Allocation System - Attribute Driven Design (ADD)

► Candidate Architecture Drivers Candidate Architecture Drivers # Architectural

DriversSection

Discussed In

Importance Difficulty

1 Scenario 1Allocate Lead

Performance

1.3 Medium High

2 Scenario 2System availability

1.3 Medium Medium

3 Scenario 3Trusted access only

1.3 High Medium

4 Scenario 4Secure access

1.3 High Medium

5 Requirement 1Acquire Lead

1.1 High Medium

6 Requirement 2Allocate Lead

1.1 High High

7 Constraint 1Compiled DLLs

1.2 Medium Low

8 Constraint 2Run in .NET CLR

1.2 Medium Low

9 Constraint 3OOD used

1.2 Medium Low

10 Constraint 4Primitive API calls only

1.2 High Low

Page 15: Lead Allocation System - Attribute Driven Design (ADD)

► Design Concept that Design Concept that Satisfies Satisfies Architectural Architectural DriversDrivers Identify design Identify design

concerns concerns

AD# Design Concern

1 Performance, Resource Arbitration

2 Availability, Fault Recovery

3 Security, Resisting Attacks

4 Security, Resisting Attacks

5 Modifiability, Prevent Ripple Effect

6 Modifiability, Prevent Ripple Effect

7 Modifiability, Localize Modification

8 Modifiability, (N/A)

9 Modifiability, Prevent Ripple Effect

10 Modifiability, Localize Modification

Page 16: Lead Allocation System - Attribute Driven Design (ADD)

► Alternative Patterns that address the concerns Alternative Patterns that address the concerns

AD # Design Concern Pattern (pros/cons) Pattern (pros/cons)

1 Performance -Resource Arbitration

FIFOPros- Easy to implementCons – No flexibility for priority

Fixed-PriorityPros- Flexibility for priorityCons – Difficult to implement

2 Availability –Fault Recovery

SparePros – Easy to configureCons – Data will not be up to date and recovery time will be minutes.

Active RedundancyPros – Data will be up to date. Also, recovery time will be milliseconds.Cons – Need additional monitoring and switching software

3 Security - Resisting Attacks Limit AccessPros – High SecurityCons – Need to know IP address of incoming request

Authorize usersPros – Dynamic. Easy to modifyCons – Need additional software such as Active Directory

4 Security –Resisting Attacks

Authenticate UsersPros – Easy to use in conjunction with Authorize usersCons – Need additional software or man power to manage user registration

Maintain Data ConfidentialityPros – Software such as SSL exist and is easy to implementCons – Need to purchase SSL certificate.

5 Modifiability, Prevent Ripple Effect

Hide informationPros – Traditional. People are most familiar with itCons – Depends strongly on skills and talents of the person implementing it.

Use an IntermediaryPros – Easy to understand.Cons – Tedious to implement.

Page 17: Lead Allocation System - Attribute Driven Design (ADD)

6 Modifiability, Prevent Ripple Effect

Hide informationPros – Traditional. People are most

familiar with itCons – Depends strongly on skills and

talents of the person implementing it.

Use an IntermediaryPros – Easy to understand.Cons – Tedious to implement.

7 Modifiability –Localize Modifications

Maintain Semantic CoherencePros – Creates reusability as well as

preventing ripple effectsCons – Time consuming. Requires

talented professionals.

Limit Possible OptionsPros – Requires zero development

timeCons – Requires senior

management buy in

8 N/A N/A N/A

9 Modifiability, Prevent Ripple Effect

Hide informationPros – Traditional. People are most

familiar with itCons – Depends strongly on skills and

talents of the person implementing it.

Use an IntermediaryPros – Easy to understand.Cons – Tedious to implement.

10 Modifiability –Localize Modifications

Generalize the ModulePros – Makes communication with

modules much simpler.Cons – Makes the inner workings of

the module somewhat more complex, hence requiring more qualified people.

Anticipate Expected ChangesPros – Fits in nicely with Maintain

Semantic Coherence pattern.Cons – Difficult to determine what

to anticipate for.

► Alternative Patterns that address the concerns Alternative Patterns that address the concerns

Page 18: Lead Allocation System - Attribute Driven Design (ADD)

► Selected PatternsSelected Patterns

For AD # 1 the architecture team selected the For AD # 1 the architecture team selected the FIFOFIFO pattern. The reason pattern. The reason for this was mainly because of the simplicity of implementing such a for this was mainly because of the simplicity of implementing such a pattern and although it does not exceed the requirements, it certainly pattern and although it does not exceed the requirements, it certainly meets them. Also, there are resources on the team that are very meets them. Also, there are resources on the team that are very familiar with this patternfamiliar with this pattern

For AD # 2 the architecture team selected For AD # 2 the architecture team selected Active RedundancyActive Redundancy pattern. pattern. This choice was because the team decided that since the spare is not This choice was because the team decided that since the spare is not up to date and it takes minutes to recover it is vastly inferior to the up to date and it takes minutes to recover it is vastly inferior to the Active Redundancy pattern.Active Redundancy pattern.

For AD # 3 the architecture team selected For AD # 3 the architecture team selected Authorize Users Authorize Users patterns. patterns. This choice was because the team decided that limiting access to This choice was because the team decided that limiting access to certain IP addresses was really not practical for a web based application certain IP addresses was really not practical for a web based application since managing client IP addresses would be too restrictive and since managing client IP addresses would be too restrictive and sometimes, not possible.sometimes, not possible.

For AD # 4 the architecture team decided that both For AD # 4 the architecture team decided that both Authenticate UsersAuthenticate Users and and Maintain Data ConfidentialityMaintain Data Confidentiality patterns will be required because of patterns will be required because of their relationship to each other. They have good synergy and really their relationship to each other. They have good synergy and really cannot exist without coexisting in this instance.cannot exist without coexisting in this instance.

For AD # 5 the architecture team selected For AD # 5 the architecture team selected Hide InformationHide Information pattern. pattern. This choice was because of the natural nature of this pattern and also This choice was because of the natural nature of this pattern and also because of the tedious nature of the because of the tedious nature of the Use an IntermediaryUse an Intermediary pattern. pattern.

Page 19: Lead Allocation System - Attribute Driven Design (ADD)

► Selected PatternsSelected Patterns

For AD # 6 the architecture team selected For AD # 6 the architecture team selected Hide InformationHide Information pattern. pattern. This choice was because of the natural nature of this pattern and also This choice was because of the natural nature of this pattern and also because of the tedious nature of the because of the tedious nature of the Use an IntermediaryUse an Intermediary pattern. pattern.

For AD # 7 the architecture team selected For AD # 7 the architecture team selected Maintaining Symantec Maintaining Symantec Coherence Coherence pattern. This choice was made because the architecture pattern. This choice was made because the architecture team decided that depending on management to limit possible options, team decided that depending on management to limit possible options, even though they might agree initially, is not realistic.even though they might agree initially, is not realistic.

N/AN/A

For AD # 9 the architecture team selected For AD # 9 the architecture team selected Hide InformationHide Information pattern. pattern. This choice was because of the natural nature of this pattern and also This choice was because of the natural nature of this pattern and also because of the tedious nature of the because of the tedious nature of the Use an IntermediaryUse an Intermediary pattern. pattern.

For AD #10 the architecture team decided that a combination of both For AD #10 the architecture team decided that a combination of both the the Generalize the Module and Anticipate Expected Changes Generalize the Module and Anticipate Expected Changes pattern pattern would be a good way to go. The reason for this choice was because would be a good way to go. The reason for this choice was because since the API for the LAS needs to work for other platforms having the since the API for the LAS needs to work for other platforms having the inner workings of the middleware adjust based on the primitive input inner workings of the middleware adjust based on the primitive input types would be ultra helpful. To have this architecture team decided types would be ultra helpful. To have this architecture team decided that it would have to think 2 steps ahead and anticipate what changes that it would have to think 2 steps ahead and anticipate what changes would occur.would occur.

Page 20: Lead Allocation System - Attribute Driven Design (ADD)

► Selected Patterns RelatedSelected Patterns Related

Use Event Driven Architecture (EDA)Use Event Driven Architecture (EDA)► allow loosely coupled objects allow loosely coupled objects ► packages a way of communication packages a way of communication ► meets and exceeds the patterns identified so far meets and exceeds the patterns identified so far

► Capture Preliminary Architectural Views Capture Preliminary Architectural Views

LAS API Adapter

Allocate Lead Service

Dispatch Allocate Lead Event

Listen Allocate Lead Event

Page 21: Lead Allocation System - Attribute Driven Design (ADD)

► Instantiate Architectural Elements and Allocate Responsibilities Instantiate Architectural Elements and Allocate Responsibilities

► Instantiate ElementsInstantiate Elements

Allocate Lead ServiceAcquire Lead Service

Allocate Lead FIFO computation

Security Service

LAS API Adapter

Lead Allocation System (LAS)

Lead ProvidersLead Acquirers

Redundant LAS Server 1

Redundant LAS Server 2

Redundant LAS Server 3

Page 22: Lead Allocation System - Attribute Driven Design (ADD)

► Assign Responsibilities to Elements Assign Responsibilities to Elements

Element # Element Name Architectural Driver Pattern (s)

1 LAS API Adapter 7, 8, 9, 10 Generalize the Module,Hide information,Maintain Semantic Coherence,Anticipate Expected Change

2 Acquire Lead Service 5 Hide information

3 Allocate Lead Service 6 Hide information

4 Allocate Lead FIFO computation 1 FIFO

5 Security Service 3, 4 Authenticate Users, Maintain Data Confidentiality,

Authorize Users

6 Redundant LAS servers 1, 2, 3 2 Active Redundancy

Page 23: Lead Allocation System - Attribute Driven Design (ADD)

► Allocate Responsibilities Allocate Responsibilities

LAS API Adapter – This element is responsible for receiving API calls, LAS API Adapter – This element is responsible for receiving API calls, interpreting them and passing them along to other elements.interpreting them and passing them along to other elements.

Acquire Lead Service – This element is responsible for receiving leads Acquire Lead Service – This element is responsible for receiving leads from lead providers and preparing them to be allocated to lead from lead providers and preparing them to be allocated to lead acquirers.acquirers.

Allocate Lead Service – This element is responsible for providing lead Allocate Lead Service – This element is responsible for providing lead heading to lead acquirers that ask for it. It is also responsible for heading to lead acquirers that ask for it. It is also responsible for accepting bids and sending complete leads to lead providers.accepting bids and sending complete leads to lead providers.

Allocate Lead FIFO – This element is responsible for the FIFO algorithm Allocate Lead FIFO – This element is responsible for the FIFO algorithm computation to handle multiple lead acquirers requesting leads computation to handle multiple lead acquirers requesting leads simultaneously.simultaneously.

Security Service – This element is responsible for making sure only Security Service – This element is responsible for making sure only trusted lead providers and lead acquirers have access to LAS and they trusted lead providers and lead acquirers have access to LAS and they are who they say they are.are who they say they are.

Redundant LAS server 1, 2, 3 – These elements would act as mirrored Redundant LAS server 1, 2, 3 – These elements would act as mirrored duplicates in case the primary LAS server experiences problems. duplicates in case the primary LAS server experiences problems.

Page 24: Lead Allocation System - Attribute Driven Design (ADD)

► Interfaces for Instantiated Elements Interfaces for Instantiated Elements Element Requires Provides

LAS API Adapter Primitive type input from lead providers or lead acquirers. This would be lead information from the lead providers and lead request information from lead acquirers. It would also require trusted user information such as a username and password.

TO LEAD PROVIDER: A lead recorded successful message and transaction reference number.TO LEAD ACQUIRER: A lead heading. An interface to allow the lead provider to place a bid, and the full lead if the lead acquirer decided to buy the lead. The interface should also provide a transaction reference number.TO ACQUIRE LEAD SERVICE: The lead informationTO ALLOCATE LEAD SERVICE: The request for a lead information

Acquire Lead Service FROM LAS API ADAPTER: Lead information. Trusted user information

TO SECURITY SERVICE: Trusted user information

Allocate Lead Service FROM LAS API ADAPTER: Lead request information. Lead bid information. Trusted user information

TO ALLOCATE LEAD FIFO COMPUTATION: Lead request information. Lead bid information.TO SECURITY SERVICE: Trusted user information

Allocate Lead FIFO Computation FROM ALLOCATE LEAD SERVICE: Lead request information. Lead bid information.

TO ALLOCATE LEAD SERVICE: Lead request from queue. Lead bid from queue.

Security Service FROM ACQUIRE LEAD SERVICE: Trusted user informationFROM ALLOCATE LEAD SERVICE: Trusted user information

TO ALLOCATE LEAD SERVICE: Trusted user security informationTO ACQUIRE LEAD SERVICE: Trusted user security information

Redundant LAS servers 1, 2, 3 N/A N/A

Page 25: Lead Allocation System - Attribute Driven Design (ADD)

► Verify and refine requirements Verify and refine requirements

All the architectural drivers (functional requirements, constraints, and All the architectural drivers (functional requirements, constraints, and quality scenarios) have been accounted for.quality scenarios) have been accounted for.

Page 26: Lead Allocation System - Attribute Driven Design (ADD)

Second IterationSecond Iteration

► Sufficient Requirement InformationSufficient Requirement Information► Element to Decompose Element to Decompose ► Candidate Architecture Drivers Candidate Architecture Drivers ► Design Concept that Satisfies Architectural Design Concept that Satisfies Architectural

DriversDrivers► Instantiate Architectural Elements and Instantiate Architectural Elements and

Allocate ResponsibilitiesAllocate Responsibilities► Define interfaces for Instantiated Elements Define interfaces for Instantiated Elements

Verify and refine requirements Verify and refine requirements

Page 27: Lead Allocation System - Attribute Driven Design (ADD)

► Sufficient Requirement InformationSufficient Requirement Information This step is not necessary for the second iteration since it was This step is not necessary for the second iteration since it was

done once at the beginning of the ADD process.done once at the beginning of the ADD process.

► Element to Decompose Element to Decompose Current knowledge of the architectureCurrent knowledge of the architecture

► The security service element has chosen as the system to decompose. The security service element has chosen as the system to decompose. Specifically when acquire lead and allocate lead services are targeted Specifically when acquire lead and allocate lead services are targeted as per section 2.6.as per section 2.6.

Risk and difficultyRisk and difficulty► Since this element is depending upon the third party active directory Since this element is depending upon the third party active directory

therefore it is very difficult to achieve the element associated therefore it is very difficult to achieve the element associated requirements.requirements.

► In order to decompose this element, active directory component In order to decompose this element, active directory component should be setup and the users profiles need to be inserted.should be setup and the users profiles need to be inserted.

Business criteriaBusiness criteria► Security element plays a vital role in the system as per SRS.Security element plays a vital role in the system as per SRS.► Partners need to be in active directory before LAS system broadcast Partners need to be in active directory before LAS system broadcast

the lead.the lead.► Secure Certificate Layer needs to be set before LAS will go liveSecure Certificate Layer needs to be set before LAS will go live

Organizational criteriaOrganizational criteria► Security has been identified a highest priority for the LAS as per the Security has been identified a highest priority for the LAS as per the

business vision and SRS because this element has an direct impact on business vision and SRS because this element has an direct impact on the overall LASthe overall LAS

Page 28: Lead Allocation System - Attribute Driven Design (ADD)

► Candidate Architecture Drivers Candidate Architecture Drivers

# ArchitecturalDrivers

Section Discussed In

Importance

Difficulty

1 Scenario 1Authorize User

2.4.2 High High

2 Scenario 2Authenticate Users

2.4.2 High Medium

3 Scenario 3Trusted access only

2.6 High Medium

4 Constraint 1Active Directory

2.6 High Low

Page 29: Lead Allocation System - Attribute Driven Design (ADD)

► Design Concept that Design Concept that Satisfies Satisfies Architectural Architectural DriversDrivers Identify design Identify design

concerns concerns

AD# Design Concern

1 Security, Resisting Attacks, Authorize User

2 Security, Resisting Attacks, Authenticate User

3 Security, Resisting Attacks, Maintain integrity

4 Modifiability, Localize changes, Prevent Ripple Effect

Page 30: Lead Allocation System - Attribute Driven Design (ADD)

► Alternative Patterns that address the concerns Alternative Patterns that address the concerns

AD # Design Concern Pattern (pros/cons) Pattern (pros/cons)

1 Security - Resisting Attacks, Authorize User

Access Matrix / Authorization [1]Pros – FlexibleCons – Need additional resources to maintain the user profile and their roles

N/A

2 Security –Resisting Attacks, Authenticate User

Authenticate UsersPros – Reduce time, because for authenticate Enterprise uses active directoryCons – Needs extra resource for the configuration.

N/A

3 Security, Resisting Attacks, Maintain integrity

Maintain IntegrityPros – Software such as SSL exist and is easy to implementCons – Need to purchase SSL certificate.

N/A

4 Modifiability, Localize changes, Prevent Ripple Effect

Prevent Ripple EffectPros – Enterprise standard, and easy to configureCons – Need to add every partner.

N/A

Page 31: Lead Allocation System - Attribute Driven Design (ADD)

► Selected PatternsSelected Patterns

There is no other alternative pattern has There is no other alternative pattern has been identified been identified

Page 32: Lead Allocation System - Attribute Driven Design (ADD)

► Selected Patterns RelatedSelected Patterns Related

Security Architecture for Authentication and Authorization of LAS by Security Architecture for Authentication and Authorization of LAS by using AD using AD

► Capture Preliminary Architectural Views Capture Preliminary Architectural Views

Page 33: Lead Allocation System - Attribute Driven Design (ADD)

► Instantiate Architectural Elements and Allocate Responsibilities Instantiate Architectural Elements and Allocate Responsibilities

► Instantiate ElementsInstantiate Elements

Active Directory

User RoleDatabase

LASServices

LAS Gateway

Page 34: Lead Allocation System - Attribute Driven Design (ADD)

► Assign Responsibilities to Elements Assign Responsibilities to Elements

Element # Element Name Architectural Driver Pattern (s)

1 Active Directory 1, 4 Authenticate, Prevent Ripple Effect

2 User role database 2 Access Matrix / Authorization

3 Gateway of LAS 3 Maintain Integrity

Page 35: Lead Allocation System - Attribute Driven Design (ADD)

► Allocate Responsibilities Allocate Responsibilities

Active Directory: When users will try to invoke any LAS services, this Active Directory: When users will try to invoke any LAS services, this element will authenticate the users first and then allow users to entire element will authenticate the users first and then allow users to entire in to the system in to the system

User role database: for the authorization level of the LAS services a User role database: for the authorization level of the LAS services a database needs to be created where user profiles will be storeddatabase needs to be created where user profiles will be stored

Gateway: A new gateway needs to be purchased from the third party Gateway: A new gateway needs to be purchased from the third party for secure socket layer and configure it for secure socket layer and configure it

Page 36: Lead Allocation System - Attribute Driven Design (ADD)

► Interfaces for Instantiated Elements Interfaces for Instantiated Elements

Element Requires Provides

Active Directory A setup and configuration need to require for entire LAS services.

It provides authentication and a system will be secure after implementing this element.

User role database A setup as well as tables needs to be created for each and every LAS service user. And also identify the role.

It provides authorization for LAS services.

Gateway Set up and configuration for LAS system. It provides the 128 bit encryption for the entire LAS system.

Page 37: Lead Allocation System - Attribute Driven Design (ADD)

► Verify and refine requirements Verify and refine requirements

All the architectural drivers (functional requirements, constraints, and All the architectural drivers (functional requirements, constraints, and quality scenarios) have been accounted for.quality scenarios) have been accounted for.

Page 38: Lead Allocation System - Attribute Driven Design (ADD)

ReferencesReferences

►http://www.cse.fau.edu/~ed/SecPatterhttp://www.cse.fau.edu/~ed/SecPatterns.pdfns.pdf