NAB - Core Banking Solution

NAB has been designed and implemented in DPI in order to achieve centralization of bank accounts, customer orientation, facilitation of banking services so that customers can perform banking operations from any branch that is equipped with this system, and also centralized management for all types of accounts.

Services of interest free saving accounts, short term deposit, clearing, Iran check, Telephone banking, and payment of bills are now presented, not to mention services of Interest free current accounts.


In this system, at the end of each day accounting operations are done automatically (without operator intervention) for each branch in the level of total and ledger and after that various reports and statistics are provided for managers and users.

Since all branch operations have been taken into account in design of this system, the context of a central banking system has been established and majority of new requirements can be added to it easily.

Modern services such as Internet banking, ATM, POS, and Telephone banking are now provided through channel management system (product of DPI) and other features and modern servicing channels  can be added easily and quickly using this system.


Active Services

·         Interest free current account

·         Interest free saving account

·         short term deposit

·         Telephone banking

·         Payment of bills

·         Accounting operations

·         Clearing (SAMA plan: electronic exchange of copy of checks, inter-branch, inter-bank)

·         Iran check

·         Exploiting backup account



·         Centralized

·         Providing all banking services

·         Customer orientation and account centrality

·         Fast communication between customer and bank

·         Observing banking laws of Islamic Republic of Iran

·         Capability of changing and setting based on procedures of a special bank


Execution Basis

·         Using relational data base (DB2)

·         Using three layer Client/Server architecture (TTA)

·         Graphical User Interface (MS Windows GUI)

·         Using TCP/IP communication protocol

·         Full independence of communication platform

·         Z/OS operating system

·         VB, Cobol, Assembly programming languages



Three- Layer Architecture

Design of this system is based on three layers and these layers are as follows:

·         Presentation Layer (PL)

·         Data Access Layer (DAL)

·         Data Layer


First Layer (PL)

 This layer is in fact system User Interface that is built with Visual Basic. It is standard exe with the responsibility for communication with user.

An interface is indeed needed to receive information from the user or to display the required information to him.

This layer calls functions of intermediate layer in order to send the request to the layer underneath for execution.

Second Layer (Data Access Layer)

It manages communication with the first layer and at the same time it is an interface with the third layer (Data Layer).

Third Layer (Data Layer – DAL)

The functions of this layer are used to communicate with the first layer.  After receiving valid values, this layer creates a communication socket according to the called function. Communication socket gets suitable command including Insert and Update and control program execution from the upper layer and sends it to RDBMS through Socket for execution.

This layer is in fact the lowest layer and is responsible for operation execution. Data base and stored procedure are located in this layer and communication with this stored procedure is established through Socket.

It is worth noting that the third layer is the most important layer and all system operations are somehow related to this layer. This layer includes all server activities and it is very important in terms of security. Physical data exists in this layer and its management is done by DB2.

Management of all transactions is done by CICS. All system requests that are submitted to server using socket are controlled and managed by a Listener program that is always running on the server side.