46393833 e banking


Published on

Published in: Economy & Finance, Business
  • Be the first to comment

  • Be the first to like this

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

46393833 e banking

  1. 1. A project Report on e-Banking 2010E-BANKING 1
  2. 2. A project Report on e-Banking 2010 INDEX1. Introduction2. System Analysis a. Existing System b. proposed System3. Feasibility Report a. Technical Feasibility b. Operational Feasibility c. Economical Feasibility4. System Requirement Specification Document a. Overview b. Modules Description c. Process Flow d. SDLC Methodology e. Software Requirements f. Hardware Requirements5. System Design a. DFD b. E-R diagram c. UML d. Data Dictionary6. Technology Description7. Coding8. Testing & Debugging Techniques9. Output Screens10. Reports11. Future Enhancements12. Conclusion13. Bibliography 2
  3. 3. A project Report on e-Banking 2010 INTRODUCTION-1The adoption of Electronic Banking by commercial enterprise has been inexistence since the mid 90s, much greater in number due to lower operatingcosts associated with it. Electronic banking has been in the form ofautomatic teller machines and telephone transactions. More recently, it hasbeen transformed by the Internet, a new delivery channel for bankingservices that benefits both customers and banks. Access is fast, convenient,and available around the clock. Furthermore, customer’s application forelectronic banking facilities is expanding as the cost savings on transactionsover the internet are significant. The chances and threats that the internetsymbolizes is no longer news to the present day banking sector. Notraditional bank would dare face investment analysts without an Internetstrategy. Moreover, business success is not guaranteed by a detailed andthoughtful approach to the internet. The main intention behind thecommencement of electronic banking services is to provide the customerswith an alternative that is more responsive and with less expensive options.With options just a click away, customers have more control than ever. Theirexpectations are usability and real-time answers. They also want personalattention and highly customized products and services. This research intendsto see how electronic banking has improved the efficiency and effectivenessin the bank, take a look at the security measures on ground and also prefer asolution that can eradicate fraud in electronic banking. 3
  4. 4. A project Report on e-Banking 2010SYSTEM ANALYSIS :System analysis is a process of gathering and interpreting facts, diagnosingproblems and the information to recommend improvements on the system. Itis a problem solvingactivity that requires intensive communication between the system usersand system developers. System analysis or study is an important phase ofany system development process. The system is studied to the minutestdetail and analyzed. The system analyst plays the role of the interrogatorand dwells deep into the working of the present system. The system isviewed as a whole and the input to the system are identified. The outputsfrom the organizations are traced to the various processes. System analysisis concerned with becoming aware of the problem, identifying the relevantand decisional variables, analyzing and synthesizing the various factors anddetermining an optimal or at least a satisfactory solution or program ofaction.A detailed study of the process must be made by various techniques likeinterviews, questionnaires etc. The data collected by these sources must bescrutinized to arrive to aconclusion. The conclusion is an understanding of how the system functions.This system is called the existing system. Now the existing system issubjected to close study and problem areas are identified. The designer nowfunctions as a problem solver and tries to sort out the difficulties that theenterprise faces. The solutions are given as proposals. The proposal is thenweighed with the existing system analytically and the best one is selected.The proposal is presented to the user for an endorsement by the user. Theproposal is reviewed on user request and suitable changes are made. This isloop that ends as soon as the user is satisfied with proposal.Preliminary study is the process of gathering and interpreting facts, using theinformation for further studies on the system. Preliminary study is problemsolving activity that requires intensive communication between the systemusers and system developers. It does various feasibility studies. In thesestudies a rough figure of the system activities can be obtained, from whichthe decision about the strategies to be followed for effective system studyand analysis can be taken.EXISTING SYSTEM 4
  5. 5. A project Report on e-Banking 2010In the existing system the transactions are done only manually but inproposed system we have to computerize all the banking transaction usingthe software Banking system.PROBLEMS WITH EXISTING SYSTEM • Lack of security of data. • More man power. • Time consuming. • Consumes large volume of pare work. • Needs manual calculations. • No direct role for the higher officials. • Damage of machines due to lack of attention.To avoid all these limitations and make the working more accurately thesystem needs to be computerized.PROPOSED SYSTEMThe aim of proposed system is to develop a system of improved facilities.The proposed system can overcome all the limitations of the existing system.The system provides proper security and reduces the manual work.ADVANTAGES OF THE PROPOSED SYSTEMThe system is very simple in design and to implement. The system requiresvery low system resources and the system will work in almost allconfigurations. It has got following features • Security of data. • Ensure data accuracy’s. • Proper control of the higher officials. • Reduce the damages of the machines. • Minimize manual data entry. • Minimum time needed for the various processing. • Greater efficiency. • Better service. • User friendliness and interactive. • Minimum time required. #$%^&*()#$%^&*(FEASIBILITY REPORTTECHNICAL FEASIBILITY: 5
  6. 6. A project Report on e-Banking 2010Evaluating the technical feasibility is the trickiest part of a feasibility study.This is because, at this point in time, not too many detailed design of thesystem, making it difficult to access issues like performance, costs on (onaccount of the kind of technology to be deployed) etc. A number of issueshave to be considered while doing a technicalanalysis.i) Understand the different technologies involved in the proposed system: Before commencing the project, we have to be very clear about what are the technologies that are to be required for the development of the new system.ii) Find out whether the organization currently possesses the required technologies: o Is the required technology available with the organization? o If so is the capacity sufficient? For instance – “Will the current printer be able to handle the new reports and forms required for the new system?”OPERATIONAL FEASIBILITY:Proposed projects are beneficial only if they can be turned into informationsystems that will meet the organizations operating requirements. Simplystated, this test of feasibility asks if the system will work when it isdeveloped and installed. Are there major barriers to Implementation? Hereare questions that will help test the operational feasibility of a project:  Is there sufficient support for the project from management from users? If the current system is well liked and used to the extent that persons will not be able to see reasons for change, there may be resistance. 6
  7. 7. A project Report on e-Banking 2010  Are the current business methods acceptable to the user? If they are not, Users may welcome a change that will bring about a more operational and useful systems.  Have the user been involved in the planning and development of the project?  Early involvement reduces the chances of resistance to the system and in  General and increases the likelihood of successful project.Since the proposed system was to help reduce the hardships encountered.In the existing manual system, the new system was considered to beoperational feasible.ECONOMIC FEASIBILITY:Economic feasibility attempts 2 weigh the costs of developing andimplementing a new system, against the benefits that would accrue fromhaving the new system in place. This feasibility study gives the topmanagement the economic justification for the new system.A simple economic analysis which gives the actual comparison of costs andbenefits are much more meaningful in this case. In addition, this proves tobe a useful point of reference to compare actual costs as the projectprogresses. There could be various types of intangible benefits on account ofautomation. These could include increased customer satisfaction,improvement in product quality better decision making timeliness ofinformation, expediting activities, improved accuracy of operations, betterdocumentation and record keeping, faster retrieval of information, betteremployee morale. 7
  8. 8. A project Report on e-Banking 2010 SYSTEM REQUIREMENT SPECIFICATIONOVERVIEWThe chances and threats that the internet symbolizes is no longer news tothe present day banking sector. No traditional bank would dare faceinvestment analysts without an Internet strategy. Moreover, businesssuccess is not guaranteed by a detailed and thoughtful approach to theinternet. The main intention behind the commencement of electronicbanking services is to provide the customers with an alternative that is moreresponsive and with less expensive options. With options just a click away,customers have more control than ever. Their expectations are usability andreal-time answers. They also want personal attention and highly customizedproducts and services. This research intends to see how electronic bankinghas improved the efficiency and effectiveness in the bank, take a look at thesecurity measures on ground and also prefer a solution that can eradicatefraud in electronic banking.STUDY OF THE SYSTEM In the flexibility of uses the interface has been developed a graphics concepts in mind, associated through a browser interface. The GUI’s at the top level has been categorized as follows 1. Administrator Interface Design. 2. User Interface. 3. Security Authentication. 4. Reports. 5. General end-users.The administrative user interface will maintain the different users details, theinterface helps the administration with all the transactional states like whichfiles is owner of the which file, data usage history of the users, usersdetails information history. And the statistics of the system in differencestrategies. 8
  9. 9. A project Report on e-Banking 2010NUMBER OF MODULESThe system after careful analysis has been identified to be presented withthe following modules:The Modules involved are 1. Administrators 2. Customers 3. Transaction 4. Security and authentication 5. ReportsMODULES DESCRIPTION 1. Administrator Module Administrator can access all accounts information and provides some username and password for the customer. Accept the Cheque book requests and other queries, View all the bank Transactions. The administrator can also lock the user accounts and he can open the locks. 2. Customer Module Can make a funds transfer to another account in the same bank. And the customer can also access their accounts operations like deposit, withdraw and money transfer . Customer can send the cheque book request to the admin, and also they can send other queries. 3. Transaction Module This module contains the total information of the transactions like the details of the transaction, description, transaction amount, date of transaction, etc.. 4. Security and authentication Module The user details should be verified against the details in the user tables and if it is valid user, they should be entered into the system. Once entered, based on the user type access to the different modules to be enabled / disabled 5. Reports Module In this Module the Customer and Administrator can generate the different types of Reports and statement according to their access. 9
  10. 10. A project Report on e-Banking 2010 PROCESS FLOWARCHITECTURE DIAGRAM 1. THE PRESENTATION LAYER Also called as the client layer comprises of components that are dedicated to presenting the data to the user. For example: Windows/Web Forms and buttons, edit boxes, Text boxes, labels, grids, etc. 2. THE BUSINESS RULES LAYER This layer encapsulates the Business rules or the business logic of the encapsulations. To have a separate layer for business logic is of a great advantage. This is because any changes in Business Rules can be easily handled in this layer. As long as the interface between the layers remains the same, any changes to the functionality/processing logic in this layer can be made without impacting the others. A lot of 10
  11. 11. A project Report on e-Banking 2010 client-server apps failed to implement successfully as changing the business logic was a painful process3. THE DATA ACCESS LAYER This layer comprises of components that help in accessing the Database. If used in the right way, this layer provides a level of abstraction for the database structures. Simply put changes made to the database, tables, etc do not affect the rest of the application because of the Data Access layer. The different application layers send the data requests to this layer and receive the response from this layer.4. THE DATABASE LAYER This layer comprises of the Database Components such as DB Files, Tables, Views, etc. The Actual database could be created using SQL Server, Oracle, Flat files, etc. In an n-tier application, the entire application can be implemented in such a way that it is independent of the actual Database. For instance, you could change the Database Location with minimal changes to Data Access Layer. The rest of the Application should remain unaffected. 11
  12. 12. A project Report on e-Banking 2010 SDLC METHODOLOGIESThis document play a vital role in the system development of life cycle(SDLC) as it describes the complete requirement of the system. It meansfor use by developers and will be the basic during testing phase. Anychanges made to the requirements in the future will have to go throughformal change approval process. SPIRAL MODEL was defined by Barry Boehm in his 1988 article, “Aspiral Model of Software Development and Enhancement. This model wasnot the first model to discuss iterative development, but it was the firstmodel to explain why the iteration models. As originally envisioned, the iterations were typically 6 months to 2years long. Each phase starts with a design goal and ends with a clientreviewing the progress thus far. Analysis and engineering efforts areapplied at each phase of the project, with an eye toward the end goal ofthe project.The steps for Spiral Model can be generalized as follows: • The new system requirements are defined in as much details as possible. This usually involves interviewing a number of users representing all the external or internal users and other aspects of the existing system. • A preliminary design is created for the new system. • A first prototype of the new system is constructed from the preliminary design. This is usually a scaled-down system, and represents an approximation of the characteristics of the final product. • A second prototype is evolved by a fourfold procedure: 1. Evaluating the first prototype in terms of its strengths, weakness, and risks. 2. Defining the requirements of the second prototype. 3. Planning an designing the second prototype. 4. Constructing and testing the second prototype. 12
  13. 13. A project Report on e-Banking 2010• At the customer option, the entire project can be aborted if the risk is deemed too great. Risk factors might involved development cost overruns, operating-cost miscalculation, or any other factor that could, in the customer’s judgment, result in a less-than-satisfactory final product.• The existing prototype is evaluated in the same manner as was the previous prototype, and if necessary, another prototype is developed from it according to the fourfold procedure outlined above.• The preceding steps are iterated until the customer is satisfied that the refined prototype represents the final product desired.• The final system is constructed, based on the refined prototype.• The final system is thoroughly evaluated and tested. Routine maintenance is carried on a continuing basis to prevent large scale failures and to minimize down time. 13
  14. 14. A project Report on e-Banking 2010 The following diagram shows how a spiral model acts: Fig 1.0-Spiral ModelADVANTAGES • Estimates(i.e. budget, schedule etc .) become more relistic as work progresses, because important issues discoved earlier. 14
  15. 15. A project Report on e-Banking 2010• It is more able to cope with the changes that are software development generally entails.• Software engineers can get their hands in and start woring on the core of a project earlier. 15
  16. 16. A project Report on e-Banking 2010 SOFTWARE REQUIREMENT AND HARDWARE REQUIREMENTSOFTWARE REQUIREMENTSOperating System : Windows XP/2003 or LinuxUser Interface : HTML, CSSClient-side Scripting : JavaScriptProgramming Language : JavaWeb Applications : JDBC, Servlets, JSPIDE/Workbench : My Eclipse 6.0Database : Oracle 10gServer Deployment : Tomcat 5.xHARDWARE REQUIREMENTSProcessor : Pentium IVHard Disk : 40GBRAM : 512MB or more 16
  17. 17. A project Report on e-Banking 2010 SYSTEM DESIGNData Flow Diagrams:A graphical tool used to describe and analyze the moment of data through asystem manual or automated including the process, stores of data, anddelays in the system. Data Flow Diagrams are the central tool and the basisfrom which other components are developed. The transformation of datafrom input to output, through processes, may be described logically andindependently of the physical components associated with the system. TheDFD is also know as a data flow graph or a bubble chart.DFDs are the model of the proposed system. They clearly should show therequirements on which the new system should be built. Later during designactivity this is taken as the basis for drawing the system’s structure charts.The Basic Notation used to create a DFD’s are as follows:1. Dataflow: Data move in a specific direction from an origin to adestination.2. Process: People, procedures, or devices that use or produce (Transform)Data. The physical component is not identified. 17
  18. 18. A project Report on e-Banking 20103. Source: External sources or destination of data, which may be People,programs, organizations or other entities.4. Data Store: Here data are stored or referenced by a process in theSystem. 18
  19. 19. A project Report on e-Banking 2010 Context Level Data Flow Diagram CONTEXT LEVEL DATA FLOW DIAGRAM Deposit Data BaseAdministrator Data Input Stages Data Output Stages Withdraw Profile Data Output Stages UI Screens Statements Customer Data Input Stages Data Output Stages Reports Transaction E-Banking System Process 19
  20. 20. A project Report on e-Banking 2010LEVEL DFD W ith d ra w D e p o sit R e gistra tio n U I D isp la y in g U ser L o g in S et of T ra n sa m t O p e ra tio n s G e n e ra l I n f o rm a tio n P ro f ile R e p o rt s 20
  21. 21. A project Report on e-Banking 2010AUTHENTICATION DFD: U I In t e rf a c e U s e rn a m ea s s w o rd ,P A u t h e n t ic a t io n S e rv e r A u t h e n t ic a t io n S e rv e r A u t h e n t ic a t io n U I In t e rf a c e NO 21
  22. 22. A project Report on e-Banking 2010Administrator Context Level DFD Deposit Data Base Data Output Stages Withdraw ProfileAdministrator Data Input Stages Data Output Stages UI Screens Statements Data Output Stages Reports Transaction 22
  23. 23. A project Report on e-Banking 2010Level 2.0:- Data Input Stage Data Output Stage UI Interface getStatement Data Base Level 2.0.1:- Data Input Stage Data Output Stage ViewStatement Fetch GUI InterfaceLevel 2.1:- D ata In pu t Stag e D ata Outpu t Stag e Admin istrato r with d raw D ata B aseLevel 2.1.0:- D a ta In p u t S ta g e D a ta O u tp u t S ta g e W ith d r a w S u cc e ss D a ta B a s e U I In te r fa c eLevel 2.2:- D a ta In p u t S ta g e D a ta O u tp u t St ag e U I In terfac e U p d ate P ro file D a ta B a se 23
  24. 24. A project Report on e-Banking 2010Customer Context Level DFD Deposit Data Base Data Output Stages Withdraw Profile Customer Data Input Stages Data Output Stages UI Screens Statements Data Output Stages Reports Transaction 24
  25. 25. A project Report on e-Banking 2010Level 2.0:- D ata In p u t Stag e D ata Ou tp u t Stag e U I In terface Reg istratio n D ata B aseLevel 2.1:- D a ta In p u t S ta g e D a ta O u tp u t S ta g e V ie w P e rs o n a l In f o F etch U I In t e rf a c eLevel 2.2:- D ata In p u t Stag e D ata Ou tp u t Stag e U I In terface U p d ateIn fo D ata B aseLevel 2.3:- Data Input Stage Data Output Stage UI Interface Deposit Data BaseLevel 2.4:- Data Input Stage Data Output Stage Administrator withdraw Data Base 25
  26. 26. A project Report on e-Banking 2010Level 2.4.0:- Data Input Stage Data Output Stage WithdrawSuccess Data Base UI InterfaceLevel-4.0.1 Diagram: Open form() Enter MidName ------------------- Enter FirstName LastName Bar Reg Date Select Qualification ------------------------- ---------------------- -------------------------- -------------------------- --------------------------- Select Enter Photograph Address PhoneNumber Emailid LawyerTypeName -------------------------- ------------------------- -------------------------- ----------------------- -------------------------- 26
  27. 27. A project Report on e-Banking 2010E-R DIAGRAM 27
  28. 28. A project Report on e-Banking 2010 UML DIAGRAMSUNIFIED MODELING LANGUAGE DIAGRAMSThe unified modeling language allows the software engineer to express ananalysis model using the modeling notation that is governed by a set ofsyntactic semantic and pragmatic rules.A UML system is represented using five different views that describe thesystem from distinctly different perspective. Each view is defined by a set ofdiagram, which is as follows.USER MODEL VIEWThis view represents the system from the users perspective.The analysis representation describes a usage scenario from the end-usersperspective.STRUCTURAL MODEL VIEWIn this model the data and functionality are arrived from inside the system.This model view models the static structures.BEHAVIORAL MODEL VIEWIt represents the dynamic of behavioral as parts of the system, depicting theinteractions of collection between various structural elements described inthe user model and structural model view.IMPLEMENTATION MODEL VIEWIn this the structural and behavioral as parts of the system are representedas they are to be built.ENVIRONMENTAL MODEL VIEWIn this the structural and behavioral aspects of the environment in which thesystem is to be implemented are represented. UML is specifically constructedthrough two different domains they are:UML Analysis modeling, which focuses on the user model and structuralmodel views of the system.UML design modeling, which focuses on the behavioral modeling,implementation modeling and environmental model views.Use case Diagrams represent the functionality of the system from a user’spoint of view. Use cases are used during requirements elicitation andanalysis to represent the functionality of the system. Use cases focus on thebehavior of the system from external point of view.Actors are external entities that interact with the system. Examples of actorsinclude users like administrator, bank customer …etc., or another systemlike central database. 28
  29. 29. A project Report on e-Banking 2010 Class Diagram Class diagrams describe the structure of the system in termsof classes and objects. The servlet api class diagram will be as follows. JSP: Implicit Objects 29
  30. 30. A project Report on e-Banking 2010 Class Collaboration Diagrams Q u ery D A O A c c o u n t D e t a ils D A O S a m p le D A O ~ c o n : C o n n e c t io n ~ c o n : C o n n e c t io n ~ c o n : C o n n e c t io n + s e n d Q u e r y ( c Q u e r y : Q u e r y ) + c r e a t e A c c o u n t ( a D e t a i l s : A c c o u n t D e t a i l s ) :~i n a m p l e : S a m p l e st + g e t S o l u t i o n ( l o g i n n a m e : S t r i n g ) s: t a tou rseCH haes chk ( a c c n o : i n t , l o g i n I d : S t r i n g ) : <S < r icnr g a t e > > + S a m p l e D A O ( ) + C t e + g e t S o l u t i o n ( q u e r y i d : i n t ) : Q u + ruy p d a t e A c c S t a t u s ( a c c n o : i n t ) : b o o l e a n e + a d d S a m p le ( a S a m p le : S a m p le ) : b o o l e a n + g e t Q u e r y ( q u e r y id : in t ) : Q u e r + lo c k A c c o u n t ( a c c n o : i n t ) : b o o le a n y + u p d a t e S a m p le ( a S a m p le : S a m p le ) + g e t Q u e r y S t a t u s ( l o g i n n a m e : S+t rv i ine gw ) A l CA oc rceSH t a s uh s ( ) : C o r e H a s h : l t + d e le t e S a m p le ( s : S t r in g ) : b o o le a n + g e t Q u e r y S t a t u s ( ) : C o r e H a s h + g e t A c c D e t a i l s ( a c c n o : i n t , l o g i n i d : S t r i n g ) :+ Av ci ec w u n tmD pe ltea( i sl s: S t r i n g ) : S a m p l e oSa + s e t S o lu t io n ( a Q u e r y : Q u e r y ) + lis t S a m p le ( ) : C o r e H a s h + d e le t e Q u e r y ( q u e r y id : in t ) A b s tr a c tD a ta A c c e s s O b je c t ~ c o n : C o n n e c t io n T r a n s a c t io n D A O ~ p r o p s : P r o p e r t ie s ~ c o n : C o n n e c t io n + g e t P r o p e r t ie s ( ) : P r o p e r t ie s + d e p o s it e ( a T r a n s : T r a n s a c t io n ) : b o o le a n + s e t P r o p e r t ie s ( p r o p s : P r o p e r t ie s ) + w it h d r a w ( a T r a n s : T r a n s a c t io n ) : S t r in g FeedB ackD A O + g e tC o n n e c t io n ( ) : C o n n e c t io n + t r a n s f e r A m o u n t( a T r a n s : T r a n s a c t io n ) : S t r in g~ c o n : C o n n e c tio n + g e t S e q u e n c e I D ( t a b le N a m e : S t r in g , + p k ied t:R Se tp r oi nr g () s: d i a tt e : S t r i n g , e d a t e : S t r i n g ) : C o r e H a s h g t n~ fe e d b a c k : F e e d b a c k + g e t A c c o u n t R e p o r t ( s d a t e : S t r in g , e d a t e : S t r in g , a c c n o : in t ) : C o r e H a s h< < c re a te > > + F e e d B a c k D A O ()+ a d d F e e d b a c k ( fe e d b a c k : F e e d b a c k ) : b o o le a n+ u p d a t e F e e d b a c k ( fe e d b a c k : F e e d b a c k )+ d e l e t e F e e d b a c k ( s : in t ) : b o o le a n+ v ie w F e e d b a c k ( s : in t ) : F e e d b a c k+ lis t f e e d b a c k ( ) : C o r e H a s h S e c u r it y D A O ~ c o n : C o n n e c t io n P r o f ile D A O - d e s c : S t r in g+ c o n : C o n n e c t io n - f la g : b o o le a n- f la g : b o o le a n < < c r e a t e > > + S e c u r it y D A O ( )< < c r e a t e > > + P r o f ile D A O ( ) + c h e c k P a s s w o r d ( r e g b e a n : P r o f i le ) : b o o le a n+ r e g i s t r a t i o n ( r e g b e a n : P r o f i l e ) : b o o l e a+n c h e c k F i r s t L o g i n ( l o g i n n a m e : S t r i n g ) : i n t+ g e t P r o f ile ( lo g in n a m e : S t r in g ) : P r o f ile + lo g in C h e c k ( r e g b e a n : P r o f ile ) : S t r in g+ m o d i f y P r o f i l e ( r e g b e a n : P r o f i l e ) : b o o l e+ al o g i n a u d i t ( l o g i n i d : S t r i n g , d e s c : S t r i n g ) n+ c h a n g e A c c o u n t S t a t u s ( l o g i n i d : S t r i n g ,+ sc tha at n g :e Pi na ts) s: wb oo rod l e raeng b e a n : P r o f i l e ) : b o o l e a n us ( + c h a n g e Q u e s t i o n ( r e g b e a n : P r o f il e ) : b o o le a n + r e c o v e r P a s s w o r d B y E x is t Q u e s t io n ( r e g b e a n : P r o f ile ) : S t r in g + r e c o v e r P a s s w o r d B y O W N Q u e s t io n ( r e g b e a n : P r o f ile ) : S t r in g 30
  31. 31. A project Report on e-Banking 201031
  32. 32. A project Report on e-Banking 201032
  33. 33. A project Report on e-Banking 2010 Use Case DiagramsUse case Diagrams represent the functionality of the system from a user’spoint of view. Use cases are used during requirements elicitation andanalysis to represent the functionality of the system. Use cases focus on thebehavior of the system from external point of view.Actors are external entities that interact with the system. Examples of actorsinclude users like administrator, bank customer …etc., or another systemlike central database. Use-case Diagram 1. System Diagram System Customer e-Banking Administrator 33
  34. 34. A project Report on e-Banking 20102. Customer Diagram login ModifyProfile Profile <<include>> Deposit <<include>> Withdraw Transactions <<include>> <<include>> TransferAmt BalanceEnquiry ViewBalance Customer <<include>> ChangePassword Security <<include>> <<include>> ChangeQuestion SendRequest Requests <<include>> <<include>> ViewResponse Statement 34
  35. 35. A project Report on e-Banking 20103. AdministratorDiagram 35
  36. 36. A project Report on e-Banking 2010 login ModifyProfile Profile <<include>> Deposit <<include>> Transactions Withdraw <<include>> <<include>> TransferAmt BalanceEnquiry ViewBalance <<include>> ChangePassword Security <<include>>Admin <<include>> ChangeQuestion ViewQueiry Queires <<include>> <<include>> sendResponse <<include>> FeedBacks Statement Bank Statement <<include>> <<include>> Personal Statement Accounts Lock Account <<include>> <<include>> Open Account 36
  37. 37. A project Report on e-Banking 2010 Sequence Diagrams1. Customer Home P r o f ile Q u e r ie s A c c o u n t O p e r T r a nns sa c t io Sn t a t e m e Sn et c u r it y L o g o u t a t io: Custom er 1 : lo g in ( ) 2 : u p d a t e P r o f i le ( ) 3 : S e n d R e q u e s t s , V ie w R e s p o n s e s ( ) 4 : w it h d r a w , d e p o s i t ( ) 5 : t ra n s F e rA m o u n t () 6 : v ie w S t a t e m e n t ( ) 7 : c h a n g e P a s s w o r d , c h a n g e Q u e s t io n ( ) 8 : lo g o u t ( ) 9 : ho m e () 37
  38. 38. A project Report on e-Banking 2010 2. Administrator A d m in H o m e P r o f i le Q u e r ie s A c c o u n t O p e r a Tt iroa nn ss a c t iS tn a t e m S n tc u r it y o ee A c c o u n t s A c c e s l so g o u t: a d m i n is t r a t o r 1 : lo g in ( ) 2 : u p d a t e P r o f il e ( ) 3 : v ie w R e q u e s t s , s e n d R e s p o n s e s ( ) 4 : w i t h d r a w , d e p o s it ( ) 5 : t ra n s F e rA m o u n t ( ) 6 : v ie w S t a t e m e n t , b a n k T r a n s a c t io n ( ) 7 : c h a n g e P a s s w o r d , c h a n g e Q u e s t io n ( ) 8 : lo c k a c c o u n t , o p e n a c c o u n t ( ) 9 : lo g o u t ( ) 10 : ho m e () 38
  39. 39. A project Report on e-Banking 2010 Operational Level Sequence and Collaboration DiagramsOperational Level Sequence and Collaboration Diagrams 1. Login Sequence Diagram Administrator Login Customer 1 : login() 2 : login() 3 : validate() 4 : validLogn() 5 : validLogin() 39
  40. 40. A project Report on e-Banking 2010 Login Collaboration Diagram 3 : validate() Login 5 : validLogin() 4 : validLogn() 1 : login() 2 : login() Administrator Customer2. Deposit Sequence DiagramCustomer Login DAtaBase Deposit 1 : login() 2 : validate() 3 : ValidLogin() 4 : depositAmt() 5 : checkValidations() 6 : deposit() 7 : SuccessMessage() 40
  41. 41. A project Report on e-Banking 2010Deposit Sequence Diagram 2 : validate() 5 : checkValidations() Deposit Login 4 : depositAmt() 3 : ValidLogin() 6 : deposit() 1 : login() 7 : SuccessMessage() DAtaBase Customer 3. Withdraw Sequence Diagram Customer Login Withdraw DAO DAtaBase 1 : login() 2 : validate() 3 : ValidLogin() 4 : withdrawAmt() 5 : checkValidations() 6 : checkBal() 7 : getBal() 8 : checkWithdraw() 9 : ifBalNotSufficient() 10 : updateBal() 11 : SuccessMessage() 41
  42. 42. A project Report on e-Banking 2010Withdraw Collaborative Diagram 5 : checkValidations() 6 : checkBal() W ithdraw DAO 8 : checkW ithdraw() 9 : ifBalNotSufficient() 10 : updateBal() 7 : getBal() 2 : validate() DAtaBase Login 4 : withdrawAmt() 11 : SuccessMessage() 1 : login() 3 : ValidLogin() Customer 42
  43. 43. A project Report on e-Banking 2010 4. Transfer Amount Sequence DiagramC u s to m e r L o g in T ra n s fe rA m y W ith d raw D epo sit D a ta B a s e 1 : l o g in ( ) 2 : v ali d ate ( ) 3 : v a l id L o g i n ( ) 4 : tra n s fe rA m o u n t( ) 5 : v al id a te ( ) 6 : w i th D raw ( ) 7 : v a l i d ate ( ) 8 : g e tB a l ( ) 9 : w i th d ra w S u c c e s s ( ) 1 0 : d e p o s it( ) 1 1 : v al id ate ( ) 1 2 : d e p o s i tS u c c e s s ( ) 1 3 : u p d a te D ata b as e ( ) 1 4 : s u cce s s M e s () 43
  44. 44. A project Report on e-Banking 2010`Transfer Amount Collaborative Diagram DataBase 1 1 : va lid a t e () 8 : g e t B a l() 7 : va lid a t e () D e p o s it W it h d ra w 1 3 : u p d a t e D a t a b a s e () 2 : va lid a t e () 1 2 : d e p o s it Su cce s s () 6 : w it h D ra w () L o g in 1 0 : d e p o s it () 9 : w it h d ra w Su cce s s () 5 : va lid a t e () 1 : lo g in () T ra n s fe rA m y 14 : s u cce s s M e s () 3 : va lid L o g in () 4 : t ra n s fe rA m o u n t () Cus tome r 44
  45. 45. A project Report on e-Banking 2010 Activity DiagramActivity Diagrams 1. Servlet Container 45
  46. 46. A project Report on e-Banking 2010 2. Administrator Activity Diagram A d m in is t ra t o r lo g in E n t e r U s e rI D ,P a s s w o r d fa il v a lid a t e L o g in success L og ou tHom e T r a n s a c tio n s P r o file S tate m en t A c c o u n t O p e r a t io n sT ra n s fe r A m o u n t it h d r a w D e p o s it W Lock A /C C h a n g e A / C S t a t u s v ie w P ro file U p d a te P r o file B a n k S ta t e m e n t A / C S ta t e m e n t if lo g o u t 46
  47. 47. A project Report on e-Banking 2010Customer Activity Diagram C ustom e r log in En te r U se rID ,Passw ord fail valid ate Log in suc ce ssH om e R e po rt Transaction s L ogo ut P rofile T ran sfe rA m ount ith d ra w D e p osit vie w P rofile U p d ate Pro fileV ie w B alan ce A /C S ta te m e nt W if lo go ut 47
  48. 48. A project Report on e-Banking 2010Withdraw Activity Diagram Withdraw checkValidation if Fail if Success GetBalance checkBalance if Bal Not Sufficient if Bal Sufficient WithdrawAmt 48
  49. 49. A project Report on e-Banking 2010Deposit Activity Diagram D osit ep if Fail if S c ess uc D ositA t ep m 49
  50. 50. A project Report on e-Banking 2010Transfer Amount Activity Diagram T a sfe A t rn r M ifF il a V ld t ai ae if S c e s uc s g tB la c e A ne c e k aa c h c B l ne i a o S ffi n fB l t u e t N i a S ffi n fB l u e t O ea n p r tio s Wh r w m r m o r e /C i da A t o S uc A t F Dp st m D sA e o i A t e t /C In i Ay nF i f n O e al i Bt S ces f oh u c s U d te a n e p a B la c s 50
  51. 51. A project Report on e-Banking 2010Component Diagram 51
  52. 52. A project Report on e-Banking 2010Deployment Diagram 52
  53. 53. A project Report on e-Banking 2010 Data DictionaryAccountDetails:ColumnName DataType Size ConstraintAccNo AutoNumber 42 PkAccType Varchar2 42 fkloginId Varchar2 42 NullaccStatus Varchar2 42 NullBalance Number 42 NullTdate Date/time 42 NullDeposit:ColumnName DataType Size ConstraintAccNo AutoNumber 42 FkAcctype Varchar2 42 FkAmount Varchar2 42 NullTrdate date/time 42 NullfeedBackColumnName DataType Size ConstraintFeedbackid number 42 PkFeedback Varchar2 42Fname Varchar2 42 NullEmail Varchar2 42 NullAddress Varchar2 42 NullCity Varchar2 42 NullState Varchar2 42 NullPin Varchar2 42 NullCountry Varchar2 42 NullOccupation Varchar2 42 NullQueryColumnName DataType Size ConstraintQueryID Number PkLoginname Varchar2 42 NullQueryDate Date Null 53
  54. 54. A project Report on e-Banking 2010Description Varchar2 42 NullStatus Varchar2 42 NullSolutionColumnName DataType Size ConstraintQueryID Number 42 PkSolvedDate Date/Time NullSolution Varchar2 42 NullLoginaudit:ColumnName DataType Size ConstraintLoginid Varchar2 42 NullLogindate date/time 42 NullLogindesc Varchar2 42 NullLoginDetails:ColumnName DataType Size ConstraintLoginName Varchar2 42 PkPassword Varchar2 42 NullFirstname Varchar2 42 NullLastname Varchar2 42 NullLoginType Varchar2 42 NullLoginstatus number 42 NullRegdate date/time 42 NullsquestionId number 42 NullSanswer Varchar2 42 NullFirstlogin number 42 NullPassmodifieddate date/time 42 NullLoginProfile:ColumnName DataType Size ConstraintLoginid Varchar2 42 NullBirthdate Varchar2 42 NullHno Varchar2 42 NullStreet Varchar2 42 NullCity Varchar2 42 NullState Varchar2 42 NullCountry Varchar2 42 Null 54
  55. 55. A project Report on e-Banking 2010Pin Varchar2 42 NullPhno Varchar2 42 NullEmail Varchar2 42 NullLocale Varchar2 42 NullProfilemodifieddate Date NullQuestionbase:ColumnName DataType Size ConstraintQuestioned Varchar2 42 PkQuestiondetail Varchar2 42 NullTransactionaudit:ColumnName DataType Size ConstraintAccNo number 20 FkTransType Varchar2 42 NullTracDate Date/time 20 nullWithdraw:ColumnName DataType Size ConstraintAccNo number 20 FkAcctype Varchar2 42 FkAmount Varchar2 42 NullTrdate date/time 20 Null 55
  56. 56. A project Report on e-Banking 2010 TECHNOLOGY DESCRIPTIONHTMLHTML, an initialism of Hypertext Markup Language, is the predominantmarkup language for web pages. It provides a means to describe thestructure of text-based information in a document — by denoting certaintext as headings, paragraphs, lists, and so on — and to supplement that textwith interactive forms, embedded images, and other objects. HTML is writtenin the form of labels (known as tags), surrounded by angle brackets. HTMLcan also describe, to some degree, the appearance and semantics of adocument, and can include embedded scripting language code which canaffect the behavior of web browsers and other HTML processors.HTML is also often used to refer to content of the MIME type text/html oreven more broadly as a generic term for HTML whether in its XML-descendedform (such as XHTML 1.0 and later) or its form descended directly fromSGMLHyper Text Markup LanguageHypertext Markup Language (HTML), the languages of the World Wide Web(WWW), allows users to produces Web pages that include text, graphics andpointer to other Web pages (Hyperlinks).HTML is not a programming language but it is an application of ISO Standard8879, SGML (Standard Generalized Markup Language), but specialized to 56
  57. 57. A project Report on e-Banking 2010hypertext and adapted to the Web. The idea behind Hypertext is that insteadof reading text in rigid linear structure, we can easily jump from one point toanother point. We can navigate through the information based on ourinterest and preference. A markup language is simply a series of elements,each delimited with special characters that define how text or other itemsenclosed within the elements should be displayed. Hyperlinks are underlinedor emphasized works that load to other documents or some portions of thesame document.HTML can be used to display any type of document on the host computer,which can be geographically at a different location. It is a versatile languageand can be used on any platform or desktop.HTML provides tags (special codes) to make the document look attractive.HTML tags are not case-sensitive. Using graphics, fonts, different sizes,color, etc., can enhance the presentation of the document. Anything that isnot a tag is part of the document itself.Basic HTML Tags:<! -- --> specifies comments<A>……….</A> Creates hypertext links<B>……….</B> Formats text as bold<BIG>……….</BIG> Formats text in large font.<BODY>…</BODY> Contains all tags and text in the HTML document<CENTER>...</CENTER> Creates text<DD>…</DD> Definition of a term<DL>...</DL> Creates definition list<FONT>…</FONT> Formats text with a particular font<FORM>...</FORM> Encloses a fill-out form<FRAME>...</FRAME> Defines a particular frame in a set of frames 57
  58. 58. A project Report on e-Banking 2010<H#>…</H#> Creates headings of different levels( 1 – 6 )<HEAD>...</HEAD> Contains tags that specify information about a document<HR>...</HR> Creates a horizontal rule<HTML>…</HTML> Contains all other HTML tags<META>...</META> Provides meta-information about a document<SCRIPT>…</SCRIPT> Contains client-side or server-side script<TABLE>…</TABLE> Creates a table<TD>…</TD> Indicates table data in a table<TR>…</TR> Designates a table row<TH>…</TH> Creates a heading in a tableAttributesThe attributes of an element are name-value pairs, separated by "=", andwritten within the start label of an element, after the elements name. Thevalue should be enclosed in single or double quotes, although valuesconsisting of certain characters can be left unquoted in HTML (but notXHTML).Leaving attribute values unquoted is considered unsafe.Most elements take any of several common attributes: id, class, style andtitle. Most also take language-related attributes: lang and dir.The id attribute provides a document-wide unique identifier for an element.This can be used by stylesheets to provide presentational properties, bybrowsers to focus attention on the specific element or by scripts to alter thecontents or presentation of an element. The class attribute provides a way ofclassifying similar elements for presentation purposes. For example, anHTML document (or a set of documents) may use the designationclass="notation" to indicate that all elements with this class value are allsubordinate to the main text of the document (or documents). Such notationclasses of elements might be gathered together and presented as footnotes 58
  59. 59. A project Report on e-Banking 2010on a page, rather than appearing in the place where they appear in thesource HTML.An author may use the style non-attributal codes presentational propertiesto a particular element. It is considered better practice to use an element’sson- id page and select the element with a stylesheet, though sometimesthis can be too cumbersome for a simple ad hoc application of styledproperties. The title is used to attach subtextual explanation to an element.In most browsers this title attribute is displayed as what is often referred toas a tooltip. The generic inline span element can be used to demonstratethese various non-attributes.The preceding displays as HTML (pointing the cursor at the abbreviationshould display the title text in most browsers).Advantages  A HTML document is small and hence easy to send over the net. It is small because it does not include formatted information.  HTML is platform independent.  HTML tags are not case-sensitive. 59
  60. 60. A project Report on e-Banking 2010JavaScriptJavaScript is a script-based programming language that was developed byNetscape Communication Corporation. JavaScript was originally called LiveScript and renamed as JavaScript to indicate its relationship with Java.JavaScript supports the development of both client and server componentsof Web-based applications. On the client side, it can be used to writeprograms that are executed by a Web browser within the context of a Webpage. On the server side, it can be used to write Web server programs thatcan process information submitted by a Web browser and then update thebrowser’s display accordinglyEven though JavaScript supports both client and server Web programming,we prefer JavaScript at Client side programming since most of the browserssupports it. JavaScript is almost as easy to learn as HTML, and JavaScriptstatements can be included in HTML documents by enclosing the statementsbetween a pair of scripting tags <SCRIPTS>.. </SCRIPT>. <SCRIPT LANGUAGE = “JavaScript”> JavaScript statements </SCRIPT>Here are a few things we can do with JavaScript:  Validate the contents of a form and make calculations.  Add scrolling or changing messages to the Browser’s status line.  Animate images or rotate images that change when we move the mouse over them.  Detect the browser in use and display different content for different browsers.  Detect installed plug-ins and notify the user if a plug-in is required. 60
  61. 61. A project Report on e-Banking 2010We can do much more with JavaScript, including creating entire application.JavaScript Vs JavaJavaScript and Java are entirely different languages. A few of the mostglaring differences are: • Java applets are generally displayed in a box within the web document; JavaScript can affect any part of the Web document itself. • While JavaScript is best suited to simple applications and adding interactive features to Web pages; Java can be used for incredibly complex applications.There are many other differences but the important thing to remember isthat JavaScript and Java are separate languages. They are both useful fordifferent things; in fact they can be used together to combine theiradvantages.Advantages  JavaScript can be used for Sever-side and Client-side scripting.  It is more flexible than VBScript.  JavaScript is the default scripting languages at Client-side since all the browsers supports it. 61
  62. 62. A project Report on e-Banking 2010Java TechnologyInitially the language was called as “oak” but it was renamed as “Java” in1995. The primary motivation of this language was the need for a platform-independent (i.e., architecture neutral) language that could be used tocreate software to be embedded in various consumer electronic devices. • Java is a programmer’s language. • Java is cohesive and consistent. • Except for those constraints imposed by the Internet environment, Java gives the programmer, full control. • Finally, Java is to Internet programming where C was to system programming.Importance of Java to the InternetJava has had a profound effect on the Internet. This is because; Javaexpands the Universe of objects that can move about freely in Cyberspace.In a network, two categories of objects are transmitted between the Serverand the Personal computer. They are: Passive information and Dynamicactive programs. The Dynamic, Self-executing programs cause seriousproblems in the areas of Security and probability. But, Java addresses thoseconcerns and by doing so, has opened the door to an exciting new form ofprogram called the Applet.Java can be used to create two types of programsApplications and Applets: An application is a program that runs on ourComputer under the operating system of that computer. It is more or lesslike one creating using C or C++. Java’s ability to create Applets makes itimportant. An Applet is an application designed to be transmitted over the 62
  63. 63. A project Report on e-Banking 2010Internet and executed by a Java –compatible web browser. An applet isactually a tiny Java program, dynamically downloaded across the network,just like an image. But the difference is, it is an intelligent program, not justa media file. It can react to the user input and dynamically change.Features of Java SecurityEvery time you that you download a “normal” program, you are risking aviral infection. Prior to Java, most users did not download executableprograms frequently, and those who did scan them for viruses prior toexecution. Most users still worried about the possibility of infecting theirsystems with a virus. In addition, another type of malicious program existsthat must be guarded against. This type of program can gather privateinformation, such as credit card numbers, bank account balances, andpasswords. Java answers both these concerns by providing a “firewall”between a network application and your computer.When you use a Java-compatible Web browser, you can safely downloadJava applets without fear of virus infection or malicious intent.PortabilityFor programs to be dynamically downloaded to all the various types ofplatforms connected to the Internet, some means of generating portableexecutable code is needed .As you will see, the same mechanism that helpsensure security also helps create portability. Indeed, Java’s solution to thesetwo problems is both elegant and efficient.The Byte codeThe key that allows the Java to solve the security and portability problems isthat the output of Java compiler is Byte code. Byte code is a highly 63
  64. 64. A project Report on e-Banking 2010optimized set of instructions designed to be executed by the Java run-timesystem, which is called the Java Virtual Machine (JVM). That is, in itsstandard form, the JVM is an interpreter for byte code.Translating a Java program into byte code helps makes it much easier to runa program in a wide variety of environments. The reason is, once the run-time package exists for a given system, any Java program can run on it.Although Java was designed for interpretation, there is technically nothingabout Java that prevents on-the-fly compilation of byte code into nativecode. Sun has just completed its Just In Time (JIT) compiler for byte code.When the JIT compiler is a part of JVM, it compiles byte code into executablecode in real time, on a piece-by-piece, demand basis. It is not possible tocompile an entire Java program into executable code all at once, becauseJava performs various run-time checks that can be done only at run time.The JIT compiles code, as it is needed, during execution.Java Virtual Machine (JVM)Beyond the language, there is the Java virtual machine. The Java virtualmachine is an important element of the Java technology. The virtualmachine can be embedded within a web browser or an operating system.Once a piece of Java code is loaded onto a machine, it is verified. As part ofthe loading process, a class loader is invoked and does byte code verificationmakes sure that the code that’s has been generated by the compiler will notcorrupt the machine that it’s loaded on. Byte code verification takes place atthe end of the compilation process to make sure that is all accurate andcorrect. So byte code verification is integral to the compiling and executingof Java code.Overall Description 64
  65. 65. A project Report on e-Banking 2010Java Java byte JavaVMSource codePicture showing the development process of JAVA Program .ClassJava Java programming uses to produce byte codes and executes them. The firstbox indicates that the Java source code is located in a. Java file that isprocessed with a Java compiler called javac. The Java compiler produces afile called a. class file, which contains the byte code. The .Class file is thenloaded across the network or loaded locally on your machine into theexecution environment is the Java virtual machine, which interprets andexecutes the byte code.Java ArchitectureJava architecture provides a portable, robust, high performing environmentfor development. Java provides portability by compiling the byte codes forthe Java Virtual Machine, which is then interpreted on each platform by therun-time environment. Java is a dynamic system, able to load code whenneeded from a machine in the same room or across the planet.Compilation of codeWhen you compile the code, the Java compiler creates machine code (calledbyte code) for a hypothetical machine called Java Virtual Machine (JVM). TheJVM is supposed to execute the byte code. The JVM is created forovercoming the issue of portability. The code is written and compiled for onemachine and interpreted on all machines. This machine is called Java VirtualMachine. 65
  66. 66. A project Report on e-Banking 2010Compiling and interpreting Java Source Code Java PC Compiler Interpreter Source (PC) Code Java ……….. ……….. Byte code Macintosh Compiler Java ……….. Interpreter (Platform (Macintosh) Java Independ Interpreter ………… SPARC ent) (Spare) CompilerDuring run-time the Java interpreter tricks the byte code file into thinkingthat it is running on a Java Virtual Machine. In reality this could be a IntelPentium Windows 95 or SunSARC station running Solaris or Apple Macintoshrunning system and all could receive code from any computer throughInternet and run the Applets.SimpleJava was designed to be easy for the Professional programmer to learn andto use effectively. If you are an experienced C++ programmer, learning Javawill be even easier. Because Java inherits the C/C++ syntax and many ofthe object oriented features of C++. Most of the confusing concepts from C++ are either left out of Java or implemented in a cleaner, more approachablemanner. In Java there are a small number of clearly defined ways toaccomplish a given task. 66
  67. 67. A project Report on e-Banking 2010Object-OrientedJava was not designed to be source-code compatible with any otherlanguage. This allowed the Java team the freedom to design with a blankslate. One outcome of this was a clean usable, pragmatic approach toobjects. The object model in Java is simple and easy to extend, while simpletypes, such as integers, are kept as high-performance non-objects.RobustThe multi-platform environment of the Web places extraordinary demandson a program, because the program must execute reliably in a variety ofsystems. The ability to create robust programs was given a high priority inthe design of Java. Java is strictly typed language; it checks your code atcompile time and run time.Java virtually eliminates the problems of memory management and de-allocation, which is completely automatic. In a well-written Java program, allrun time errors can –and should –be managed by your program. 67
  68. 68. A project Report on e-Banking 2010Java Database ConnectivityWhat Is JDBC?JDBC is a Java API for executing SQL statements. (As a point of interest,JDBC is a trademarked name and is not an acronym; nevertheless, JDBC isoften thought of as standing for Java Database Connectivity. It consists of aset of classes and interfaces written in the Java programming language.JDBC provides a standard API for tool/database developers and makes itpossible to write database applications using a pure Java API.Using JDBC, it is easy to send SQL statements to virtually any relationaldatabase. One can write a single program using the JDBC API, and theprogram will be able to send SQL statements to the appropriate database.The combinations of Java and JDBC lets a programmer write it once and runit anywhere.What Does JDBC Do?Simply put, JDBC makes it possible to do three things:  Establish a connection with a database  Send SQL statements  Process the results.JDBC versus ODBC and other APIsAt this point, Microsofts ODBC (Open Database Connectivity) API is thatprobably the most widely used programming interface for accessingrelational databases. It offers the ability to connect to almost all databaseson almost all platforms.So why not just use ODBC from Java? The answer is that you can use ODBCfrom Java, but this is best done with the help of JDBC in the form of the 68
  69. 69. A project Report on e-Banking 2010JDBC-ODBC Bridge, which we will cover shortly. The question now becomes"Why do you need JDBC?" There are several answers to this question: 1. ODBC is not appropriate for direct use from Java because it uses a C interface. Calls from Java to native C code have a number of drawbacks in the security, implementation, robustness, and automatic portability of applications. 2. A literal translation of the ODBC C API into a Java API would not be desirable. For example, Java has no pointers, and ODBC makes copious use of them, including the notoriously error-prone generic pointer "void *". You can think of JDBC as ODBC translated into an object-oriented interface that is natural for Java programmers. 3. ODBC is hard to learn. It mixes simple and advanced features together, and it has complex options even for simple queries. JDBC, on the other hand, was designed to keep simple things simple while allowing more advanced capabilities where required. 4. A Java API like JDBC is needed in order to enable a "pure Java" solution. When ODBC is used, the ODBC driver manager and drivers must be manually installed on every client machine. When the JDBC driver is written completely in Java, however, JDBC code is automatically installable, portable, and secure on all Java platforms from network computers to mainframes.Two-tier and Three-tier ModelsThe JDBC API supports both two-tier and three-tier models for databaseaccess.In the two-tier model, a Java applet or application talks directly to thedatabase. This requires a JDBC driver that can communicate with theparticular database management system being accessed. A users SQLstatements are delivered to the database, and the results of those 69
  70. 70. A project Report on e-Banking 2010statements are sent back to the user. The database may be located onanother machine to which the user is connected via a network. This isreferred to as a client/server configuration, with the users machine as theclient, and the machine housing the database as the server. The networkcan be an Intranet, which, for example, connects employees within acorporation, or it can be the Internet. JAVA Application Client machine JDBC DBMS-proprietary protocol Database DBMS server Java applet or Html browser Client machine (GUI) HTTP, RMI, or CORBA calls Application Server machine (business Server (Java) JDBC DBMS-proprietary Logic) protocol Database server DBMS 70
  71. 71. A project Report on e-Banking 2010In the three-tier model, commands are sent to a "middle tier" of services,which then send SQL statements to the database. The database processesthe SQL statements and sends the results back to the middle tier, whichthen sends them to the user. MIS directors find the three-tier model veryattractive because the middle tier makes it possible to maintain control overaccess and the kinds of updates that can be made to corporate data.Another advantage is that when there is a middle tier, the user can employan easy-to-use higher-level API which is translated by the middle tier intothe appropriate low-level calls. Finally, in many cases the three-tierarchitecture can provide performance advantages.Until now the middle tier has typically been written in languages such as Cor C++, which offer fast performance. However, with the introduction ofoptimizing compilers that translate Java byte code into efficient machine-specific code, it is becoming practical to implement the middle tier in Java.This is a big plus, making it possible to take advantage of Javas robustness,multithreading, and security features. JDBC is important to allow databaseaccess from a Java middle tier. 71
  72. 72. A project Report on e-Banking 2010JDBC Driver Types The JDBC drivers that we are aware of at this time fit into one of four categories:  JDBC-ODBC bridge plus ODBC driver  Native-API partly-Java driver  JDBC-Net pure Java driver  Native-protocol pure Java driverJDBC-ODBC BridgeIf possible, use a Pure Java JDBC driver instead of the Bridge and an ODBCdriver. This completely eliminates the client configuration required by ODBC.It also eliminates the potential that the Java VM could be corrupted by anerror in the native code brought in by the Bridge (that is, the Bridge nativelibrary, the ODBC driver manager library, the ODBC driver library, and thedatabase client library).What Is the JDBC- ODBC Bridge? The JDBC-ODBC Bridge is a JDBC driver, which implements JDBC operations by translating them into ODBC operations. To ODBC it appears as a normal application program. The Bridge implements JDBC for any database for which an ODBC driver is available. The Bridge is implemented as the Sun.jdbc.odbc Java package and contains a native library used to access ODBC. The Bridge is a joint development of Innersole and Java Soft. 72
  73. 73. A project Report on e-Banking 2010JDBC connectivityThe JDBC provides database-independent connectivity between the J2EEplatform and a wide range of tabular data sources. JDBC technology allowsan Application Component Provider to:  Perform connection and authentication to a database server  Manager transactions  Move SQL statements to a database engine for preprocessing and execution  Execute stored procedures  Inspect and modify the results from Select statements 73
  74. 74. A project Report on e-Banking 2010Database:A database management system (DBMS) is computer software designed forthe purpose of managing databases, a large set of structured data, and runoperations on the data requested by numerous users. Typical examples ofDBMSs include Oracle, DB2, Microsoft Access, Microsoft SQL Server, Firebird,PostgreSQL, MySQL, SQLite, FileMaker and Sybase Adaptive ServerEnterprise. DBMSs are typically used by Database administrators in thecreation of Database systems. Typical examples of DBMS use includeaccounting, human resources and customer support systems.Originally found only in large companies with the computer hardware neededto support large data sets, DBMSs have more recently emerged as a fairlystandard part of any company back office.DescriptionA DBMS is a complex set of software programs that controls theorganization, storage, management, and retrieval of data in a database. ADBMS includes:  A modeling language to define the schema of each database hosted in the DBMS, according to the DBMS data model. • The four most common types of organizations are the hierarchical, network, relational and object models. Inverted lists and other methods are also used. A given database management system may provide one or more of the four models. The optimal structure depends on the natural organization of the applications data, and on the applications requirements (which include transaction rate (speed), reliability, maintainability, scalability, and cost). 74
  75. 75. A project Report on e-Banking 2010 • The dominant model in use today is the ad hoc one embedded in SQL, despite the objections of purists who believe this model is a corruption of the relational model, since it violates several of its fundamental principles for the sake of practicality and performance. Many DBMSs also support the Open Database Connectivity API that supports a standard way for programmers to access the DBMS. Data structures (fields, records, files and objects) optimized to deal with very large amounts of data stored on a permanent data storage device (which implies relatively slow access compared to volatile main memory). A database query language and report writer to allow users to interactively interrogate the database, analyze its data and update it according to the users privileges on data. • It also controls the security of the database. • Data security prevents unauthorized users from viewing or updating the database. Using passwords, users are allowed access to the entire database or subsets of it called subschemas. For example, an employee database can contain all the data about an individual employee, but one group of users may be authorized to view only payroll data, while others are allowed access to only work history and medical data. • If the DBMS provides a way to interactively enter and update the database, as well as interrogate it, this capability allows for managing personal databases. However, it may not leave an audit trail of actions or provide the kinds of controls necessary in a multi- user organization. These controls are only available when a set of 75