25
How conceptual system architecture leads to business processes Hernan Astudillo Soluciones S.A. [email protected] www.ime.usp.br/~ha/slides/oopsla2k.ppt

How conceptual system architecture leads to business processes Hernan Astudillo Soluciones S.A. [email protected] ha/slides/oopsla2k.ppt

  • View
    215

  • Download
    0

Embed Size (px)

Citation preview

How conceptual system architecture leads to business processes

Hernan AstudilloSoluciones S.A.

[email protected]/~ha/slides/oopsla2k.ppt

2000-10-18 Astudillo / OOPSLA’2000

Project context

– Allow payments from Financial Institutions (FI) to various Federal Agencies

– In actuality, these payments are• ...collected by the Treasury • ...on behalf of the Agencies • ...and reported to the Federal Reserve Banks

(FRBs)

– FIs may be anywhere in the world– Agencies are located mostly in D.C. area– 37 FRBs located across the U.S.

2000-10-18 Astudillo / OOPSLA’2000

Project goals: functional

– Deposit reporting

– Accounting classification for cash management purposes

– Reconciliation tools for client agencies

– Consolidated financial reporting

– Cash forecasting (deposits & disbursements)

2000-10-18 Astudillo / OOPSLA’2000

Project goals: non-functional

– Consolidated, standardized information• all-electronic

• open architecture

• single on-line stream to agencies

– Simplified access to information• in format (standardized) and platform (web)

– Robust and adaptable

On discovering

2000-10-18 Astudillo / OOPSLA’2000

Relevant business processes

Treasury

FRB-NYC

FMS

payeragency

FI

$, agency,details

$,agency

$,treasury

errors

id FI account

id Treasury account

STAR

id ledger

Cash-Link

$,agency

2000-10-18 Astudillo / OOPSLA’2000

Reasoning

– System allows:• FIs pay to Agencies

– Well, not really: • Treasury collects and keeps this payments

– Well, not really:• fund transfers happen inside the FRBs

– So we support an accounting fiction– …but this doesn’t help to understand

reconciliation and forecasting

2000-10-18 Astudillo / OOPSLA’2000

Key representation

Agency

Treasury

Federal Reserve Bank

FI

agency

Treasury

image

Treasuryagency

agency image of Treasury's payments

image of an Agency's payments

2000-10-18 Astudillo / OOPSLA’2000

Key insight

– Paying and reflecting are arquitecturally different

• OLTP, available, real-time, geographically replicated vs. datahouse, 9-to-5, batch, central location

– Payment processing post-facto analysis– Hence, two system halves:

• “payments mediator”• “analysis enabler”

2000-10-18 Astudillo / OOPSLA’2000

The two “lobes”

FRB

agency

FI

FMS

STAR

payment

sync

publicmoniesreconciliation

activityactivity

othersys

payment mediator analysis enabler

CA$H-LINK

2000-10-18 Astudillo / OOPSLA’2000

“Lobes”?

– Lobe:• aggregate of business functions demanding

similar mechanisms across several dimensions (e.g. availability, distribution, interactivity...)

– “This system is composed of two lobes”…– ...or rather:

• “this system’s overall functionality can be meaningfully aggregated into two large sets with meaningful architectural differences"

2000-10-18 Astudillo / OOPSLA’2000

Characteristics of the lobes Characteristic Payment mediator Analysis enabler

Timeliness Near-time processing Batch processing

Typical transactions OLTP-like DSS-like

Synchronicity Event-driven Data-driven

Availability 24x7 Daily

Location Distributed, fail-over Centralized (internal replication)

Reliability Extremely high ($) Plain old high

2000-10-18 Astudillo / OOPSLA’2000

Lobes architecture

– Payment mediator• fully distributed, fully replicated, fail-over

replicated, supporting only payment processing• all historical analysis (i.e. large volumes of data)

must be left to analysis enabler

– Analysis enabler• centralized, internally replicated (for load-

balancing and availability), data-centric architecture

• all near-time payment processing must be left to payment mediator

On documenting

2000-10-18 Astudillo / OOPSLA’2000

Architectural strategy

