Content area
The purpose of this paper is to develop a learning application for the management of banking processes and related databases, which can be used to model the business processes specific to the educational field in finance and banking (e-banking). The application has a general character and can be used to implement any kind of business process in the online learning environment. As a motivation, the present work was born out of the need to improve the classical way of learning, by calling on the modeling and execution of e-banking specific processes through BPM. Thus, a structure that uses generic data types defining process-specific entities is a solution to improve how e-business processes are developed in order to make learning easier. In this respect, all processes modeled in an e-banking business learning platform have common structural components, while being differently parameterized according to each process. The technical analysis period is thus reduced, providing a permanent overview of existing processes. The structure designed accordingly is tested through a web application that connects to a database. The developed application is therefore a generic business process management learning tool, exemplified for e-banking processes, assumed by a case study: providing a bank credit to a client. The aim of the paper is to develop the most efficient software product for ebanking, thus generating a generic platform for assimilation of any type of process flow. The system architecture modularizes the entire project in four levels to ensure a clearest logical separation. In addition, three software development templates have been used to make the work of the developer easier and to make the learning product as efficient as possible. The business necessity of the present work is customized in the goal of fluidization and dynamism applied in solving any defined process. Thus, in the case study approached, the client applying for a credit goes through the necessary steps in a shorter time, and the cost of analyzing his/her file by the bank is smaller because it automates many portions of the whole process, the involvement of the human factor being importantly reduced. Hence, compared to the conventional version, the corresponding learning process is much simplified and easier to assimilate. The resulting learning application for banking-specific e-business processes is able to manage any type of processes and modify these processes through the developed BPMN interface. The original contributions of the paper are: theoretical and practical design of the e-business learning platform database, developing the web application in ASP.NET along with the related front-end technologies (HTML5, CSS3, and JavaScript, modeling and implementing as a case study the process of learning the flows of a banking process that highlights the concepts defined by the BPM methodology.
Abstract: The purpose of this paper is to develop a learning application for the management of banking processes and related databases, which can be used to model the business processes specific to the educational field in finance and banking (e-banking). The application has a general character and can be used to implement any kind of business process in the online learning environment. As a motivation, the present work was born out of the need to improve the classical way of learning, by calling on the modeling and execution of e-banking specific processes through BPM. Thus, a structure that uses generic data types defining process-specific entities is a solution to improve how e-business processes are developed in order to make learning easier. In this respect, all processes modeled in an e-banking business learning platform have common structural components, while being differently parameterized according to each process. The technical analysis period is thus reduced, providing a permanent overview of existing processes. The structure designed accordingly is tested through a web application that connects to a database. The developed application is therefore a generic business process management learning tool, exemplified for e-banking processes, assumed by a case study: providing a bank credit to a client. The aim of the paper is to develop the most efficient software product for ebanking, thus generating a generic platform for assimilation of any type of process flow. The system architecture modularizes the entire project in four levels to ensure a clearest logical separation. In addition, three software development templates have been used to make the work of the developer easier and to make the learning product as efficient as possible. The business necessity of the present work is customized in the goal of fluidization and dynamism applied in solving any defined process. Thus, in the case study approached, the client applying for a credit goes through the necessary steps in a shorter time, and the cost of analyzing his/her file by the bank is smaller because it automates many portions of the whole process, the involvement of the human factor being importantly reduced. Hence, compared to the conventional version, the corresponding learning process is much simplified and easier to assimilate. The resulting learning application for banking-specific e-business processes is able to manage any type of processes and modify these processes through the developed BPMN interface. The original contributions of the paper are: theoretical and practical design of the e-business learning platform database, developing the web application in ASP.NET along with the related front-end technologies (HTML5, CSS3, and JavaScript, modeling and implementing as a case study the process of learning the flows of a banking process that highlights the concepts defined by the BPM methodology.
Keywords: E-learning business case; On-line banking for E-business; Business Process Management; Modeling and optimization; Web application for educational tools; Virtual learning.
INTRODUCTION
Business Process Management (BPM) is a discipline involving any combination of modeling, automation, execution, control, measurement and optimization of business flow [13]. This comes as a help in achieving the goals of an organization, including systems, employees, customers and partners inside and outside the organization. BPM should take into account all activities that together meet a business objective, involving the metrics of the entire system when evaluating a specific process [26]. A business process [4], [5] is a collection of connected activities that have the purpose of delivering a service or product to a customer. A business process can also be defined as a set of activities that once accomplished will lead to an organizational goal [3]. A process must include welldefined input data and a single set of output data. Entry data is represented by factors that contribute directly or indirectly to the added value of a service or product. These factors can be classified as management processes, operational processes and support processes. Management processes govern the operation of the organization's systems. Operational processes are the main part of the business. Support processes support business processes [22].
A process requires a series of actions to achieve a particular goal. BPM processes are continuous, but they also allow ad hoc actions. Processes can be simple or complex depending on the number of steps, the number of systems involved, etc. [27]. The trials may be short or long. Longer processes tend to have more dependencies and a greater need for documentation.
Business Process Modeling Notation (BPMN) [13], [32] is a charting standard to draw business processes, providing an easy-to-understand format for users. The BPMN objective is to be useful in Business Process Management (BPM) for both technical and business users, providing an intuitive notation but capable of representing complex processes. A BPM platform is made up of a set of development tools that include a portal and a user dashboard along with a common process running system. These technologies provide concept, simulation, rule definition, process execution, integration, monitoring, and optimization functions.
I. DATABASE ARCHITECTURE
The purpose of this paper is to develop a learning application for the management of banking processes and related databases, which can be used to model the business processes specific to the educational field in finance and banking (e-banking). The application has a general character and can be used to implement any kind of business process in the online learning environment. The model chosen for the database is the relational organizational model [28], [29], using SQL (Structured Query Language) [18], in which tables are defined for processes, flows, states, actions, and parameters. Also, two processes are defined within the application, each with a very simple flow, which highlights the concepts of business-case e-learning applied in banking management using BPM tools.
A structure that uses generic data types defining process-specific entities is a solution to improve how e-business processes are developed in order to make learning easier. In this respect, all processes modeled in an e-banking business learning platform have common structural components, while being differently parameterized according to each process. The technical analysis period is thus reduced, providing a permanent overview of existing processes. The structure designed accordingly is tested through a web application that connects to a database [2], [7], [12], and [23]. The developed application is therefore a generic BPM learning tool, exemplified for e-banking processes, assumed by a case study: providing a bank credit to a client [1].
In the database are defined 5 main tables [10]: Clients, Credit, Flows, Status and Transitions. The Clients table contains general customer data. Each client will be assigned a unique ID. Parameters that are not important are defined as nullable. Any parameter that is not of this type will need to be completed before the request goes into the next status. The values of these parameters, along with the values of the Credit table parameters, will determine the dynamics of the credit application on the bank flows. For example, ID can be a client's age and if this age is too high (relative to a defined X threshold) the credit granting process can be canceled [16].
The process of granting a bank credit is more stringent than the registration of a new client because it poses higher risks. As a result, additional checks are required, which involve completion of a further set of relevant parameters in the Credit table. A client can apply for multiple credits, so in terms of foreign keys [17], there is a 1-to-N link. There is a 1-to-1 link between a credit application and a flow, that is, a credit application falls in only one flow, according to customer and credit value parameters. The structure the Flows table in the database is represented by Name and ID only. Each flow consists of a set of statuses and a series of transitions, which are links in the Status table. The Transitions table has three properties: home status, destination status, and flow ID to which it belongs.
II. APPLICATION ARCHITECTURE
As a motivation, the present work was bom out of the need to improve the classical way of learning, by calling on the modeling and execution of e-banking specific processes through BPM. If the complexity of a targeted process increases greatly, it is hard to follow and understand in a learning activity. Thus, the process becomes difficult to modify and adapt to the needs of the beneficiary and when the number of processes involved becomes large any change or development of new functionality can take a long time.
The aim of the paper is to develop the most efficient software product for e-banking, thus generating a generic platform for assimilation of any type of process flow. The system architecture modularizes the entire project (developed in Visual Studio 2012) in four levels, developed using multiple IT technologies and tools, in order to ensure a clearest logical separation:
* Data Access Level (configured by Entity Framework with integrated Repository Pattern);
* Data Transfer Level (containing the code for each entity in the database DB);
* Services Level (containing the DB query code and maintaining entire data consistency);
* User Interface Level (containing HTML code combined with Razor syntax and deploying controllers via JavaScript functions included in the forms and dictating all system logic).
In addition, three software development templates have been used to make the work of the developer easier and to make the learning product as efficient as possible. The calls to the database - the weakest link in any application in terms of performance - have been minimized to the highest degree. The BPM-based approach together with the related concepts - the graphic process representation (BPD: Business Process Diagrams), the specific modeling standard (BPMN: Business Process Management Notation) and the BPM rule engine - facilitate a transparent and simple management of all e-business specific processes and, at the same time, their easier learning. The visual process representation method (BPMN) is integrated into the web application through the jQuery technology and the BPM rule engine and the rules itself are included in web application controllers.
Therefore, the application architecture is modularized on 4 levels, for a clearest and logical separation, levels that will be detailed below.
2.1 Data Access Level
This level connects to the data source, in this case SQL Server 2012 [11]. As MVC [25] has the built-in Entity Framework, mapping tables from the database to objects used by C # was very easy to implement. Microsoft Entity Framework is an object/relational mapping framework that allows developers to work with relational data in the form of domain-specific objects, eliminating the need to write code. Using Entity Framework, queries can be run using LINQ (Language Integrated Query), which then accesses and manipulates data as strongly-typed objects [14].
Therefore, the Client table, for example, has specific class equivalence. This relationship is biunivocal, that is, mapping from the relational object to the C# object is made to the database query, and when this information, after manipulation, is persistent in the database, the conversion is done in reverse. This is also the level of Repository actions [30]. Their role is to automatically generate complex SQL queries using C# syntax combined with LINQ [18]. Because the Unit of Work [31] pattern is used, all repositories are contained in single place (centralized), which is an easy way to work by modules.
2.2 Data Transfer Level
This level is a buffer between business logic and data access layer. Objects in this level are called DAO (Data Access Objects) [1]. The role of these objects is to map the entities generated in the lower levels into more complex objects required for the next levels.
Example. There are three related tables in the database: Flows, Transitions, and Status. As the top layers require the three combined objects in a single complex object, it is necessary to create a DTO (Data Transfer Object) object.
Also here are included the ENUM classes that contain sources of answers [15]. Using this type of class, there is no longer need to create tables in the database that unnecessarily complicate the application architecture (which results in the small number of tables created in the database).
2.3Services Level
This level implements the Unit of Work pattem. Using this pattem, one can access all the firstlevel repositories [30], [31]. These repositories are actually methods that return data or persist data in the database. It can be noticed that as the levels are advanced, the complexity of objects and methods increases, so it is very important to map and generate objects and methods at the first two levels.
It is noteworthy that each service has an interface implemented. If a method is defined in the service but is not provided to the outside in the user interface, the method will not be accessible. This functionality allows separating the different methods from the same service into multiple interfaces.
2.4User Interface Level
The front-end technologies used are HTML5 [20], [24], CSS3 [8], [9], and JavaScript [21]. This level is the most complex and has the most important role in the application architecture because here are the Controllers, entities that represent the brain of the entire application. In addition, views are also stored here, that is, HTML pages exposed to the user.
Controllers define most business rules. Within these, it decides which model is populated with which values and what the user is viewing. This is a POST type method, indicating that persistence of data is pursued by calling it. The model sent here, which is a View Model for logical parameters and conditions, is mapped to the DTO object, then runs the update or insert, depending on the entity ID. If the entity already exists in the database, then it will receive an ID, and if not, it means that it is a new entity. The result of the function is another form, called View, to which a model must be associated.
Web programming [15] has always encountered problems when it comes to mapping DOM elements, manually populated from the keyboard, with the elements on the server, always looking for the best solution. Thus, MVC offers the Razor syntax for use [25]. This syntax helps the programmer to write cleaner and faster code and allows the dynamic creation of HTML pages before they are sent to the browser, which is very important.
Not all forms require a model [16], [19], but only complex ones, where there is much needed data to enter. The type of programming in which any property in the form is mapped to an object on the server is called strongly-typed [21]. In short, any field on the page will have in its equivalence a clearly defined property in the object as a type and name.
Also in this level are all the JQuery scripts. The JavaScript Flow function is executed when clicking on a transition from the list of all flow transitions. At that time, an AJAX-type function runs to the IIS server. The path is relative and refers only to the name of the controller, Flows, and the associated function is called GetParameters. DataType is the type of response expected, in this case being HTML because it is desired to populate the list of business rules that are applied to the transition. Each AJAX feature has a handler called Success, which is a part of the code executed if the server returns code 200, the equivalent status code of success.
The part of JQuery/JavaScript [21] is very simple. There are a few so-called events that are automatically run by libraries at certain times. These pieces of code bind certain DOM elements when the page is rendered (read). If those elements are not found when the page is read and transformed into elements, this link does not occur. If a JQuery feature appears when clicking on any page button, it displays a message. Once the page is loaded, a button is dynamically constructed and if clicked on it nothing happens because it does not exist in the DOM element list when JQuery is parsed.
This is exactly the case in described above, which is why a function called Nest is needed. On the successful response of the first AJAX function, another function is manually linked to be called when the Save button is clicked.
The need for this action can be explained as follows: when clicking on a transition, the page changes its DOM content, but it does not reload. When clicking on the HTML response received from the server, the intention is to call another JQuery event, which saves all the newly introduced business rules. Using dynamic content by reloading only a few portions of the page, the user experience is much more fluid and the performance is improved as the network will not be unnecessarily loaded with data traffic.
This way resulting learning web application for banking-specific e-business processes is able to manage any type of processes and to modify these processes through the developed BPMN (Business Process Modeling Notation) interface.
III. E-LEARNING WEB APPLICATION FOR E-BANKING
The business necessity of the present work is customized in the goal of fluidization and dynamism applied in solving any defined process. Thus, in the case study approached, the client applying for a credit goes through the necessary steps in a shorter time, and the cost of analyzing his/her file by the bank is smaller because it automates many portions of the whole process, the involvement of the human factor being importantly reduced. Hence, compared to the conventional version, the corresponding learning process is much simplified and easier to assimilate.
Even though a process has already been automated, it often needs to be calibrated and adapted to better manage the actual situations that occur. The developed learning tool can automate large sections of the e-business process using a decision-making module able to determine the next state, based on the user input parameters and the current status of the e-banking process. This module, integrated using MVC, is customized by setting limits and adding new constraints [6]. After the credit application is completed, its initial status is defined by the flow it belongs to. After the application runs through the entire flow and reaches a terminal status, no actions can be executed on it. However, the client is able to apply to another credit that will go through exactly the same flow pattern.
A business rule is a rule that defines or constrains a process aspect and always results in Boolean values: true or false. These rules are intended to define the business structure or to control the business behavior. Business rules can apply to people, processes, and IT systems in an organization.
A business rule engine is a software system that executes one or more rules during the BPM runtime. This engine is an important component, which provides the ability to record, define, classify and manage rules and inter-rules. For example, Premium customers have no commission (free of charge) if they purchase electronic banking products worth more than 200 points, while Silver customers benefit from the same facility if the value exceeds 300 points.
The business necessity of the present project is to "hurry" any process defined in the e-banking environment. Thus, the client applying for credit will be more satisfied because the time elapsed since the application to the credit and the actual disbursement of the money is much shorter. In the same time, the price required for bank file analysis is lower because of the automation of many portions of process, human involvement being minimized. So, the customer will get credit faster, at a reduced price, compared to the classic process. Even if a process has been automated, it often needs to be calibrated and adapted to better manage the actual reality situation which it is modeled by BPM tools. It is assumed that a bank has the credit allocation process defined by a BPM chart in which there are two types of entities: shares and statuses.
The credit application, when it is initiated, has the default status Incomplete Credit Application. This initial status differs from flow to flow, depending on the status defined in that process. After that, the Credit Application Completion action becomes available to users who have this particular right. When the action is completed and all parameters are completed, the credit request changes to the following status: Credit Request Completed. At this time, the Credit Approval or Credit Refusal actions are available to another type of user, who has this particular type of permission, and who are called mandates. The decision of this mandate, along with the business rules defined in the rule engine, determines the next status of the credit application, EOP (End of Process).
The BPM chart of the bank credit granting process for a client is exemplified below (figure 1), where oval-shaped blocks represent statuses, and rectangular blocks represent actions.
Using graphic representations through charts, it is very easy to highlight any bottlenecks that may occur along the way. If, for example, the entire process takes 5 days, and of which credit approval or refusal takes 4 days, it means that the approval sub-process needs to be improved. In fact, there are hundreds of possible statuses and actions, the complexity resulting from continuous adaptation, following the analysis of the whole process, analyzed by an entire BPM analyst department.
The platform developed and described in this paper can automate large sections of processes. To do this, a decision-making module is used, capable of determining the next state, based on user input parameters. As mentioned before, this module, integrated with the MVC application, is customizable by setting boundaries and adding new constraints [6]. In order to be able to apply to a credit, the client must first log into the platform, requiring only one page of the web application. The ID fields (CNP and serial number) have ReGex (Regular expression) validation. All fields are required because they will be able to define rules in the BPM engine. Once the client request has been approved, the client may apply for a credit. A list of approved customers can be seen below (figure 2).
Here are general customer data to be identified as easily: Name, Surname, ID, and E-mail. These data may differ from physical or legal customers because entities are characterized differently. For example, for physical persons ID means CNP (Personal Numeric Code), and for legal entities means CIF or CUI (Unique Identification Number).
The credit application parameters are filled in using a different page. Additional parameters are required because the credit granting process presents an increased risk for the bank compared to the client application. It is necessary to check the history of the person applying, even the origin of the person, because many banks do not grant credits to people in countries at increased risk. Automated queries are also made at the Credits Office, an entity that retains data related to other client credits.
After the credit application is completed, its initial status is the one defined by the flow to which the application belongs. Depending on the parameter values, when created, it automatically belongs to a particular flow type. The credit application goes through these flows according to the bank chart, depending on the decisions of the users applying (by approving/rejecting) and the conditions that are added to the progress from one status to another (progressing from status 1 to status 2 if the bank user approves and the client has the turnover above a certain threshold for legal entities, for instance). A flow example created by the BPM configurator is shown below (figure 3).
All transitions in the Flow are displayed on the Edit Conditions button and these conditions can be added to each entity. The parameters that can be added are those in the client/credit application capture module. In the example below (figure 4), the intention is to apply four rules that need to be met to get from the Incomplete Credit Application status to the Initial Data Ready status.
After saving the data, one can see all the transitions that need to be changed in turn. Every change in logic must be reflected in all affected transitions (there must always be an available transition, so these rules need to be complementary). In this case, the second transition highlighted in the screenshot below (figure 5) must be modified too. If a status can reach other 6 statuses, changing the logic behind a transition generates other 5 changes over the other affected transitions.
After the application runs through the entire flow and reaches an EOP (End of Process) status, no other actions can be performed on it. However, the client will be able to apply for another credit, which will go through exactly the same flow. The screenshot below (figure 6) shows the status of the customer after disbursing the credited amount.
IV. CONCLUSIONS
The resulting learning application for banking-specific e-business processes is able to manage any type of processes and modify these processes through the developed BPMN interface. The original contributions of the paper are as follows:
* Theoretical and practical design of the e-business learning platform database;
* Developing the web application in ASP.NET along with the related front-end technologies: HTML5, CSS3 and JavaScript;
* Modeling and implementing as a case study the process of learning the flows of a banking process that highlights the concepts defined by the BPM methodology;
* Introducing a template able to be extended to other learning activities on web platforms.
The designed and developed application fulfills its intended purpose: supporting online learning to manage any type of business process with the ability to dynamically modify and adapt these processes through the built-in BPMN interface. The database is well structured, providing measures to support the growth of the platform's complexity, as well as measures to ensure its versatility in using for educational purposes in any e-business processes other than banking.
The e-banking learning platform presented is at the stage where both the database part and the web application is a good starting point for further improvements and can be easily developed for use in any field of study and by any user, being a stable and complex system capable of adapting to any need that may arise.
Reference Text and Citations
[1] Access Databases: http://clasa10tic.wikispaces.com/file/view/baze+de+date+access.doc, accessed 2019.
[2] Bȃscă, Octavian, 1997. Databases (in Romanian), All Press, Bucharest, pp. 77-128.
[3] BPM Resource Center: http://what-is-bpm.com/index.html, accessed 2019.
[4] Business Process: http://www.pnmsoft.com/resources/bpm-tutorial/business-process/, accessed 2019.
[5] Business Process Definition: https://www.appian.com/bpm/definition-of-a-business-process/, accessed 2019.
[6] Constraints in Relational Databases: https://beginnersbook.com/2015/04/constraints-in-dbms/, accessed 2019.
[7] Cristescu, Marian, 2017. Advanced Databases (in Romanian), Economica Press, Bucharest, pp. 47-112.
[8] CSS3: http://www.css3.info/, accessed 2019.
[9] CSS3 Advanced: https://www.w3schools.com/css/, accessed 2019.
[10] Date, C. J., 2003. An Introduction to Database System, 8th ed., Pearson, pp. 633-812.
[11] Date, C. J., 2012. SQL and Relational Theory, 2nd ed., O'Reilly, pp. 245-298.
[12] Deaconescu, Andreea, 2006. Databases (in Romanian), University "Transilvania" of Braşov, pp. 37-88.
[13] Dumas, Marlon; La Rosa, Marcello; Mendling, Jan; Reijers, Hajo A., 2018. Fundamentals of Business Process Management, 2nd ed., Springer, pp. 35-339.
[14] Entity Framework; http://www.entityframeworktutorial.net/what-is-entityframework.aspx, accessed 2019.
[15] Filip, Ioan, 2003. Database programming technologies for Internet applications (in Romanian), Orizonturi Universitare Press, Timişoara, pp. 11-86.
[16] First Normal Form (1NF): http://www.databasedev.co.uk/1norm_form.html, accessed 2019.
[17] Foreign Key: https://www.techopedia.com/definition/7272/foreign-key, accessed 2019.
[18] Fotache, Marin, 2009. SQL, Dialecte DB2, Oracle, PostgreSQL & SQL Server (in Romanian), 2nd ed., Polirom, Bucharest, pp. 37-116.
[19] Hierarchical Model: http://www.scritub.com/stiinta/informatica/modelulierarhic43347.php, accessed 2019./
[20] HTML5: http://www.e-learn.ro/tutorial/html/introducere-in-html5/172/1/546.htm, accessed 2019.
[21] Jamsa, Kris; Cope, Ken, 1998. Programming Internet Applications (in Romanian), All Educational Press, Bucharest, pp. 69-182.
[22] Jeston, John, 2018. Business Process Management - Practical guidelines to successful implementations, 4th ed., Routledge Press, pp. 331-552.
[23] Lupu, Valeriu, 2017. Databases course (in Romanian), University "Ștefan cel Mare" of Suceava, pp. 25-74.
[24] McLaughlin, Brett, 2011. What Is HTML5?, O'Reilly Media, pp. 1-10.
[25] MVC: https://www.tutorialspoint.com/mvc_framework/index.htm, accessed 2019.
[26] Process Definition: https://techterms.com/definition/process, accessed 2019.
[27] Process Lifecycle: https://www.razorleafgov.com/plm-services/process-lifecycle-management/, accessed 2019.
[28] Relational Database Theory: http://www.seap.usv.ro/~valeriul/lupu/cafec/capitolul1.pdf, accessed 2019.
[29] Relational Model: http://www.scritub.com/stiinta/informatica/modelul-relationaL44892.php, accessed 2019.
[30] Repository Pattern: https://msdn.microsoft.com/en-us/library/ff649690.aspx, accessed 2019.
[31] Unit of Work: https://www.codeproject.com/Articles/581487/Unit-of-Work-Design-Pattern, accessed 2019.
[32] Weske, Mathias, 2012. Business Process Management - Concepts, Languages, Architectures, 2nd ed., Springer, pp. 293-388.
Copyright "Carol I" National Defence University 2019