Mevduat Bankacılığı ve Microservice Mimarisinin Gücü

Umut Akbulut
BilgeAdam Teknoloji
3 min readJun 25, 2024

Bankalar, kasvetli binalar, ciddi yüzler ve uzun kuyruklar… Neyse ki mevduat bankacılığı ve microservice mimarisi bu algıyı değiştirmek için burada. Bugün, hem bankacılığın nasıl çalıştığını hem de bu sistemleri modern yazılım teknikleriyle nasıl daha verimli hale getirebileceğimizi keşfedeceğiz. Hadi başlayalım!

Mevduat Bankacılığı Nedir?

Mevduat bankacılığı, adından da anlaşılacağı gibi, mevduatları (paraları) kabul eden ve bu paraları çeşitli finansal işlemler için kullanan bankacılık türüdür. Bankalar, mevduatları toplayarak kredi verir, yatırım yapar ve böylece ekonomiye katkıda bulunurlar. Basitçe, sizin birikimlerinizi güvende tutarken aynı zamanda bu paraları çalıştırarak kâr elde ederler.

Amacı Nedir?

Mevduat bankacılığının temel amacı, bireylerin ve işletmelerin paralarını güvenli bir şekilde saklamak ve ihtiyaç duyduklarında bu paraları kullanılabilir hale getirmektir. Ayrıca, bankalar kredi vererek ekonominin canlanmasına yardımcı olur. Küçük işletmelerden büyük şirketlere kadar birçok kuruluş, bankalardan aldıkları krediler sayesinde faaliyetlerini sürdürebilir.

Nasıl Çalışır?

Mevduat bankacılığı, çeşitli hesap türleriyle çalışır:

  • Vadesiz Mevduat Hesapları: Günlük işlemler için kullanılır, para çekme ve yatırma işlemleri sınırsızdır.
  • Vadeli Mevduat Hesapları: Belirli bir süre boyunca parayı çekmeden tutma karşılığında faiz getirisi sağlar.
  • Tasarruf Hesapları: Genellikle daha yüksek faiz oranları sunar, fakat belirli limitler dahilinde para çekilebilir.

Bankalar, topladıkları mevduatları kullanarak kredi verir ve bu kredilerden faiz geliri elde eder. İşte burada işler ilginçleşir; bankalar, müşteri mevduatlarından daha fazla kredi verebilirler. Bu, bankacılık sisteminin ekonomik döngüde önemli bir rol oynamasını sağlar.

Kanunsal Yükümlülükler

Mevduat bankacılığı, çeşitli yasal düzenlemelere tabidir. Bunlar, bankaların güvenilir ve şeffaf bir şekilde çalışmasını sağlamak için tasarlanmıştır. Örneğin:

  • Sermaye Yeterlilik Oranları: Bankaların belirli bir sermaye tutması gereklidir.
  • Likidite Gereksinimleri: Bankalar, belirli bir oranda likit varlık bulundurmalıdır.
  • Denetim ve Raporlama: Bankalar düzenli olarak denetlenir ve finansal durumlarını raporlamak zorundadır.

Microservice ile Mevduat Bankacılığını Geliştirmek

Mevduat bankacılığı, karmaşık ve geniş bir sistemdir. Bu sistemin verimli ve esnek çalışmasını sağlamak için microservice mimarisi ideal bir çözümdür. Microservice mimarisi, büyük bir uygulamayı küçük, bağımsız hizmetlere bölerek geliştirmeyi ve yönetmeyi sağlar. Her microservice, belirli bir işlevi yerine getirir ve diğer hizmetlerle API’ler aracılığıyla iletişim kurar.

Microservice ile Geliştirmenin Avantajları

  • Ölçeklenebilirlik: Her bir microservice bağımsız olarak ölçeklenebilir.
  • Esneklik: Farklı microservice’ler farklı teknolojilerle geliştirilebilir.
  • Kolay Bakım ve Güncelleme: Küçük bir hizmeti güncellemek, tüm sistemi etkilemeden yapılabilir.

Microservice Örneği

Şimdi, basit bir mevduat hesap yönetimi microservice’i yazalım.

Adım 1: Projeyi Oluşturma

Spring Boot kullanarak bir microservice projesi oluşturacağız. İlk olarak, gerekli bağımlılıkları ekleyelim:

<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
</dependency>
</dependencies>

Adım 2: Entity ve Repository Tanımlama

@Entity
public class Account {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String accountNumber;
private BigDecimal balance;

// Getters and Setters
}

public interface AccountRepository extends JpaRepository<Account, Long> {
Optional<Account> findByAccountNumber(String accountNumber);
}

Adım 3: Service ve Controller Katmanları

@Service
public class AccountService {
@Autowired
private AccountRepository accountRepository;

public Account createAccount(String accountNumber, BigDecimal initialBalance) {
Account account = new Account();
account.setAccountNumber(accountNumber);
account.setBalance(initialBalance);
return accountRepository.save(account);
}

public Optional<Account> getAccount(String accountNumber) {
return accountRepository.findByAccountNumber(accountNumber);
}

public Account deposit(String accountNumber, BigDecimal amount) {
Account account = accountRepository.findByAccountNumber(accountNumber)
.orElseThrow(() -> new RuntimeException("Account not found"));
account.setBalance(account.getBalance().add(amount));
return accountRepository.save(account);
}
}

@RestController
@RequestMapping("/accounts")
public class AccountController {
@Autowired
private AccountService accountService;

@PostMapping
public Account createAccount(@RequestBody Account account) {
return accountService.createAccount(account.getAccountNumber(), account.getBalance());
}

@GetMapping("/{accountNumber}")
public Account getAccount(@PathVariable String accountNumber) {
return accountService.getAccount(accountNumber)
.orElseThrow(() -> new ResponseStatusException(HttpStatus.NOT_FOUND, "Account not found"));
}

@PostMapping("/{accountNumber}/deposit")
public Account deposit(@PathVariable String accountNumber, @RequestBody BigDecimal amount) {
return accountService.deposit(accountNumber, amount);
}
}

Adım 4: Uygulamanın Çalıştırılması

@SpringBootApplication
public class BankApplication {
public static void main(String[] args) {
SpringApplication.run(BankApplication.class, args);
}
}

Bu basit örnek, bir mevduat hesabı yönetimi için temel bir microservice’i gösterir. Gerçek dünyada, bu sistemler daha karmaşık olacak ve farklı hizmetlerle etkileşime girecektir. Ancak, microservice mimarisinin esnekliği ve ölçeklenebilirliği sayesinde, bu tür sistemleri yönetmek ve geliştirmek çok daha kolay hale gelir.

Sonuç

Mevduat bankacılığı, modern ekonominin temel taşlarından biridir ve microservice mimarisi, bu sistemlerin daha verimli ve esnek hale gelmesini sağlar. Bu yazıda, mevduat bankacılığının temel işleyişini ve microservice ile nasıl geliştirilebileceğini keşfettik. Unutmayın, teknolojiyi kullanarak finansal sistemleri daha iyi hale getirmek, sadece bankaların değil, hepimizin hayatını kolaylaştırır!

--

--

Umut Akbulut
BilgeAdam Teknoloji

"Tech leader & Software Architect. Passionate about digital transformation, microservices, and innovation in the finance and tech sectors."