– Strategy: “multi-layered derivation”– Aspects:

• Refinement– different abstraction and completeness levels

• Layered description– diagrams and entities for each layer

• Traceable refinement– traceability matrices

2000-10-18 Astudillo / OOPSLA’2000

The 5 layers (1/2)

– 1) Lobes• aggregate business functions that demand similar

mechanisms

– 2) Components• large-grain software or data pieces• each component offers “services” to manipulate

what is conceptually a single unit• typical component kinds: lifecycle, reporting,

importing [details later]

2000-10-18 Astudillo / OOPSLA’2000

The 5 layers (2/2)

– 3) Services and connectors – 4) Modules

• pieces that can be treated as a single entity by a programming environment

– 5) Technical infrastructure• network/node topologies• deployment strategies

2000-10-18 Astudillo / OOPSLA’2000

Typical components• Typical component kinds:

– lifecycle• allow CRED of a system-tracked entity• …which can be internal or image of an external entity• …providing basic retrieval strategies

– reporting• generate reports on a system-tracked entity• …providing complex/multiple retrieval strategies• …with a content- & format-description mechanism

– importing• accepts and converts external data meaningfully• conversion description mechanism

2000-10-18 Astudillo / OOPSLA’2000

Level 1: lobes

FRB

agency

FI

FMS

STAR

payment

sync

publicmoniesreconciliation

activityactivity

othersys

payment mediator analysis enabler

CA$H-LINK

2000-10-18 Astudillo / OOPSLA’2000

Level 2: components (deposit)Components overview

(level 3-deposit)

paymentmediator

FRB

agency

FI

FMS

STAR

1 (dep. rep.)23 (dep. adjust.)2 (del./rev. dep)

107 (identif. unclassif.)105 (classif. dep.)

121&122 (del. ACH req.)37 (fedwires)

24 (fedwire correction)

REC/DECactivity

paymentlifecycle

FRBtransfers

36 (REC/DEC)

32 (ACH return)

synchronization

activityreporting

specFI

other sysactivity

importing

120 (NTDODDA balance)

9 (recordSTAR trans.)

68 (fundstransfer instrs.)

29 (FRB deposit)

35 (publ.$ rep.)

publicmonies

lifecycle

69 (publ.$ adj.)

93 (fedwirerev.)

FA

TRACS

57 (createREC/DEC)

RFC

27 (PADjrnl.)

46 (STARreps.)

remittancedetail

98 (transf.remitt. detail)

REX

73 (REX dep. tix)

74 (Fedwire dep. tix)

depositing

25 (Fedwirerev. instrs.)

paymentshistory

publicmonies

CA$H-LINKRHS

CA$H-LINKLHS

2000-10-18 Astudillo / OOPSLA’2000

Level 2: traceability matrix Event Actors Component(s)

#93 (Fedwire reversal) Agency Payment lifecycle

#68 (funds transferinstrcutions)

FA Payment lifecycle

#25 (Fedwire reversalinstructions)

FA Payment lifecycle

#1 (deposit report) FI Payment lifecycle

#22 (deposit adjustment) FI Payment lifecycle

#3 (depositdeletion/reversal)

FI Payment lifecycle

#102 (identif. Unclassifieddeposit)

FI Payment lifecycle

2000-10-18 Astudillo / OOPSLA’2000

Level 3: components refinement

Element Element kind Decomposition (usedcomponents)

Additionalproperties

Platform orproduct

Paymentlifecycle

Load-balanced

Component Lifecycle Fault-tolerant Ad-hoc

Interaction toFI/FA

Collection Fault-tolerant(duplicated to RHS)

Paymentmediator

Fault-tolerant(duplicated)

Component Persistence-LHS Java/Oracle

Depositing Legacy-based

Component Collection

Conclusion

2000-10-18 Astudillo / OOPSLA’2000

Conclusion

– Architectural experience may lead to identify business processes

• lobes correspond to “real” things

– Multi-layered derivation is a good strategy• facilitates reasoning• provides traceability

How conceptual system architecture leads to business processes

Hernan AstudilloSoluciones S.A.

[email protected]/~ha/slides/oopsla2k.ppt