مقدمه
1. خلاصه اجرایی
این مطالعه موردی طراحی معماری سیستم بانکی اینترنتی را تحلیل میکندسیستم بانکداری اینترنتیبرای یک مؤسسه مالی فرضی، «BigBank». هدف این پروژه، ارائه دسترسی ایمن، قابل دسترسی و چندکاناله به حسابهای مشتریان بانکی شخصی (از طریق وب و موبایل) در حالی که با زیرساخت هستهای قدیمی بانکداری یکپارچه شود، بود.
معماری با استفاده ازمدل C4 (نمودار کانتینر)که انتخابهای فناوری سطح بالا و نحوه تعامل کانتینرها (برنامهها، پایگاههای داده و غیره) در سیستم را نمایش میدهد.

2. چالشهای کسبوکار
-
یکپارچهسازی سیستمهای قدیمی:بانک دارای یک سیستم بانکداری مینیفریم قوی اما قدیمی است که حقیقت اصلی دادههای مشتری را در خود نگه میدارد. سیستم جدید نیاز داشت تا این دادهها را بدون جایگزینی فوری مینیفریم، قابل دسترسی کند.
-
دسترسی چندکاناله:مشتریان دسترسی از طریق مرورگرهای دسکتاپ و دستگاههای موبایل را درخواست کردند.
-
امنیت:مدیریت دادههای مالی حساس نیازمند احراز هویت دقیق و کانالهای ارتباطی امن است.
3. راهحل معماری (نمای کانتینر C4)
این راهحل به صورت یک سیستم جداشده طراحی شده است که لایه ارائه از لایه منطق کسبوکار و لایه داده جدا شده است.
الف. لایه رابط کاربری (فرانتاند)
این سیستم سه نقطه ورود متمایز برایمشتری بانکی شخصی:
-
برنامه تکصفحهای (SPA):
-
فناوری:جاوااسکریپت و آنگولار.
-
نقش:این در مرورگر وب مشتری اجرا میشود. این امکانات کامل بانکداری اینترنتی را فراهم میکند. این یک رابط پویا و واکنشگر است که به صورت غیرهمزمان با پشتیبانی ارتباط برقرار میکند.کاملمجموعهای از عملکردهای بانکداری اینترنتی. این یک رابط پویا و واکنشگر است که به صورت غیرهمزمان با پشتیبانی ارتباط برقرار میکند.
-
-
اپلیکیشن وب:
-
فناوری:جاوا و اسپرینگ ام وی سی.
-
نقش:این به عنوان نقطه ورود تجربه وب عمل میکند. محتوای استاتیک (HTML/CSS/JS) را تحویل میدهد و اپلیکیشن تکصفحهای را در خود نگه میدارد. به عنوان «راهانداز» اپلیکیشن آنگولار عمل میکند.
-
-
اپلیکیشن موبایل:
-
فناوری:کسمارین (امکان توسعه چندپلتفرمی را فراهم میکند، احتمالاً iOS و اندروید).
-
نقش:مجموعهای محدود از عملکردها را که بهینهشده برای دستگاههای موبایل هستند، ارائه میدهد. این امر نشان میدهد که وظایف پیچیده (مانند تنظیم واریزهای بینالمللی) ممکن است فقط در رابط کامل وب/SPA قابل دسترسی باشند، در حالی که وظایف رایج (بررسی موجودی) در موبایل در دسترس هستند.
-
ب. لایه منطق کسبوکار (پشتیبانی)
-
اپلیکیشن API:
-
فناوری:جاوا و اسپرینگ ام وی سی.
-
نقش:این سیستم عصبی مرکزی معماری است. این به عنوان یکدرگاه APIیاپشتیبانی برای رابط کاربری (BFF).
-
عملکرد:این یکAPI JSON/HTTPSرا به مشتریان وب و موبایل ارائه میدهد. این احراز هویت، احراز دسترسی و هماهنگی درخواستهای داده را مدیریت میکند.
-
ج. لایه داده و ادغام
-
پایگاه داده:
-
فناوری:طرح پایگاه داده اوراکل.
-
نقش:دادههای خاص بانکداری اینترنتی را ذخیره میکند. این شامل اطلاعات ثبتنام کاربران،اعتبارات احراز هویت هششده (روش بهترین امنیت)، و سوابق دسترسی. این پایگاه دادهنهمقدار واقعی موجودی بانک (که در سیستم اصلی قرار دارد) را ذخیره نمیکند.
-
ارتباط:اپلیکیشن API از طریقJDBC.
-
-
سیستم بانکداری اصلی:
-
نقش:سیستم منبع اطلاعات. اطلاعات اصلی بانکداری (مشتریان، حسابها، تراکنشها) را ذخیره میکند.
-
ارتباط:اپلیکیشن API با استفاده ازXML از طریق HTTPS. این نشان میدهد که سیستم اصلی احتمالاً یک سرویس قدیمی مبتنی بر SOAP یا یک سیستم قدیمیتر است که نیاز به تبادل دادههای ساختاریافته XML دارد.
-
-
سیستم ایمیل:
-
فناوری:مایکروسافت اکسچنج.
-
نقش:اعلانها را مدیریت میکند.
-
ارتباط:اپلیکیشن API ایمیلها را از طریقSMTPبه سرور اکسچنج ارسال میکند، که سپس آنها را به مشتری تحویل میدهد.
-
۴. جریانهای کلیدی داده و مسیرهای کاربری
سناریو ۱: ورود از طریق مرورگر وب
-
این مشتری بانکداری شخصی به سمت
bigbank.com/ibبا استفاده از HTTPS. -
درخواست به اپلیکیشن وب (جاوا/اسپرینگ ام وی سی).
-
اپلیکیشن وب، اپلیکیشن صفحه تکی (آنگولار) به مرورگر مشتری ارسال میشود.
-
مشتری اطلاعات ورود خود را در اپلیکیشن صفحه تکی وارد میکند.
-
اپلیکیشن صفحه تکی یک فراخوانی API انجام میدهد (
JSON/HTTPS) به اپلیکیشن API. -
اپلیکیشن API اعتبار اطلاعات ورود را در برابر پایگاه داده (از طریق جی دی بی).
-
در صورت موفقیت، اپلیکیشن صفحه تکی تعادل حسابها را درخواست میکند. اپلیکیشن API این دادهها را از سیستم بانکداری ماژولار (
XML/HTTPS) دریافت کرده و به اپلیکیشن صفحه تکی بازمیگرداند.
سناریو ۲: اطلاعرسانی تراکنش موبایل
-
مشتری از طریق اپلیکیشن موبایل (کسیمارات).
-
اپلیکیشن درخواستی به ارسال میکنداپلیکیشن API.
-
اپلیکیشن API پرداخت را با پردازش میکندماژول اصلی.
-
اپلیکیشن API با ارسال درخواست SMTP به یک ایمیل تأیید را فعال میکندسیستم ایمیل (اکسچنج).
-
مشتری اطلاعرسانی ایمیلی دریافت میکند.
5. ویژگیهای فنی و بهترین روشها
-
جدا سازی مسئولیتها: این نمودار به وضوح دادههای مخصوص «بانکداری اینترنتی» (پایگاه داده اوراکل) را از دادههای «بانکداری اصلی» (ماژول اصلی) جدا میکند. این امر جلوگیری میکند که لایه وب مستقیماً به حساب کل مالی اصلی دسترسی داشته باشد.
-
ترجمه پروتکل: اپلیکیشن API به عنوان یک مترجم عمل میکند. پیشبینیهای مدرن از JSONاستفاده میکنند، اما پایگاه قدیمی از XMLاستفاده میکند. اپلیکیشن API این شکاف را پر میکند.
-
امنیت: اعتبارات به صورت «هششده» در پایگاه داده ذخیره میشوند، که اطمینان حاصل میشود حتی اگر پایگاه داده مورد حمله قرار گیرد، رمزهای عبور اصلی نمایش داده نمیشوند. تمام ارتباطات خارجی از HTTPS.
-
مقیاسپذیری: با استفاده از یک برنامه صفحه تکی (انگولار) و یک API مستقل، لایه جلویی میتواند به صورت مستقل از منطق پایهای افزایش یابد.
This post is also available in Deutsch, English, Español, Français, English, Bahasa Indonesia, 日本語, Polski, Portuguese, Ру́сский, Việt Nam, 简体中文 and 繁體中文.













