VIDEO LECTURE FROM LONDON NGN CONCEPTS/ computer programming/practical example how to write computer program for cheque monitoring system/ computer networking SAB NETWORKS ON CURRENT TOPICS 14/12/2011 vedio Telecom Network in Summary Local EX 03 Domestic Transport International Transport IEX Access 02 IEX 01 Land line IEX IEX A house has 3 different Communication Types Voice Land Phone Video Data IP/TV Internet Mobile Free TV (Antenna) Cable TV Radio Satellite TV E-mail Who are the service providers in Sri Lanka? Cable TV Free TV (Antenna) IP/TV Satellite TV Mobile Radio Internet E-mail Land Phone Who are the service providers in Sri Lanka? Cable TV Free TV (Antenna) IP/TV Total = 4 Satellite TV Mobile Total = 7 Radio Internet Total = 42 E-mail Land Phone Who are the service providers? Cable TV Free TV (Antenna) IP/TV Satellite TV Mobile Radio Internet E-mail Land Phone Who are the service providers? Cable TV Free TV (Antenna) IP/TV Satellite TV Mobile Radio Internet E-mail Land Phone Communication Types Personal Communication Interactive You need Bi-Directional Transmission Land Phone Delayed Interactive Public Communication Free TVInternetCable TV You need only uni-Directional Transmission Mobile E-mail Satellite TV Radio IP/TV Sub-core Elements MSAN BroadBand Studio / Service provision Core Element Soft Switch / Switches Domestic Transport Network International Transport Network International Gateway A Converge Network A house got 3 different Communication Types Video Voice How it access home? Land Phone Voice Mobile Free TV (Antenna) Wireless Cable TV Wire Data Internet Satellite TV E-mail Wireless Data Wireless Wire or Wireless Wire Video IMPACT OF CONVERGENCE STRUCTURE OF CONVERGED MEDIA & COMMUNICATION NETWORK Overall benefits of NGN network to Sri Lanka Quicker we embark on NGN quicker Sri lanka become the hub of the South Asia SOCIETY • • • • • ECONOMY E-learning E-health E-business E-government E-homes ENVIRONMENT • • • • Creation of innovative business (BPO) Creation of Jobs Savings on Health/Education • Savings on Transport • Reduction in power consumption from NGN Equipment Reduction in unnecessary travelling Passive optical fibre network architecture Apon has a point to multipoint FTTH passive architecture using optical splitters(generally 16 to 1024 terminals(ONT=Optical Network Terminations) End-user 1 PC ONT Dedicated Fibre Local circuit switch Shared Fibre TV Backhaul GPON OLT End-user 2 Optical Splitter Dedicated Fibre PC TV ONT ISP to Internet TV VoD server ‘Exchange’ premises Different contention ratios P2P-Point to point optical network architecture Each end user has its own dedicated fibre from the exchange with a very high speed and high cost End-user 1 PC ONT Local circuit switch Dedicated Fibre Backhaul TV End-user 2 Dedicated Fibre Ethernet Switch ISP to Internet ‘Exchange’ premises TV VoD server Different contention ratios PC TV ONT Different NGA architectures will result in different band width to the end user The average bandwidth we can expect from each type of NGA Archtecture is given below Technology Typical Bandwidth per user (Mbit/s) Existing copper Local Loop (baseline) 2–5 Fibre to the cabinet (FTTC) 30–50 Fibre To The Home (FTTH – PON) 80–100 Fibre To The Home (FTTH – P2P) 100 Triple-play metro evolution Peak theoretical bandwidth for mobile broadband technologies COMPUTER LANGUAGE SAB CURRENT TOPICS BASICS • • • • • • WHY WE NEED A LANGUAGE? LANGUAGE IN A COMPUTER? BASIC MESSAGE- INSTRUCTION + DATA ASSEMBLY LANGUAGE THE DIFFICULLTY OF LOW LEVEL LANGUAGES? HIGH LEVEL LANGUAGES & COMPILER? HOW TO RESOLVE A PROBLEM WITH A COMPUTER? • • • • ALGORITHM TEXTUAL ILLUSTRATION GRAPHICAL ILLUSTRATION SELECTION OF THE CORRECT HIGH LEVEL LANGUAGE • DESIGNING THE INTERFACE/ HOW TO FEED THE INFORMATION TO THE COMPUTER? • HOW TO KEEP THE DATA(DATA BASE FORMATION) Software consist of… Interface Logic Database Interface Insert Cheque Details D – Logic will provide No Bank Code: A - Compulsory Storage No: Account Number: Amount: cheque Type: C Customer Name: B – Optional Description Insert Cheque E Print Cheque Deposit Form SAFE GUARDS • SOURCE CODE • OBJECT CODE • SOFTWARE DOCUMENTATION Cheque Deposit Monitoring System Problem 1. Design cheque revenue income monitoring system for any organization. 2. Points to consider -no of banks -format of the cheque(cheque no, account no) -bank code/bank branch -category of the cheque(cross or open) -cheque is return in favour(organization/cash) -amount of the cheque -cheque is physical damage -date of the cheque Procedure for cheque deposit 1. Verification of no of cheques that has to be deposited for each banks. 2. Filling the cheque depositing form for each bank. 3. Once the cheques are deposited filing the bank slip and inform to the system. Calculation of monthly revenue • • • • • • Monthly statement received. Period of the statement. Major Parameters of the statement. Verification of cheque deposited. Process of handling dishonest cheques. No of cheques not realised due to lack of money in the bank and the manual process that has to be handled. Calculation of each day revenue • No of cheques for that date realised. • Calculation of daily revenue from each bank and grand total of the revenue from all the banks. • Calculation of monthly revenue from all banks. • Overall verification of (total cheque deposited with total chq realised, no of cheques not realised and the amount, cheques not realised due to no fund available in the accounts. • No of cheques that not realised. Calculation of the revenue lost due to dishonest cheques. PROCESS that has to be followed. • Form 2 groups. Each groups giving the same projects. • How to handle the post dated cheques./ How to store the cheques and how to withdraw the cheques for deposited. • Identify the banks by each member. Cheque format and the monthly revenue format. • Method of informing by each bank for the return cheques. • The process that has to be followed for the return cheques. • Method of verification of the monthly statement with deposited cheques. Consideration for cheque networking 1. Cheque depositing has to be decentralized. 2. Calculation of monthly 3. Monthly statement monitoring statement has to be centralized. 4. How do you propose to network. Software language... • What is the suitable software language to develop this process. Give reasons why? Safeguards... 1. How to store source codes/ object codes. 2. How do You propose to have software documentation. Cheque management System Contents Cheque Received Module Distributed Cheque Depositing Module Delayed Revenue Monitoring Module Centralized Cheque Monthly Revenue Monitoring Module Management Reports Module Cheque Received Module • Cheques are received from the station • Then the cheques are recorded in a system by using a scanner • After a cheque is received system will provide storage number • Manually verify whether cheque detail are correct, specially the total amount 1 2 3 4 5 6 7 8 9 Cheque Data Format CSN Cheque No Bank Amount on Cheque Bank No Type of cheque Deposit Cross Cash Name Depositing bank details Customer Details Cheque Depositing Module • Based on the bank a deposit form is filled, outputted automatically • Cheques are deposited to the bank • Cheque deposits are monitored Hard copy Depositing Form Cheque Data(cheque no, bank no, branch no, amount, cheque date, deposit date) For Office use Confirmation on depositing Employee Date Total Monthly Revenue Monitoring Module • At the end of a depositing cycle of a bank, bank statements are received at a central point(headquarters) • Statements are scanned into the system • All deposited cheques are verified and the monthly revenue is calculated Cheque No Date Amount Unrealized cheques brought forward for next month Cheque No Date Amount Delayed revenue Monitoring Module • If the deposited cheques are not returned they are not added to the revenue and will be monitored at the next billing cycle Management reports module • • • • Monthly revenue reports Unrealized cheques report Delayed revenue reports Daily number of cheques report Data • • • • • Location of each station Cheque depositing account details How to store the cheque in each station Depositing bank addresses at each location Policies – How long a dated cheque can be accepted? – The process of handling return cheques – Cheque revenue monitoring on monthly basis. If a cheque is deposited at the end of the month the maximum duration the revenue can be realized is one month – Special monitoring of large value cheques to see if deposited before the end of the month Character Recognition System • Instead of manual data entry a character recognition system could be used to directly scan cheques into the system, to increase efficiency of the system • Also letters with regards to return cheques from banks can also be scanned into the system for recording and automatic unrealization. Summary • • • • • • Cheque Received Module Cheque Depositing Module Cheque Monthly Revenue Monitoring Module Delayed Revenue Monitoring Module Management Reports Module Character Recognition Cheque receipt Management Cheque Deposit Management Revenue Management Networking Revenue Management BREATHING EXCERCISE • • • • • • NUMBER OF BREATHS FOR A MINUTE? STAND BREATH TO FILL YOUR LUNG, THEN DEBREATH COUNT THE NUMBER OF ACTIONS FOR A MINUTE OUR OBSERVATION VARIES FROM ONE PERSON TO ANOTHER PERSON/ HOW THEY HAVE UNDERSTOOD • THEN WE TRY TO DRAW THE FLOW CHART Start Counter = 0 Time < = 60 Sec. True False Display Counter Breathe In & out End Counter = Counter + 1 Start Counter = 0 Time = 0 Breath False Lungs Full True True Counter = Counter + 1 Time < = 60 Sec. False Display Counter End De Breathe Futhure study about cheque monitoring systems • How to form the data base • How to generate the storage number Logic Database • A database is an organized collection of data for one or more purposes, usually in digital form. The data are typically organized to model relevant aspects of reality (for example, the availability of rooms in hotels), in a way that supports processes requiring this information (for example, finding a hotel with vacancies). This definition is very general, and is independent of the technology used. • A database management system (DBMS) is a software package with computer programs that control the creation, maintenance, and use of a database. It allows organizations to conveniently develop databases for various applications by database administrators (DBAs) and other specialists. A database is an integrated collection of data records, files, and other objects. A DBMS allows different user application programs to concurrently access the same database. Design a database • • • • • • • • Determine the purpose of your database - This helps prepare you for the remaining steps. Find and organize the information required - Gather all of the types of information you might want to record in the database, such as product name and order number. Divide the information into tables - Divide your information items into major entities or subjects, such as Products or Orders. Each subject then becomes a table. Turn information items into columns - Decide what information you want to store in each table. Each item becomes a field, and is displayed as a column in the table. For example, an Employees table might include fields such as Last Name and Hire Date. Specify primary keys - Choose each table’s primary key. The primary key is a column that is used to uniquely identify each row. An example might be Product ID or Order ID. Set up the table relationships - Look at each table and decide how the data in one table is related to the data in other tables. Add fields to tables or create new tables to clarify the relationships, as necessary. Refine your design - Analyze your design for errors. Create the tables and add a few records of sample data. See if you can get the results you want from your tables. Make adjustments to the design, as needed. Apply the normalization rules - Apply the data normalization rules to see if your tables are structured correctly. Make adjustments to the tables Database Data example • Database PIN Number(int(8), PRIMARY_KEY, NOT_NULL) • Bank Account(int(10),NOT_NULL) • Cheque No(int(6), NOT_NULL) • Bank No(int(4), NOT_NULL) • Amount(float(7), NOT_NULL) • Cheque Date(datetime, NOT_NULL) • Cheque Deposit Date(datetime, NOT_NULL) • Storage No(int(4), NOT_NULL) • Customer Name(varchar(50)) • Description(varchar(500)) Implementation Process • Create Database • Design Interface • Apply Logic Creating Database • MSSQL 2005 is used for this implementation. Creating database conts… Creating database conts… Creating a table in database Creating a table in database Generating Storage No • To generate Storage number we used another table ,This table is managed to provide proper ID number for Cheque Master table that is created above. Genstorageno table Generate storage number • Storage number is generated using stored procedure. • Template Storage No: Letter(I Digit)+Year(2digits)+Sequence No(4digits) Eg:C110001 How to create a stored procedure • Select DatabaseprogrammerbilityStored procedure Stored procedure for generate storage No • • • CREATE PROCEDURE genStorageNumber @genStorage varchar (10) OUTPUT AS • Begin • Declare @ld_max dec(18,0),@ls_lchar int,@ld_max2 dec(18,0) , @yr int • • • • • set nocount on SELECT @ld_max=dbo.GenStorageNo.ref +1 ,@yr = dbo.GenStorageNo.gYear FROM dbo.GenStorageNo WHERE dbo.GenStorageNo.gYear = DATEPART(year, GETDATE()) ; conts • select @ls_lchar = 4 - len(@ld_max) • select @genStorage = 'C' + SUBSTRING(ltrim(str(@yr)),3,2) + REPLICATE('0', @ls_lchar) + ltrim(str(@ld_max)) • • • • UPDATE dbo.GenStorageNo SET ref = ref +1 WHERE dbo.GenStorageNo.gYear = DATEPART(year, GETDATE()) ; • End Sql Procedure to Insert Cheque details • • • • • • • • • • • • ALTER PROCEDURE [dbo].[SaveChequeDetails] @CheckStorageNo varchar (15), @CheckNo varchar(15), @BankAccountNo varchar(15), @cAmount decimal, @ChequeDate datetime, @ChequeDipositDate datetime, @CustomerName varchar(100), @CustomerNICNo varchar(15), @Description varchar(500), @ID int output AS conts • • • Begin INSERT INTO tblChequeMaster (CheckStorageNo,CheckNo,BankAccountNo,cAmount,ChequeDate, • • ChequeDipositDate,CustomerName,CustomerNICNo,Description) VALUES (@CheckStorageNo,@CheckNo,@BankAccountNo,@cAmount,@ChequeDate, • @ChequeDipositDate,@CustomerName,@CustomerNICNo,@Description); • • SELECT @ID=@@identity End Sqlprocedure to display saved data • ALTER PROCEDURE [dbo].[ShowChequeDetails] • AS • Begin • • • SELECT CheckStorageNo,CheckNo,BankAccountNo,cAmount,ChequeDate, • ChequeDipositDate,CustomerName,CustomerNICNo,Description FROM tblChequeMaster • End Interface for save cheque details Code behind part(logic) • Here the programming language selected is ASP.NET 2005 • When you ready to save data(once you click on save button). The system is generated storage number. • Next saved cheque details to database Generate Storage number • To generate store No you need to call stored procedure that you build above. • First we need to build a connectionstring to communicate interface and database. connectionstring to communicate interface and database • private SqlConnection GetConnection(string connectionString) • { • SqlConnection connection = new SqlConnection(connectionString); • connection.Open(); • • return connection; } Call generate store no sp • • • private string GenStorageNo() { SqlConnection connection = null; • • • • • try { try { connection = GetConnection(ConfigurationManager.ConnectionStrings["Sample_ConnectionString"].ConnectionString); } • • • • • • catch { ClientScript.RegisterStartupScript(GetType(), "Message", "<SCRIPT LANGUAGE='javascript'>alert('The connection with the database can´t be established');</script>"); // return; } • } conts • SqlParameter[] arParms = new SqlParameter[1]; • • arParms[0] = new SqlParameter("@genStorage", SqlDbType.VarChar, 15); arParms[0].Direction = ParameterDirection.Output; • SqlHelper.ExecuteNonQuery(connection, CommandType.StoredProcedure, "genStorageNumber", arParms); • return arParms[0].Value.ToString(); • } • • • • • • • • • • catch (Exception ex) { return ""; } finally { if (connection != null) connection.Dispose(); } Save cheque details to database • You need to call stored procedure that you build above. Calling save sp • • • • • • • • • • • • • • • private void SaveChequeData(string CheckStorageNo, string CheckNo, string BankAccountNo, decimal cAmount, DateTime ChequeDate, DateTime ChequeDipositDate, string CustomerName, string CustomerNICNo, string Description) { // SqlConnection that will be used to execute the sql commands SqlConnection connection = null; try { try { connection = GetConnection(ConfigurationManager.ConnectionStrings["Sample_ConnectionString"].ConnectionString); } catch { ClientScript.RegisterStartupScript(GetType(), "Message", "<SCRIPT LANGUAGE='javascript'>alert('The connection with the database can´t be established');</script>"); return; } • SqlParameter[] arParms = new SqlParameter[11]; • • • • //// @ProductID Input Parameter //// assign value = 1 arParms[0] = new SqlParameter("@ID", SqlDbType.Int); arParms[0].Direction = ParameterDirection.Output; • • • // @ProductName Output Parameter arParms[1] = new SqlParameter("@CheckStorageNo", SqlDbType.VarChar, 20); arParms[1].Value = CheckStorageNo; • • • // @UnitPrice Output Parameter arParms[2] = new SqlParameter("@BankAccountNo", SqlDbType.VarChar, 20); arParms[2].Value = BankAccountNo; • • • // @QtyPerUnit Output Parameter arParms[3] = new SqlParameter("@cAmount", SqlDbType.Decimal); arParms[3].Value = cAmount; conts • • arParms[4] = new SqlParameter("@ChequeDate", SqlDbType.DateTime); arParms[4].Value = ChequeDate; • • arParms[5] = new SqlParameter("@ChequeDipositDate", SqlDbType.DateTime); arParms[5].Value = ChequeDipositDate; • • arParms[6] = new SqlParameter("@CustomerName", SqlDbType.VarChar, 15); arParms[6].Value = CustomerName; • • arParms[7] = new SqlParameter("@CustomerNICNo", SqlDbType.VarChar, 15); arParms[7].Value = CustomerNICNo; • • arParms[8] = new SqlParameter("@Description", SqlDbType.VarChar, 500); arParms[8].Value = Description; • • arParms[9] = new SqlParameter("@CheckNo", SqlDbType.VarChar, 15); arParms[9].Value = CheckNo; conts • • • • • • • • • • • • • • • • • • SqlHelper.ExecuteNonQuery(connection, CommandType.StoredProcedure, "SaveChequeDetails", arParms); if (arParms[0].Value.ToString() != null) { lblhelp.Text = "Great Success!, Record Saved."; string errMessage = " Record Saved Succsfully "; ClientScript.RegisterStartupScript(GetType(), "Message", "<SCRIPT LANGUAGE='javascript'>alert('" + errMessage + "');</script>"); } else { lblhelp.Text = "Please check, there is a mistake"; string errMessage = ""; errMessage = " Record Save Faile "; ClientScript.RegisterStartupScript(GetType(), "Message", "<SCRIPT LANGUAGE='javascript'>alert('" + errMessage + "');</script>"); } } conts • • • • • • • • • • catch (Exception ex) { lblhelp.Text = ex.Message + " " + "Please See Your IT Helper."; string errMessage = ""; for (Exception tempException = ex; tempException != null; tempException = tempException.InnerException) { errMessage = "Some Fields Empty. Unable to Save Data!"; ClientScript.RegisterStartupScript(GetType(), "Message", "<SCRIPT LANGUAGE='javascript'>alert('" + errMessage + "');</script>"); } • • • • • • • • } finally { if (connection != null) connection.Dispose(); } } Now what to do? • Proceed with all other modules! Computer networking • • • • • • • Dynamic IP address Static IP addresses Lease lines Virtual private network Internet data centres Computer farms Computer clouding!