{ "name": "", "config": { "sketch": false, "themeID": 303, "darkThemeID": null, "pad": null, "center": null, "layoutEngine": null }, "isFolderOnly": false, "fontFamily": "SourceSansPro", "shapes": [ { "id": "customer", "type": "c4-person", "pos": { "x": 1105, "y": 0 }, "width": 383, "height": 429, "opacity": 1, "strokeDash": 0, "strokeWidth": 2, "borderRadius": 0, "fill": "B2", "stroke": "B1", "animated": false, "shadow": false, "3d": false, "multiple": false, "double-border": false, "tooltip": "", "link": "", "icon": null, "iconPosition": "", "blend": false, "fields": null, "methods": null, "columns": null, "label": "## Personal Banking Customer\n[person]\n\nA customer of the bank, with personal bank accounts.", "fontSize": 16, "fontFamily": "DEFAULT", "language": "markdown", "color": "N7", "italic": false, "bold": true, "underline": false, "labelWidth": 358, "labelHeight": 119, "labelPosition": "INSIDE_MIDDLE_CENTER", "zIndex": 0, "level": 1 }, { "id": "internet_banking_system", "type": "rectangle", "pos": { "x": 147, "y": 586 }, "width": 2407, "height": 915, "opacity": 1, "strokeDash": 5, "strokeWidth": 2, "borderRadius": 0, "fill": "transparent", "stroke": "AA2", "animated": false, "shadow": false, "3d": false, "multiple": false, "double-border": false, "tooltip": "", "link": "", "icon": null, "iconPosition": "", "blend": false, "fields": null, "methods": null, "columns": null, "label": "## Internet Banking System\n[Software System]", "fontSize": 28, "fontFamily": "DEFAULT", "language": "markdown", "color": "N1", "italic": false, "bold": false, "underline": false, "labelWidth": 447, "labelHeight": 125, "labelPosition": "INSIDE_BOTTOM_LEFT", "zIndex": 0, "level": 1 }, { "id": "internet_banking_system.web_app", "type": "rectangle", "pos": { "x": 177, "y": 616 }, "width": 550, "height": 164, "opacity": 1, "strokeDash": 0, "strokeWidth": 2, "borderRadius": 0, "fill": "B4", "stroke": "B3", "animated": false, "shadow": false, "3d": false, "multiple": false, "double-border": false, "tooltip": "", "link": "", "icon": null, "iconPosition": "", "blend": false, "fields": null, "methods": null, "columns": null, "label": "## Web Application\n[Container: Java and Spring MVC]\n\nDelivers the static content and the Internet banking single page application.", "fontSize": 16, "fontFamily": "DEFAULT", "language": "markdown", "color": "N7", "italic": false, "bold": true, "underline": false, "labelWidth": 505, "labelHeight": 119, "labelPosition": "INSIDE_MIDDLE_CENTER", "zIndex": 0, "level": 2 }, { "id": "internet_banking_system.spa", "type": "rectangle", "pos": { "x": 390, "y": 901 }, "width": 609, "height": 164, "opacity": 1, "strokeDash": 0, "strokeWidth": 2, "borderRadius": 0, "fill": "B4", "stroke": "B3", "animated": false, "shadow": false, "3d": false, "multiple": false, "double-border": false, "tooltip": "", "link": "", "icon": null, "iconPosition": "", "blend": false, "fields": null, "methods": null, "columns": null, "label": "## Single-Page Application\n[Container: JavaScript and Angular]\n\nProvides all of the Internet banking functionality to customers via their web browser.", "fontSize": 16, "fontFamily": "DEFAULT", "language": "markdown", "color": "N7", "italic": false, "bold": true, "underline": false, "labelWidth": 564, "labelHeight": 119, "labelPosition": "INSIDE_MIDDLE_CENTER", "zIndex": 0, "level": 2 }, { "id": "internet_banking_system.mobile_app", "type": "rectangle", "pos": { "x": 1123, "y": 901 }, "width": 707, "height": 164, "opacity": 1, "strokeDash": 0, "strokeWidth": 2, "borderRadius": 0, "fill": "B4", "stroke": "B3", "animated": false, "shadow": false, "3d": false, "multiple": false, "double-border": false, "tooltip": "", "link": "", "icon": null, "iconPosition": "", "blend": false, "fields": null, "methods": null, "columns": null, "label": "## Mobile App\n[Container: Xamarin]\n\nProvides a limited subset of the Internet banking functionality to customers via their mobile device.", "fontSize": 16, "fontFamily": "DEFAULT", "language": "markdown", "color": "N7", "italic": false, "bold": true, "underline": false, "labelWidth": 662, "labelHeight": 119, "labelPosition": "INSIDE_MIDDLE_CENTER", "zIndex": 0, "level": 2 }, { "id": "internet_banking_system.api_app", "type": "rectangle", "pos": { "x": 1246, "y": 1202 }, "width": 461, "height": 164, "opacity": 1, "strokeDash": 0, "strokeWidth": 2, "borderRadius": 0, "fill": "B4", "stroke": "B3", "animated": false, "shadow": false, "3d": false, "multiple": false, "double-border": false, "tooltip": "", "link": "", "icon": null, "iconPosition": "", "blend": false, "fields": null, "methods": null, "columns": null, "label": "## API Application\n[Container: Java and Spring MVC]\n\nProvides Internet banking functionality via a JSON/HTTPS API.", "fontSize": 16, "fontFamily": "DEFAULT", "language": "markdown", "color": "N7", "italic": false, "bold": true, "underline": false, "labelWidth": 416, "labelHeight": 119, "labelPosition": "INSIDE_MIDDLE_CENTER", "zIndex": 0, "level": 2 }, { "id": "internet_banking_system.database", "type": "rectangle", "pos": { "x": 1890, "y": 901 }, "width": 634, "height": 164, "opacity": 1, "strokeDash": 0, "strokeWidth": 2, "borderRadius": 0, "fill": "B4", "stroke": "B3", "animated": false, "shadow": false, "3d": false, "multiple": false, "double-border": false, "tooltip": "", "link": "", "icon": null, "iconPosition": "", "blend": false, "fields": null, "methods": null, "columns": null, "label": "## Database\n[Container: Oracle Database Schema]\n\nStores user registration information, hashed authentication credentials, access logs, etc.", "fontSize": 16, "fontFamily": "DEFAULT", "language": "markdown", "color": "N7", "italic": false, "bold": true, "underline": false, "labelWidth": 589, "labelHeight": 119, "labelPosition": "INSIDE_MIDDLE_CENTER", "zIndex": 0, "level": 2 }, { "id": "email_system", "type": "rectangle", "pos": { "x": 2410, "y": 1638 }, "width": 360, "height": 164, "opacity": 1, "strokeDash": 0, "strokeWidth": 2, "borderRadius": 0, "fill": "B6", "stroke": "B5", "animated": false, "shadow": false, "3d": false, "multiple": false, "double-border": false, "tooltip": "", "link": "", "icon": null, "iconPosition": "", "blend": false, "fields": null, "methods": null, "columns": null, "label": "## E-mail System\n[Software System]\n\nThe internal Microsoft Exchange e-mail system.", "fontSize": 16, "fontFamily": "DEFAULT", "language": "markdown", "color": "N7", "italic": false, "bold": true, "underline": false, "labelWidth": 315, "labelHeight": 119, "labelPosition": "INSIDE_MIDDLE_CENTER", "zIndex": 0, "level": 1 }, { "id": "mainframe", "type": "rectangle", "pos": { "x": 0, "y": 1638 }, "width": 629, "height": 164, "opacity": 1, "strokeDash": 0, "strokeWidth": 2, "borderRadius": 0, "fill": "B6", "stroke": "B5", "animated": false, "shadow": false, "3d": false, "multiple": false, "double-border": false, "tooltip": "", "link": "", "icon": null, "iconPosition": "", "blend": false, "fields": null, "methods": null, "columns": null, "label": "## Mainframe Banking System\n[Software System]\n\nStores all of the core banking information about customers, accounts, transactions, etc.", "fontSize": 16, "fontFamily": "DEFAULT", "language": "markdown", "color": "N7", "italic": false, "bold": true, "underline": false, "labelWidth": 584, "labelHeight": 119, "labelPosition": "INSIDE_MIDDLE_CENTER", "zIndex": 0, "level": 1 } ], "connections": [ { "id": "(customer -> internet_banking_system.web_app)[0]", "src": "customer", "srcArrow": "none", "dst": "internet_banking_system.web_app", "dstArrow": "triangle", "opacity": 1, "strokeDash": 5, "strokeWidth": 2, "stroke": "AA4", "borderRadius": 10, "label": "Visits bigbank.com/ib using\n[HTTPS]", "fontSize": 16, "fontFamily": "DEFAULT", "language": "", "color": "N2", "italic": true, "bold": false, "underline": false, "labelWidth": 179, "labelHeight": 37, "labelPosition": "INSIDE_MIDDLE_CENTER", "labelPercentage": 0, "link": "", "route": [ { "x": 1105, "y": 279 }, { "x": 582.5999755859375, "y": 453.79998779296875 }, { "x": 452, "y": 576 }, { "x": 452, "y": 616 } ], "isCurve": true, "animated": false, "tooltip": "", "icon": null, "zIndex": 0 }, { "id": "internet_banking_system.(web_app -> spa)[0]", "src": "internet_banking_system.web_app", "srcArrow": "none", "dst": "internet_banking_system.spa", "dstArrow": "triangle", "opacity": 1, "strokeDash": 5, "strokeWidth": 2, "stroke": "AA4", "borderRadius": 10, "label": "Delivers to the customer's web browser", "fontSize": 16, "fontFamily": "DEFAULT", "language": "", "color": "N2", "italic": true, "bold": false, "underline": false, "labelWidth": 257, "labelHeight": 21, "labelPosition": "INSIDE_MIDDLE_CENTER", "labelPercentage": 0, "link": "", "route": [ { "x": 452, "y": 779.5 }, { "x": 452, "y": 828.2999877929688 }, { "x": 472.3999938964844, "y": 852.7000122070312 }, { "x": 554, "y": 901.5 } ], "isCurve": true, "animated": false, "tooltip": "", "icon": null, "zIndex": 0 }, { "id": "(customer -> internet_banking_system.spa)[0]", "src": "customer", "srcArrow": "none", "dst": "internet_banking_system.spa", "dstArrow": "triangle", "opacity": 1, "strokeDash": 5, "strokeWidth": 2, "stroke": "AA4", "borderRadius": 10, "label": "Views account balances, and makes payments using", "fontSize": 16, "fontFamily": "DEFAULT", "language": "", "color": "N2", "italic": true, "bold": false, "underline": false, "labelWidth": 340, "labelHeight": 21, "labelPosition": "INSIDE_MIDDLE_CENTER", "labelPercentage": 0, "link": "", "route": [ { "x": 1105, "y": 365 }, { "x": 970.5999755859375, "y": 471 }, { "x": 937, "y": 511.20001220703125 }, { "x": 937, "y": 531.75 }, { "x": 937, "y": 552.2999877929688 }, { "x": 937, "y": 592.4000244140625 }, { "x": 937, "y": 632 }, { "x": 937, "y": 671.5999755859375 }, { "x": 916.5999755859375, "y": 852.7000122070312 }, { "x": 835, "y": 901.5 } ], "isCurve": true, "animated": false, "tooltip": "", "icon": null, "zIndex": 0 }, { "id": "(customer -> internet_banking_system.mobile_app)[0]", "src": "customer", "srcArrow": "none", "dst": "internet_banking_system.mobile_app", "dstArrow": "triangle", "opacity": 1, "strokeDash": 5, "strokeWidth": 2, "stroke": "AA4", "borderRadius": 10, "label": "Views account balances, and makes payments using", "fontSize": 16, "fontFamily": "DEFAULT", "language": "", "color": "N2", "italic": true, "bold": false, "underline": false, "labelWidth": 340, "labelHeight": 21, "labelPosition": "INSIDE_MIDDLE_CENTER", "labelPercentage": 0, "link": "", "route": [ { "x": 1432, "y": 428 }, { "x": 1467.199951171875, "y": 483.6000061035156 }, { "x": 1476, "y": 511.20001220703125 }, { "x": 1476, "y": 531.75 }, { "x": 1476, "y": 552.2999877929688 }, { "x": 1476, "y": 592.4000244140625 }, { "x": 1476, "y": 632 }, { "x": 1476, "y": 671.5999755859375 }, { "x": 1476, "y": 852.7000122070312 }, { "x": 1476, "y": 901.5 } ], "isCurve": true, "animated": false, "tooltip": "", "icon": null, "zIndex": 0 }, { "id": "internet_banking_system.(spa -> api_app)[0]", "src": "internet_banking_system.spa", "srcArrow": "none", "dst": "internet_banking_system.api_app", "dstArrow": "triangle", "opacity": 1, "strokeDash": 5, "strokeWidth": 2, "stroke": "AA4", "borderRadius": 10, "label": "Makes API calls to\n[JSON/HTTPS]", "fontSize": 16, "fontFamily": "DEFAULT", "language": "", "color": "N2", "italic": true, "bold": false, "underline": false, "labelWidth": 116, "labelHeight": 37, "labelPosition": "INSIDE_MIDDLE_CENTER", "labelPercentage": 0, "link": "", "route": [ { "x": 694.5, "y": 1064.5 }, { "x": 694.5, "y": 1119.699951171875 }, { "x": 804.7000122070312, "y": 1154.7220458984375 }, { "x": 1245.5, "y": 1239.6099853515625 } ], "isCurve": true, "animated": false, "tooltip": "", "icon": null, "zIndex": 0 }, { "id": "internet_banking_system.(mobile_app -> api_app)[0]", "src": "internet_banking_system.mobile_app", "srcArrow": "none", "dst": "internet_banking_system.api_app", "dstArrow": "triangle", "opacity": 1, "strokeDash": 5, "strokeWidth": 2, "stroke": "AA4", "borderRadius": 10, "label": "Makes API calls to\n[JSON/HTTPS]", "fontSize": 16, "fontFamily": "DEFAULT", "language": "", "color": "N2", "italic": true, "bold": false, "underline": false, "labelWidth": 116, "labelHeight": 37, "labelPosition": "INSIDE_MIDDLE_CENTER", "labelPercentage": 0, "link": "", "route": [ { "x": 1476, "y": 1064.5 }, { "x": 1476, "y": 1119.699951171875 }, { "x": 1476, "y": 1147.300048828125 }, { "x": 1476, "y": 1202.5 } ], "isCurve": true, "animated": false, "tooltip": "", "icon": null, "zIndex": 0 }, { "id": "(internet_banking_system.api_app -> mainframe)[0]", "src": "internet_banking_system.api_app", "srcArrow": "none", "dst": "mainframe", "dstArrow": "triangle", "opacity": 1, "strokeDash": 5, "strokeWidth": 2, "stroke": "AA4", "borderRadius": 10, "label": "Makes API calls to\n[XML/HTTPS]", "fontSize": 16, "fontFamily": "DEFAULT", "language": "", "color": "N2", "italic": true, "bold": false, "underline": false, "labelWidth": 116, "labelHeight": 37, "labelPosition": "INSIDE_MIDDLE_CENTER", "labelPercentage": 0, "link": "", "route": [ { "x": 1245.5, "y": 1310.1949462890625 }, { "x": 500.6990051269531, "y": 1462.8389892578125 }, { "x": 314.5, "y": 1583.300048828125 }, { "x": 314.5, "y": 1638.5 } ], "isCurve": true, "animated": false, "tooltip": "", "icon": null, "zIndex": 0 }, { "id": "(customer -> email_system)[0]", "src": "customer", "srcArrow": "none", "dst": "email_system", "dstArrow": "triangle", "opacity": 1, "strokeDash": 5, "strokeWidth": 2, "stroke": "AA4", "borderRadius": 10, "label": "Sends e-mails to", "fontSize": 16, "fontFamily": "DEFAULT", "language": "", "color": "N2", "italic": true, "bold": false, "underline": false, "labelWidth": 107, "labelHeight": 21, "labelPosition": "INSIDE_MIDDLE_CENTER", "labelPercentage": 0, "link": "", "route": [ { "x": 1488, "y": 255 }, { "x": 2407.199951171875, "y": 449 }, { "x": 2637, "y": 511.20001220703125 }, { "x": 2637, "y": 531.75 }, { "x": 2637, "y": 552.2999877929688 }, { "x": 2637, "y": 592.4000244140625 }, { "x": 2637, "y": 632 }, { "x": 2637, "y": 671.5999755859375 }, { "x": 2637, "y": 726.5 }, { "x": 2637, "y": 769.25 }, { "x": 2637, "y": 812 }, { "x": 2637, "y": 869 }, { "x": 2637, "y": 911.75 }, { "x": 2637, "y": 954.5 }, { "x": 2637, "y": 1013.0999755859375 }, { "x": 2637, "y": 1058.25 }, { "x": 2637, "y": 1103.4000244140625 }, { "x": 2637, "y": 1163.5999755859375 }, { "x": 2637, "y": 1208.75 }, { "x": 2637, "y": 1253.9000244140625 }, { "x": 2637, "y": 1327.4000244140625 }, { "x": 2637, "y": 1392.5 }, { "x": 2637, "y": 1457.5999755859375 }, { "x": 2632.800048828125, "y": 1583.300048828125 }, { "x": 2616, "y": 1638.5 } ], "isCurve": true, "animated": false, "tooltip": "", "icon": null, "zIndex": 0 }, { "id": "(internet_banking_system.api_app -> email_system)[0]", "src": "internet_banking_system.api_app", "srcArrow": "none", "dst": "email_system", "dstArrow": "triangle", "opacity": 1, "strokeDash": 5, "strokeWidth": 2, "stroke": "AA4", "borderRadius": 10, "label": "Sends e-mail using", "fontSize": 16, "fontFamily": "DEFAULT", "language": "", "color": "N2", "italic": true, "bold": false, "underline": false, "labelWidth": 123, "labelHeight": 21, "labelPosition": "INSIDE_MIDDLE_CENTER", "labelPercentage": 0, "link": "", "route": [ { "x": 1707.5, "y": 1317.843994140625 }, { "x": 2241.5, "y": 1464.3680419921875 }, { "x": 2394.39990234375, "y": 1583.300048828125 }, { "x": 2472, "y": 1638.5 } ], "isCurve": true, "animated": false, "tooltip": "", "icon": null, "zIndex": 0 }, { "id": "internet_banking_system.(database <-> api_app)[0]", "src": "internet_banking_system.database", "srcArrow": "triangle", "dst": "internet_banking_system.api_app", "dstArrow": "triangle", "opacity": 1, "strokeDash": 5, "strokeWidth": 2, "stroke": "AA4", "borderRadius": 10, "label": "Reads from and writes to\n[SQL/TCP]", "fontSize": 16, "fontFamily": "DEFAULT", "language": "", "color": "N2", "italic": true, "bold": false, "underline": false, "labelWidth": 163, "labelHeight": 37, "labelPosition": "INSIDE_MIDDLE_CENTER", "labelPercentage": 0, "link": "", "route": [ { "x": 2206.5, "y": 1064.5 }, { "x": 2206.5, "y": 1119.699951171875 }, { "x": 2106.5, "y": 1154.0999755859375 }, { "x": 1706.5, "y": 1236.5 } ], "isCurve": true, "animated": false, "tooltip": "", "icon": null, "zIndex": 0 } ], "root": { "id": "", "type": "", "pos": { "x": 0, "y": 0 }, "width": 0, "height": 0, "opacity": 0, "strokeDash": 0, "strokeWidth": 0, "borderRadius": 0, "fill": "N7", "stroke": "", "animated": false, "shadow": false, "3d": false, "multiple": false, "double-border": false, "tooltip": "", "link": "", "icon": null, "iconPosition": "", "blend": false, "fields": null, "methods": null, "columns": null, "label": "", "fontSize": 0, "fontFamily": "", "language": "", "color": "", "italic": false, "bold": false, "underline": false, "labelWidth": 0, "labelHeight": 0, "zIndex": 0, "level": 0 } }