forked from finos/architecture-as-code
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request finos#2 from rocketstack-matt/monorepo-setup
Initial commit
- Loading branch information
Showing
6 changed files
with
637 additions
and
36 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -13,3 +13,4 @@ docs/contributing.md | |
|
||
# We use YARN | ||
website/package-lock.json | ||
/.idea/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
# The Architecture as Code Specification | ||
|
||
The Architecture as Code Specification (AasC) is a specification for defining system architectures in a machine and human-readable format. | ||
|
||
The intention of the AasC Specification is to enable a common language for describing system architectures, and to enable tooling to support the creation, validation, and visualization of architectures. | ||
|
||
The AasC specification is considered to be a work in progress, and is currently in the early stages of development. The specification is currently being developed by the [Architecture as Code Community](https://devops.finos.org/docs/working-groups/aasc/). | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,269 @@ | ||
{ | ||
"nodes": [ | ||
{ | ||
"uniqueId": "traderx-system", | ||
"type": "system", | ||
"name": "TraderX", | ||
"description": "Simple Trading System" | ||
}, | ||
{ | ||
"uniqueId": "traderx-trader", | ||
"type": "actor", | ||
"name": "Trader", | ||
"description": "Person who manages accounts and executes trades" | ||
}, | ||
{ | ||
"uniqueId": "web-client", | ||
"type": "webclient", | ||
"name": "Web Client", | ||
"description": "Browser based web interface for TraderX", | ||
"data-classification": "Confidential", | ||
"run-as": "user" | ||
}, | ||
{ | ||
"uniqueId": "web-gui-process", | ||
"type": "service", | ||
"name": "Web GUI", | ||
"description": "Backend service for the Web Client", | ||
"data-classification": "Confidential", | ||
"run-as": "systemId" | ||
}, | ||
{ | ||
"uniqueId": "position-service", | ||
"type": "service", | ||
"name": "Position Service", | ||
"description": "Server process which processes trading activity and updates positions", | ||
"data-classification": "Confidential", | ||
"run-as": "systemId" | ||
}, | ||
{ | ||
"uniqueId": "traderx-db", | ||
"type": "database", | ||
"name": "TraderX DB", | ||
"description": "Database which stores account, trade and position state", | ||
"data-classification": "Confidential", | ||
"run-as": "systemId" | ||
}, | ||
{ | ||
"uniqueId": "internal-bank-network", | ||
"type": "internal-network", | ||
"name": "Bank ABC Internal Network", | ||
"description": "Internal network for Bank ABC", | ||
"instance": "Internal Network" | ||
}, | ||
{ | ||
"uniqueId": "reference-data-service", | ||
"type": "service", | ||
"name": "Reference Data Service", | ||
"description": "Service which provides reference data", | ||
"data-classification": "Confidential", | ||
"run-as": "systemId" | ||
}, | ||
{ | ||
"uniqueId": "trading-services", | ||
"type": "service", | ||
"name": "Trading Services", | ||
"description": "Service which provides trading services", | ||
"data-classification": "Confidential", | ||
"run-as": "systemId" | ||
}, | ||
{ | ||
"uniqueId": "trade-feed", | ||
"type": "service", | ||
"name": "Trade Feed", | ||
"description": "Message bus for streaming updates to trades and positions", | ||
"data-classification": "Confidential", | ||
"run-as": "systemId" | ||
}, | ||
{ | ||
"uniqueId": "trade-processor", | ||
"type": "service", | ||
"name": "Trade Processor", | ||
"description": "Process incoming trade requests, settle and persist", | ||
"data-classification": "Confidential", | ||
"run-as": "systemId" | ||
}, | ||
{ | ||
"uniqueId": "accounts-service", | ||
"type": "service", | ||
"name": "Accounts Service", | ||
"description": "Service which provides account management", | ||
"data-classification": "Confidential", | ||
"run-as": "systemId" | ||
}, | ||
{ | ||
"uniqueId": "people-service", | ||
"type": "service", | ||
"name": "People Service", | ||
"description": "Service which provides user details management", | ||
"data-classification": "Confidential", | ||
"run-as": "systemId" | ||
}, | ||
{ | ||
"uniqueId": "user-directory", | ||
"type": "ldap", | ||
"name": "User Directory", | ||
"description": "Golden source of user data", | ||
"data-classification": "PII", | ||
"run-as": "systemId" | ||
} | ||
], | ||
"relationships": [ | ||
{ | ||
"uniqueId": "trader-uses-web-client", | ||
"type": "interacts", | ||
"parties": { | ||
"actor": "traderx-trader", | ||
"nodes": [ | ||
"web-client" | ||
] | ||
} | ||
}, | ||
{ | ||
"uniqueId": "web-client-uses-web-gui", | ||
"type": "connects", | ||
"parties": { | ||
"source": "web-client", | ||
"destination": "web-gui-process" | ||
}, | ||
"protocol": "HTTPS", | ||
"authentication": "SiteMinder/Isolated" | ||
}, | ||
{ | ||
"uniqueId": "web-gui-uses-position-service", | ||
"type": "connects", | ||
"parties": { | ||
"source": "web-gui-process", | ||
"destination": "position-service" | ||
}, | ||
"protocol": "HTTPS", | ||
"authentication": "SPNEGO" | ||
}, | ||
{ | ||
"uniqueId": "position-service-uses-traderx-db", | ||
"type": "connects", | ||
"parties": { | ||
"source": "position-service", | ||
"destination": "traderx-db" | ||
}, | ||
"protocol": "JDBC", | ||
"authentication": "Kerberos" | ||
}, | ||
{ | ||
"uniqueId": "traderx-system-is-deployed-in-internal-bank-network", | ||
"type": "deployed-in", | ||
"parties": { | ||
"nodes": [ | ||
"traderx-system" | ||
], | ||
"container": "internal-bank-network" | ||
} | ||
}, | ||
{ | ||
"uniqueId": "traderx-system-is-composed-of", | ||
"type": "composed-of", | ||
"parties": { | ||
"nodes": [ | ||
"web-client", | ||
"web-gui-process", | ||
"position-service", | ||
"traderx-db" | ||
], | ||
"container": "traderx-system" | ||
} | ||
}, | ||
{ | ||
"uniqueId": "traderx-system-components-are-deployed-in-internal-bank-network", | ||
"type": "deployed-in", | ||
"parties": { | ||
"nodes": [ | ||
"web-client", | ||
"web-gui-process", | ||
"position-service", | ||
"traderx-db" | ||
], | ||
"container": "internal-bank-network" | ||
} | ||
}, | ||
{ | ||
"uniqueId": "webgui-process-uses-reference-data-service", | ||
"type": "connects", | ||
"parties": { | ||
"source": "web-gui-process", | ||
"destination": "reference-data-service" | ||
}, | ||
"protocol": "HTTPS", | ||
"authentication": "SPNEGO" | ||
}, | ||
{ | ||
"uniqueId": "webgui-process-uses-trading-services", | ||
"type": "connects", | ||
"parties": { | ||
"source": "web-gui-process", | ||
"destination": "trading-services" | ||
}, | ||
"protocol": "HTTPS", | ||
"authentication": "SPNEGO" | ||
}, | ||
{ | ||
"uniqueId": "webgui-process-uses-trade-feed", | ||
"type": "connects", | ||
"parties": { | ||
"source": "web-gui-process", | ||
"destination": "trade-feed" | ||
}, | ||
"protocol": "WebSocket", | ||
"authentication": "Kerberos" | ||
}, | ||
{ | ||
"uniqueId": "trade-feed-connects-to-trade-processor", | ||
"type": "connects", | ||
"parties": { | ||
"source": "trade-feed", | ||
"destination": "trade-processor" | ||
}, | ||
"protocol": "AMQP", | ||
"authentication": "Kerberos" | ||
}, | ||
{ | ||
"uniqueId": "trade-processor-connects-to-traderx-db", | ||
"type": "connects", | ||
"parties": { | ||
"source": "trade-processor", | ||
"destination": "traderx-db" | ||
}, | ||
"protocol": "JDBC", | ||
"authentication": "Kerberos" | ||
}, | ||
{ | ||
"uniqueId": "webgui-process-uses-accounts-service", | ||
"type": "connects", | ||
"parties": { | ||
"source": "web-gui-process", | ||
"destination": "accounts-service" | ||
}, | ||
"protocol": "HTTPS", | ||
"authentication": "SPNEGO" | ||
}, | ||
{ | ||
"uniqueId": "webgui-process-uses-people-service", | ||
"type": "connects", | ||
"parties": { | ||
"source": "web-gui-process", | ||
"destination": "people-service" | ||
}, | ||
"protocol": "HTTPS", | ||
"authentication": "SPNEGO" | ||
}, | ||
{ | ||
"uniqueId": "people-service-connects-to-user-directory", | ||
"type": "connects", | ||
"parties": { | ||
"source": "people-service", | ||
"destination": "user-directory" | ||
}, | ||
"protocol": "LDAP", | ||
"authentication": "Kerberos" | ||
} | ||
] | ||
} |
Oops, something went wrong.