mobile billing 1

76
Synopsis 1

Upload: neha-sinha

Post on 07-Apr-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Mobile Billing 1

8/6/2019 Mobile Billing 1

http://slidepdf.com/reader/full/mobile-billing-1 1/76

Synopsis

1

Page 2: Mobile Billing 1

8/6/2019 Mobile Billing 1

http://slidepdf.com/reader/full/mobile-billing-1 2/76

Title of the Project: Mobile Banking.

Problem Definition:Mobile Banking refers to provision of banking- and

financial services with the help of mobile telecommunication devices. The scope of offered services may include facilities to conduct bank transactions, to administer 

accounts and to access customized information.

Why this Topic is chosen:Mobile devices, especially smart phones, are the most

 promising way to reach the masses and to create “stickiness” among current customers,

due to their ability to provide services anytime, anywhere, high rate of penetration and

 potential to grow. Mobile users have just started to fully utilize the data capabilities intheir mobile phones. In Asian countries like India, China, Indonesia and Philippines,

where mobile infrastructure is comparatively better than the fixed-line infrastructure, and

in European countries, where mobile phone penetration is very high (at least 80% of consumers use a mobile phone), mobile banking is likely to appeal even more.

 

Concepts:  Java Technology (J2ME and J2EE)

Objective:

• Customer Service provision so as to make it easier for him to check his

 basic account information.

• Anytime, anywhere facility to access his bank account information.

Scope:

Mobile Web applications enable users on the move to access date on their handheld devices. The various applications built in the project are as follows: Check Balance,

Check status, Fund transfer, Loan status, Locker status and Deposit Details.

Due to it’s Anytime, Anywhere, And Anyplace offerings customers will be able

to access their bank accounts when and wherever they want thus saving their time and

money. They would not be required to travel to the location of their account and carry outtransaction there instead all the banking transactions will be carried out on the mobile

handset itself. This facility is now limited to a particular branch or a particular bank but

in future it can be used to implement banking transactions over accounts belonging to

different banks. The project will be a global success if all the security issues are properly

taken care of and tested for its wide range functionality and implemented accordingly.

Functions:

• Take user information through a jar file loaded on his cell phone.

• Activated General Packet Radio Service (GPRS) connection will allow theuser to send request to the Web server.

2

Page 3: Mobile Billing 1

8/6/2019 Mobile Billing 1

http://slidepdf.com/reader/full/mobile-billing-1 3/76

• Web Server responses by processing the servlet which retrieves

information from the database for the user .

Constraints:

• The user should have a cellphone which connects to the internet.

• The user should have java enabled cellphone.

Methodology:

From the User End:

• The user is provided with a jar file. On opening the jar file, he has to login

to his account with his corresponding password.

• The GPRS being activated will allow the user verification.

• The user queries for various bank details through this jar file.

• He is responded with corresponding replies.

From the Service Providers End:

• The user requests for logging in. After verification he is allowed, else not

allowed to access.

• The user requests for other data. Server process the request by processing

the servlet which gets the corresponding information.

• This response is then sent to the user . 

Hardware Requirements:

• Pentium 3- 800 MHZ• 256 MB RAM

• GPRS enabled mobile phones

Software Requirements:

• Tomcat server 

• Java Wireless toolkit

• Windows Operating System

• Ms-Access

The contribution of the project:  Can be enhanced more with security features and implemented at real-time for 

various Banks and finance services.

3

Page 4: Mobile Billing 1

8/6/2019 Mobile Billing 1

http://slidepdf.com/reader/full/mobile-billing-1 4/76

 

Literature

Survey

4

Page 5: Mobile Billing 1

8/6/2019 Mobile Billing 1

http://slidepdf.com/reader/full/mobile-billing-1 5/76

Basic concept and its origin:

Banking:

A banker or bank is a financial institution that acts as a payment agent for 

customers, and borrows and lends money. Banks act as payment agents by conducting

checking or current accounts for customers, paying Cheque drawn by customers on the

 bank, and collecting Cheque deposited to customers' current accounts. Banks also enablecustomer payments via other payment methods such as telegraphic transfer and ATM.

Banks borrow money by accepting funds deposited on current account, accepting term

deposits and by issuing debt securities such as banknotes and bonds. Banks lend money

 by making advances to customers on current account, by making installment loans, and by investing in marketable debt securities and other forms of lending.

Banks provide almost all payment services, and a bank account is considered

indispensable by most businesses, individuals and governments.

Banks offer many different channels to access their banking and other services:

• A branch, banking centre or financial centre is a retail location where a bank or financial institution offers a wide array of face to face service to its customers

• ATM is a computerized telecommunications device that provides a financial

institution's customers a method of financial transactions in a public space withoutthe need for a human clerk or bank teller. Most banks now have more ATMs than

 branches, and ATMs are providing a wider range of services to a wider range of 

users. For example in Hong Kong, most ATMs enable anyone to deposit cash toany customer of the bank's account by feeding in the notes and entering the

account number to be credited. Also, most ATMs enable card holders from other 

 banks to get their account balance and withdraw cash, even if the card is issued bya foreign bank.

• Mail is part of the postal system which itself is a system wherein written

documents typically enclosed in envelopes, and also small packages containing

other matter, are delivered to destinations around the world. This can be used todeposit Cheque and to send orders to the bank to pay money to third parties.

Banks also normally use mail to deliver periodic account statements to customers.

5

Page 6: Mobile Billing 1

8/6/2019 Mobile Billing 1

http://slidepdf.com/reader/full/mobile-billing-1 6/76

• Telephone banking is a service provided by a financial institution which allows its

customers to perform transactions over the telephone. This normally includes bill

 payments for bills from major bill payers. (E.g. for electricity).

• Online banking is a term used for performing transactions, payments etc. over the

Internet through a bank, credit union or building society's secure website.

Online Banking:

Online banking (or Internet banking) allows customers to conduct financial

transactions on a secure website operated by their retail or virtual bank, credit union or 

 building society. Online banking solutions have many features and capabilities incommon, but traditionally also have some that are application specific.

The common features fall broadly into several categories

• Transactional (e.g., performing a financial transaction such as an account to

account transfer, paying a bill, wire transfer... and applications... apply for a loan,new account, etc.)

o Electronic bill presentment and payment - EBPP

o Funds transfer between a customer's own checking and savings accounts,

or to another customer's account

o Investment purchase or sale

o Loan applications and transactions, such as repayments

•  Non-transactional (e.g., online statements, check links, co browsing, chat)o Bank statements

• Financial Institution Administration - features allowing the financial institution to

manage the online experience of their end users

• ASP/Hosting Administration - features allowing the hosting company to

administer the solution across financial institutions

Features commonly unique to business banking include

• Support of multiple users having varying levels of authority

• Transaction approval process• Wire transfer 

Features commonly unique to Internet banking include

• Personal financial management support, such as importing data into a personal

finance program such as Quicken, Microsoft Money or TurboTax. Some online banking platforms support account aggregation to allow the customers to monitor 

6

Page 7: Mobile Billing 1

8/6/2019 Mobile Billing 1

http://slidepdf.com/reader/full/mobile-billing-1 7/76

all of their accounts in one place whether they are with their main bank or with

other institutions...

Mobile Web:

The Mobile Web refers to the World Wide Web as accessed from mobile devices

such as cell phones, PDAs, and other portable gadgets connected to a public network.Access does not require a desktop computer.

However, Mobile Web access today still suffers from interoperability and usability

 problems. This is partly due to the small physical size of the screens of mobile devices

and partly due to the incompatibility of many mobile devices with not only computer operating systems, but also the format of much of the information available on the

Internet.

New tools such as Macromedia's Flash Lite or Sun's J2ME enable the production of 

user interfaces customized for mobile devices.

GPRS:

GPRS can be used for services such as Wireless Application Protocol (WAP)access, Short Message Service (SMS), Multimedia Messaging Service (MMS), and for 

Internet communication services such as email and World Wide Web access.

WAP is just a gateway used to access Internet via mobile phone and vice-versa.

Theoretical Analysis:

The advent of the Internet has revolutionized the way the financial

services industry conducts business, empowering organizations with new businessmodels and new ways to offer 24x7 accessibility to their customers.

The ability to offer financial transactions online has also created new players in the

financial services industry, such as online banks, online brokers and wealth managers

who offer personalized services, although such players still account for a tiny percentageof the industry.

7

Page 8: Mobile Billing 1

8/6/2019 Mobile Billing 1

http://slidepdf.com/reader/full/mobile-billing-1 8/76

Over the last few years, the mobile and wireless market has been one of the fastest

growing markets in the world and it is still growing at a rapid pace. According to the

GSM Association and Ovum, the number of mobile subscribers exceeded 2 billion inSeptember 2005, and now exceeds 2.5 billion (of which more than 2 billion are GSM).

According to a study by financial consultancy Celent, 35% of online banking householdswill be using mobile banking by 2010, up from less than 1% today. Upwards of 70% of 

 bank center call volume is projected to come from mobile phones. Mobile banking willeventually allow users to make payments at the physical point of sale. "Mobile contact

less payments” will make up 10% of the contact less market by 2010.

Many believe that mobile users have just started to fully utilize the data capabilities in

their mobile phones. In Asian countries like India, China, Indonesia and Philippines,where mobile infrastructure is comparatively better than the fixed-line infrastructure, and

in European countries, where mobile phone penetration is very high (at least 80% of 

consumers use a mobile phone), mobile banking is likely to appeal even more.

This opens up huge markets for financial institutions interested in offering value added

services. With mobile technology, banks can offer a wide range of services to their 

customers such as doing funds transfer while traveling, receiving online updates of stock 

 price or even performing stock trading while being stuck in traffic. According to theGerman mobile operator Mobilcom, mobile banking will be the "killer application" for 

the next generation of mobile technology.

Mobile devices, especially smartphones, are the most promising way to reach the masses

and to create “stickiness” among current customers, due to their ability to provideservices anytime, anywhere, high rate of penetration and potential to grow. According to

Gartner, shipment of smartphones is growing fast, and should top 20 million units (of over 800 million sold) in 2006 alone.

In the last 4 years, banks across the globe have invested billions of dollars to build

sophisticated internet banking capabilities. As the trend is shifting to mobile banking,

there is a challenge for CIO’s and CTO’s of these banks to decide on how to leverage

their investment in internet banking and offer mobile banking, in the shortest possibletime.

The proliferation of the 3G (third generation of wireless) and widespread implementation

expected for 2003-2007 will generate the development of more sophisticated services

such as multimedia and links to m-commerce services.

Identification of the project from the study:

Mobile Banking is a concept that was developed thinking about the fact that

8

Page 9: Mobile Billing 1

8/6/2019 Mobile Billing 1

http://slidepdf.com/reader/full/mobile-billing-1 9/76

Mobile handsets are a common commodity today and are found to be affordable to the

common man. I realized that how easy it would be to carry out banking transactions if 

they were carried out from the mobile handset itself.I started the research 2 months prior to going along with the project which

involved getting acquainted with the variety of banking operations and also the working

of web and wireless operations.For my research work, I consulted various banking officials and found out what

are the various banking operations that could be implemented using the mobile handset.

I tried to find out about the practicality of the project by studying the implementations of the web and wireless applications. I did my research regarding which all sectors of 

 banking could be implemented using our project. Also the research involved learning

about various software’s available that could be used to implement my project and I

studied the operation of the various mobile emulators for the same.The idea that mobile phones bring economic benefits is now widely accepted. In

 places with bad roads, few trains and parlous land lines, they substitute for travel, allow

 price data to be distributed more quickly and easily, enable traders to reach wider markets

and generally ease the business of doing business.With mobile banking, the customer may be sitting in any part of the world (a true

anytime, anywhere banking) and hence banks need to ensure that the systems are up andrunning in a true 24 x 7 fashion.

Mobile banking will be attractive mainly to the younger, more "tech-savvy"

customer segment. A third of mobile phone users say that they may consider performing

some kind of financial transaction through their mobile phone. Most of the users areinterested in performing basic transactions such as querying for account balance and

making bill payment.

9

Page 10: Mobile Billing 1

8/6/2019 Mobile Billing 1

http://slidepdf.com/reader/full/mobile-billing-1 10/76

Design andImplementa

tion

10

Page 11: Mobile Billing 1

8/6/2019 Mobile Billing 1

http://slidepdf.com/reader/full/mobile-billing-1 11/76

Functional Design:

System Flow Chart Diagram:

User

(Mobile

device)

ServletServlet

Engine

Bank 

Database

Tomcat

Server

GPRS

ServiceProvider

Database

11

Page 12: Mobile Billing 1

8/6/2019 Mobile Billing 1

http://slidepdf.com/reader/full/mobile-billing-1 12/76

Data Flow Diagrams (DFD):

User Request

through Mobile

Phone

Mobile

Banking

&Billing

User Access through

Mobile

User Request

Access

Fig 01: Level 1.0 DFD

12

Page 13: Mobile Billing 1

8/6/2019 Mobile Billing 1

http://slidepdf.com/reader/full/mobile-billing-1 13/76

User Request

through Mobile

Phone

Locker Status

User Access theapplication

through MobilePhone

Check Records

Fig 02: Level 1.1 DFDBank DataBase

User Request Gets Status

User Request

through MobilePhone

DepositStatus

User Access the

application

through MobilePhone

Check Records

Fig 03: Level 1.2 DFD Bank DataBase

User Request Gets Status

13

Page 14: Mobile Billing 1

8/6/2019 Mobile Billing 1

http://slidepdf.com/reader/full/mobile-billing-1 14/76

User Requestthrough Mobile

Phone

Loan

Status

User Access the

applicationthrough Mobile

Phone

Check Records

Fig 04 : Level 1.3 DFD Bank DataBase

User Request Gets Status

User Request

through Mobile

Phone

Cheque

Status

User Access theapplication

through Mobile

Phone

Check Records

Fig 05 : Level 1.4 DFD Bank DataBase

User Request Gets Status

User Requestthrough Mobile

Phone

Login

User Access theapplicationthrough Mobile

Phone

Check Records

Fig 06 : Level 1.5 DFD

Bank DataBase

User RequestGets Status

Locker 

Status

14

Page 15: Mobile Billing 1

8/6/2019 Mobile Billing 1

http://slidepdf.com/reader/full/mobile-billing-1 15/76

User Request

through MobilePhone

Login

User Access the

application

through MobilePhone

Check Records

Fig 07 : Level 1.6 DFDBank DataBase

User RequestGets Status

Deposit

Status

User Requestthrough Mobile

Phone

Login

User Access the

application

through MobilePhone

Check Records

Fig 08 : Level 1.7 DFD Bank DataBase

User RequestGets Status

LoanStatus

15

Page 16: Mobile Billing 1

8/6/2019 Mobile Billing 1

http://slidepdf.com/reader/full/mobile-billing-1 16/76

Data Dictionary:Table :01 Customer 

 Name Data type length constraints

Customer name Text 20 Not null

Phone no Number 10 Not null

Mobile _no Text 10 Not null

Address Text 30 Not null

Gender Text 01 Either ‘m’or ‘f’

Account _type Text 10 Not null

Customer _id Text 10 Not null

User Request

through MobilePhone

Login

User Access theapplication

through Mobile

Phone

Check Records

Bank DataBase

User RequestGets Status

Bill

PaymentStatus

Service ProviderDataBase

16

Page 17: Mobile Billing 1

8/6/2019 Mobile Billing 1

http://slidepdf.com/reader/full/mobile-billing-1 17/76

Account _no Text 05 Not null

Balance Number 10 Min-500

Credit Number 10 Not null

Debit Number 10 Not null

Table: 02 Cheque_status

Account_no text 05 Not null

Cheque_no Number 20 Not null

Amount Number 10 Not null

Deposit_date Date - -

Status text 10 Not null

Table:03 Loan Status

Account_no Text 05 Not null

Loan_id Text 10 Not null

Customer Text 10 Not null

Ramt Number 10 Not null

Iamt Number 10 Not null

Total_amt Number 10 Not null

Due_amt Number 10 Not null

Table:04 Locker_status

17

Page 18: Mobile Billing 1

8/6/2019 Mobile Billing 1

http://slidepdf.com/reader/full/mobile-billing-1 18/76

Account_no Text 05 Not null

Lock_id Text 05 Not null

Ramt Number 05 Not nul

Table :05:DepStat

Account_no Text 05 Not null

Dept_no text 05 Not null

I_date Date - Not null

M_date Date - Not null

Deposit_amt Number 10 Not null

Mat_amt Number 10 Not null

Rate of interest Number 10 Not null

Period Number 2 Not null

Table:06 Login

Login_name Text 10 Not null

Customer_id Text 05 Not null

 password Text 10 Not null

Acc_no Text 05 Not null

18

Page 19: Mobile Billing 1

8/6/2019 Mobile Billing 1

http://slidepdf.com/reader/full/mobile-billing-1 19/76

ER DIAGRAM:

19

Page 20: Mobile Billing 1

8/6/2019 Mobile Billing 1

http://slidepdf.com/reader/full/mobile-billing-1 20/76

Relational Tables:

CUSTOMER 

 NamePhno

MobileGender 

Acc_typ

e

Cust_id

Acc_n

oCredit

Debit

Balanc

e

Addr 

Transfer 

D  o  e  s  

Acc_No

To_Accntamt

Servivce BillAcc_N

o

Bill amt

Due_Date

date

C   h  e  c  k  s  

Fig10: ER Diagram

M   a  k  e  s   

P  a   y  m  e  n  t  

Provider Acc

Acc_No

Cust_NoBill amt

20

Page 21: Mobile Billing 1

8/6/2019 Mobile Billing 1

http://slidepdf.com/reader/full/mobile-billing-1 21/76

Customer:

Cheque Status (ChqStat):

Loan Status (LoanStat):

Locker Status (Locker):

21

Page 22: Mobile Billing 1

8/6/2019 Mobile Billing 1

http://slidepdf.com/reader/full/mobile-billing-1 22/76

Deposit Status (DepStat):

Login:

Hippo Chart:

22

Page 23: Mobile Billing 1

8/6/2019 Mobile Billing 1

http://slidepdf.com/reader/full/mobile-billing-1 23/76

Basic Algorithms/Procedures/Methods/Logic:

  J2ME

Login

Welcome to Mobile Banking

Check 

Balance

Check 

Cheque

Status

Check 

Loan Due

Check 

Deposit

Status

Perform

Fund

Transfer 

Check 

Locker 

Status

Acc

 Number 

Cheque

 Number Loan Id

Deposit Number 

From and

to acc no

Locker  Number 

Display

Balance

Display

Status

Display

Loan Due

DisplayDeposit

Status

DisplayLocker 

Status

23

Page 24: Mobile Billing 1

8/6/2019 Mobile Billing 1

http://slidepdf.com/reader/full/mobile-billing-1 24/76

The project is an integration of Web (J2EE) and Mobile (J2ME) technology.

Hence the basic logic is to find a solution which would provide customer the basic

services from bank using these two technologies together.

J2ME:

Java Platform, Micro Edition (Java ME) provides a robust, flexible environmentfor applications running on mobile and other embedded devices—mobile phones,

 personal digital assistants (PDAs), TV set-top boxes, and printers. Java ME includes

flexible user interfaces, robust security, built-in network protocols, and support for networked and offline applications that can be downloaded dynamically. Applications

 based on Java ME are portable across many devices, yet leverage each device's native

capabilities.

J2EE:

Java EE is defined by its specification. As with other Java Community Process

specifications, Java EE is also considered informally to be a standard since providers

must agree to certain conformance requirements in order to declare their products as Java EE compliant ; albeit with no ISO or ECMA standard.

Java EE also features some specifications unique to Java EE for components.These include Enterprise JavaBeans, servlets, portlets (following the Java Portlet

specification), JavaServer Pages and several web service technologies. This allows

developers to create enterprise applications that are portable and scalable, and that

integrate with legacy technologies. A Java EE "application server" can handle thetransactions, security, scalability, concurrency and management of the components that

are deployed to it, meaning that the developers can concentrate more on the business

logic of the components rather than on infrastructure and integration tasks.

 

Description of Algorithms/Procedures/Methods/Logic:

24

Page 25: Mobile Billing 1

8/6/2019 Mobile Billing 1

http://slidepdf.com/reader/full/mobile-billing-1 25/76

Java ME has become a popular option for creating applications and games for cell

 phones, as they can be emulated on a PC during the development stage and easilyuploaded to phones. This contrasts with the difficulty of developing, testing, and loading

applications and gaming for other special gaming platforms such as those made by

 Nintendo, Sony, Microsoft, and others, as expensive system-specific hardware and kitsare required.

Java ME devices implement a profile. The most common of these are the Mobile

Information Device Profile aimed at mobile devices, such as cell phones, and thePersonal Profile aimed at consumer products and embedded devices like Set-top boxes

and PDAs.Profiles are subsets of configurations, of which there are currently two: the

Connected Limited Device Configuration and the Connected Device Configuration.

CLDC:

The Connected Limited Device Configuration (CLDC) defines the base set of 

application programming interfaces and a virtual machine for resource-constrained

devices like mobile phones, pagers, and mainstream personal digital assistants. Whencoupled with a profile such as the Mobile Information Device Profile (MIDP), it provides

a solid Java platform for developing applications to run on devices with limited memory, processing power, and graphical capabilities.

J2ME API’s used:

•  java.io :

A streamlined version of the java.io package found in the standard edition for doing Input/Output operations.

•  javax.microedition.midlet

The MIDlet package defines Mobile Information Device Profile applications and

the interactions between the application and the environment in which the

application runs. An application of the Mobile Information Device Profile is aMIDlet.

The following definitions are used in the MIDlet lifecycle:

o Application management software - a part of the device's software

operating environment that manages MIDlets. It directs the MIDlet

through state changes.

o MIDlet - a MIDP application on the device. The MIDlet can signal theapplication management software about whether is it wants to run or hascompleted. A MIDlet has no knowledge of other MIDlets through the

MIDlet API.

o MIDlet States - the states a MIDlet can have are defined by the transitions

allowable through the MIDlet interface. More specific application states

are known only to the application.

25

Page 26: Mobile Billing 1

8/6/2019 Mobile Billing 1

http://slidepdf.com/reader/full/mobile-billing-1 26/76

•  javax.microedition.lcdui

The UI API provides a set of features for implementation of user interfaces for 

MIDP applications.

Java Platform, Enterprise Edition (Java EE) builds on the solid foundation of Java

Platform, Standard Edition (Java SE) and is the industry standard for implementing

enterprise-class service-oriented architecture (SOA) and next-generation webapplications.

26

Page 27: Mobile Billing 1

8/6/2019 Mobile Billing 1

http://slidepdf.com/reader/full/mobile-billing-1 27/76

Java Platform, Enterprise Edition (Java EE) is a set of coordinated technologies

that significantly reduces the cost and complexity of developing, deploying, and

managing multitier, server-centric applications. Building on the Java Platform, StandardEdition (Java SE), Java EE adds the capabilities that provide a complete, stable, secure,

and fast Java platform for the enterprise.

J2EE API’s used:

•  javax.servlet :

The javax.servlet package contains a number of classes and interfaces thatdescribe and define the contracts between a servlet class and the runtime environment

 provided for an instance of such a class by a conforming servlet container.

The Servlet API, contained in the Java package hierarchy javax.servlet,

defines the expected interactions of a Web container and a servlet. A Web container 

is essentially the component of a Web server that interacts with the servlets. The Web

container is responsible for managing the lifecycle of servlets, mapping a URL to a particular servlet and ensuring that the URL requester has the correct access rights.

A Servlet is an object that receives a request and generates a response based on

that request. The basic servlet package defines Java objects to represent servletrequests and responses, as well as objects to reflect the servlets configuration

 parameters and execution environment.

Lifecycle of a Servlet

The Servlet lifecycle consists of the following steps:

1. The Servlet class is loaded by the container during start-up.

2. The container calls the init() method. This method initializes the servlet andmust be called before the servlet can service any requests. In the entire life of a

servlet, the init() method is called only once.

3. After initialization, the servlet can service client-requests. Each request is serviced

in its own separate thread. The container calls the service() method of the

servlet for every request. The service() method determines the kind of request

 being made and dispatches it to an appropriate method to handle the request. The

developer of the servlet must provide an implementation for these methods. If a

request for a method that is not implemented by the servlet is made, the method of the parent class is called, typically resulting in an error being returned to the

requester.

4. Finally, the container calls the destroy() method which takes the servlet out of service. The destroy()method like init() is called only once in the lifecycle of 

a Servlet.

•  java.sql:

27

Page 28: Mobile Billing 1

8/6/2019 Mobile Billing 1

http://slidepdf.com/reader/full/mobile-billing-1 28/76

Provides the API for accessing and processing data stored in a data source

(usually a relational database) using the Java TM programming language. This API

includes a framework whereby different drivers can be installed dynamically toaccess different data sources. Although the JDBCTM API is mainly geared to

 passing SQL statements to a database, it provides for reading and writing data

from any data source with a tabular format. The reader/writer facility, availablethrough the javax.sql.RowSet group of interfaces, can be customized to use and

update data from a spread sheet, flat file, or any other tabular data source.

•  java.io

Provides for system input and output through data streams, serializationand the file system. Unless otherwise noted, passing a null argument to a

constructor or method in any class or interface in this package will cause a NullPointerException to be thrown.

•  java.util

Provides for system input and output through data streams, serialization

and the file system. Unless otherwise noted, passing a null argument to a

constructor or method in any class or interface in this package will cause a NullPointerException to be thrown.

28

Page 29: Mobile Billing 1

8/6/2019 Mobile Billing 1

http://slidepdf.com/reader/full/mobile-billing-1 29/76

User Manual

29

Page 30: Mobile Billing 1

8/6/2019 Mobile Billing 1

http://slidepdf.com/reader/full/mobile-billing-1 30/76

About software:The user would be provided with an executable jar file which

would help him connect the web server to get the required service.

How to use the software:

In Simulation Model:

Service Provider End:

a. Start the Tomcat Server.

User End:

a. Open the Java wireless toolkit.b. Select MBS as the project.

c. Build and Run it.d. Login with the correct username and password.e. Select the service required and get the reply from

the provider.

In Real-Life Model:

Service Provider End:

a. Let the class files of the servlets be put up in theapplication folder of the web server which supports

processing of j2ee.

b. Start the web server on the host.

User End:

a. Run the jar file on a mobile phone which supports java.

b. Log in with a correct username and password toaccess the services provided.

c. After logging in, select the required service.

30

Page 31: Mobile Billing 1

8/6/2019 Mobile Billing 1

http://slidepdf.com/reader/full/mobile-billing-1 31/76

Importance of the project:The idea that mobile phones bring economic benefits is now widely accepted. In

 places with bad roads, few trains and parlous land lines, they substitute for travel, allow price data to be distributed more quickly and easily, enable traders to reach wider markets

and generally ease the business of doing business.

With mobile banking, the customer may be sitting in any part of the world (a trueanytime, anywhere banking) and hence banks need to ensure that the systems are up and

running in a true 24 x 7 fashion.

31

Page 32: Mobile Billing 1

8/6/2019 Mobile Billing 1

http://slidepdf.com/reader/full/mobile-billing-1 32/76

FurtherEnhancemen

t

32

Page 33: Mobile Billing 1

8/6/2019 Mobile Billing 1

http://slidepdf.com/reader/full/mobile-billing-1 33/76

M-banking schemes can be combined with microfinance loans, extending access to credit

and enabling users to establish a credit history

Mobile banking can offer services such as the following:

Account Information

Mini-statements and checking of account history

Alerts on account activity or passing of set thresholds

Monitoring of term deposits

Access to loan statements

Access to card statements

Mutual funds / equity statements

Insurance policy management

Pension plan management

Status on cheque, stop payment on cheque

Payments & Transfers

Domestic and international fund transfers

Mobile recharging

Bill payment processing

Peer to Peer payments

Investments

Portfolio management services

Real-time stock quotes

33

Page 34: Mobile Billing 1

8/6/2019 Mobile Billing 1

http://slidepdf.com/reader/full/mobile-billing-1 34/76

Personalized alerts and notifications on security prices

Support

Status of requests for credit, including mortgage approval, and insurance coverage

Check (cheque) book and card requests

Exchange of data messages and email, including complaint submission and tracking

ATM Location

Content Services

General information such as weather updates, news

Loyalty-related offers

Location-based services

34

Page 35: Mobile Billing 1

8/6/2019 Mobile Billing 1

http://slidepdf.com/reader/full/mobile-billing-1 35/76

Appendix

Source Code:

MBS.java:

import javax.microedition.lcdui.*;

import javax.microedition.midlet.*;

 public class MBS extends MIDlet

{String sn=null;

MLogin mlogin;

CheckBal chkbal;CheqStat chqstat;

DepDet depdet;

FundTran fundtran;LoanStat loanstat;

LockStat lockstat;

MainMenu mm;

 public MBS()

35

Page 36: Mobile Billing 1

8/6/2019 Mobile Billing 1

http://slidepdf.com/reader/full/mobile-billing-1 36/76

{

mlogin = new MLogin(this);

chkbal = new CheckBal(this);chqstat = new CheqStat(this);

depdet = new DepDet(this);

fundtran = new FundTran(this);loanstat = new LoanStat(this);

lockstat = new LockStat(this);

mm=new MainMenu(this);}

 public void mlogin()

{

Display.getDisplay(this).setCurrent(mlogin);}

 public void chkbal()

{

Display.getDisplay(this).setCurrent(chkbal);}

 public void chqstat(){

Display.getDisplay(this).setCurrent(chqstat);

}

 public void depdet(){

Display.getDisplay(this).setCurrent(depdet);

}

 public void fundtran(){

Display.getDisplay(this).setCurrent(fundtran);

} public void loanstat()

{

Display.getDisplay(this).setCurrent(loanstat);

} public void lockstat()

{

Display.getDisplay(this).setCurrent(lockstat);}

 public void mm()

{ mm.setTitle("Welcome "+sn);Display.getDisplay(this).setCurrent(mm);

}

 public void startApp()

36

Page 37: Mobile Billing 1

8/6/2019 Mobile Billing 1

http://slidepdf.com/reader/full/mobile-billing-1 37/76

{

Display.getDisplay(this).setCurrent(mlogin);

} public void pauseApp()

{

} public void destroyApp(boolean b)

{

} public void quit()

{

destroyApp(false);

notifyDestroyed();}

 public String callServlet(String servname,String param,String disp)

{

String response="Error";ConnectWait cw=new ConnectWait(this,disp);

response=cw.callServlet(servname,param);return response;

}

};

MainMenu.java:import javax.microedition.midlet.*;import javax.microedition.lcdui.*;

 public class MainMenu extends List implements CommandListener {

 private final MBS mbs;

 private final Command logout;

 public MainMenu(MBS mbs){

super(" Welcome to Mobile Banking ", List.IMPLICIT);

this.mbs=mbs;

logout = new Command("Logout", Command.EXIT, 1);

addCommand(logout);

37

Page 38: Mobile Billing 1

8/6/2019 Mobile Billing 1

http://slidepdf.com/reader/full/mobile-billing-1 38/76

append("Check Balance",null);

append("Check Cheque Status",null);

append("Check Deposit Status",null);append("Perform Fund Transfer",null);

append("Check Loan Due",null);

append("Check Locker Status",null);setCommandListener(this);

}

 public void commandAction(Command cmd, Displayable d)

{

if(cmd == List.SELECT_COMMAND)

{if(getString(getSelectedIndex()).equals("Check 

Balance"))mbs.chkbal();

if(getString(getSelectedIndex()).equals("Check Cheque Status"))

mbs.chqstat(); if(getString(getSelectedIndex()).equals("Check Deposit

Status"))mbs.depdet();if(getString(getSelectedIndex()).equals("Perform Fund

Transfer"))mbs.fundtran() ;

if(getString(getSelectedIndex()).equals("Check Loan

Due"))mbs.loanstat();if(getString(getSelectedIndex()).equals("Check Locker 

Status"))mbs.lockstat();

}else if(cmd == logout)

{Display.getDisplay(mbs).setCurrent(mbs.mlogin);

mbs.mlogin.tfuser.setString("");

mbs.mlogin.tfpwd.setString("");}

}

}

Mlogin.java:

import javax.microedition.lcdui.*;

import javax.microedition.io.*;import java.io.*;

 public class MLogin extends Form implements CommandListener {

 private final MBS mbs;

38

Page 39: Mobile Billing 1

8/6/2019 Mobile Billing 1

http://slidepdf.com/reader/full/mobile-billing-1 39/76

 private Command login,exit;

TextField tfuser,tfpwd;

 private String response,sn,sp; private StringItem si;

public MLogin(MBS mbs){

super("Login form");this.mbs=mbs;

tfuser = new TextField("Username",null,10,TextField.ANY);

tfpwd = new TextField("Password",null,10,TextField.PASSWORD);si=new StringItem(null,"Logging in......... ");

login = new Command("Login",Command.SCREEN,1);

exit = new Command("Exit",Command.EXIT,2);

append(si);append(tfuser);

append(tfpwd);

addCommand(login);

addCommand(exit);

setCommandListener(this);

}

 public void commandAction(Command comm, Displayable d1){

if(comm==exit)

{mbs.quit();

}

if (comm == login)

{sn = tfuser.getString();

sp = tfpwd.getString();

if(sn.equals("") && sp.equals(""))

{

Display.getDisplay(mbs).setCurrent(newAlert("Error", "You have not entered Loginname and Password", null,

AlertType.ERROR));

}

else if(sn.equals(""))

39

Page 40: Mobile Billing 1

8/6/2019 Mobile Billing 1

http://slidepdf.com/reader/full/mobile-billing-1 40/76

{

Display.getDisplay(mbs).setCurrent(new

Alert("Error", "You have not entered Loginname", null, AlertType.ERROR));}

else if(sp.equals(""))

{ Display.getDisplay(mbs).setCurrent(new

Alert("Error", "You have not entered Password", null, AlertType.ERROR));

}else

{

String sname="MLogin";

Stringsparam="LoginName="+sn+"&Password="+sp;

String

res=mbs.callServlet(sname,sparam,"Logging in....");

char d=res.charAt(0);

if(!res.equals("Error")){

if(d=='W')

{

mbs.sn=tfuser.getString();mbs.mm();

}

else{

tfpwd.setString("");

Display.getDisplay(mbs).setCurrent(new Alert("Error", "Invalid Loginname

and/or Password", null, AlertType.ERROR));

}}

//return response;

}

}}//command action closing

}

LockStat.java:

import javax.microedition.lcdui.*;import javax.microedition.io.*;

import java.io.*;

40

Page 41: Mobile Billing 1

8/6/2019 Mobile Billing 1

http://slidepdf.com/reader/full/mobile-billing-1 41/76

 public class LockStat extends Form implements CommandListener 

{ private MBS mbs;

 private TextField tflockno;

 private Command getlkstat,back; private String response,lc;

 private Form disp;

 private StringItem dsi;

 public LockStat(MBS mbs)

{super(" Locker Status");

this.mbs=mbs;

tflockno = new TextField("Enter Locker Number",null,7,TextField.ANY);getlkstat = new Command("Get Locker Status",Command.SCREEN,1);

 back = new Command("Back",Command.EXIT,1);

append(tflockno);

addCommand(getlkstat);

addCommand(back);

setCommandListener(this);

disp=new Form("Locker Info");

dsi=new StringItem("","");

disp.append(dsi);disp.addCommand(back);

disp.setCommandListener(this);

}

 public void commandAction(Command comm, Displayable d1)

{if (comm == getlkstat)

{

lc = tflockno.getString();if(lc.equals(""))

{

Display.getDisplay(mbs).setCurrent(new Alert("Error","You have not entered Locker Number", null, AlertType.ERROR));

}

else if(lc.length()<5)

{

41

Page 42: Mobile Billing 1

8/6/2019 Mobile Billing 1

http://slidepdf.com/reader/full/mobile-billing-1 42/76

Display.getDisplay(mbs).setCurrent(new Alert("Error",

"Please Enter a 5 digit Number", null, AlertType.ERROR));

}else if(lc.length()>5)

{

Display.getDisplay(mbs).setCurrent(new Alert("Error","The Locker Number Should be 5 digits only ", null, AlertType.ERROR));

}

else{

String sname="MLockStat";

String sparam="lockid="+lc;

String res=mbs.callServlet(sname,sparam,"Locker Status....");

dsi.setText(res);

Display.getDisplay(mbs).setCurrent(disp);}

}

if (comm == back)

{

Display.getDisplay(mbs).setCurrent(mbs.mm);tflockno.setString("");

}

}

}

LoanStat.java:import javax.microedition.lcdui.*;

import javax.microedition.io.*;import java.io.*;

 public class LoanStat extends Form implements CommandListener {

 private MBS mbs;

 private TextField tfloanno;

 private Command getlnstat,back; private String response,ln;

 private Form disp;

 private StringItem dsi;

 public LoanStat(MBS mbs)

{super(" Loan Status");

42

Page 43: Mobile Billing 1

8/6/2019 Mobile Billing 1

http://slidepdf.com/reader/full/mobile-billing-1 43/76

this.mbs=mbs;

tfloanno = new TextField("Enter Loan Number",null,7,TextField.ANY);

getlnstat = new Command("Get Loan Status",Command.SCREEN,1);

 back = new Command("Back",Command.EXIT,2);

append(tfloanno);

addCommand(getlnstat);addCommand(back);

setCommandListener(this);

disp=new Form("Loan Info");

dsi=new StringItem("","");

disp.append(dsi);

disp.addCommand(back);disp.setCommandListener(this);

}

 public void commandAction(Command comm, Displayable d1)

{

if (comm == getlnstat){

ln = tfloanno.getString();

if(ln.equals("")){

Display.getDisplay(mbs).setCurrent(new Alert("Error",

"You have not entered Loan Number", null, AlertType.ERROR));}

if (ln.length()>5)

{Display.getDisplay(mbs).setCurrent(new Alert("Error",

"Loan Number is too long ", null, AlertType.ERROR));

}

else if (ln.length()<5){

Display.getDisplay(mbs).setCurrent(new Alert("Error",

"Loan Number is less than 5 Digits ", null, AlertType.ERROR));}

else

{String sname="MLoanStat";

String sparam="loanno="+ln;

String res=mbs.callServlet(sname,sparam,"Loan

Status....");

43

Page 44: Mobile Billing 1

8/6/2019 Mobile Billing 1

http://slidepdf.com/reader/full/mobile-billing-1 44/76

dsi.setText(res);

Display.getDisplay(mbs).setCurrent(disp);

}}

if (comm == back)

{ Display.getDisplay(mbs).setCurrent(mbs.mm);

tfloanno.setString("");

}

}

}

FundTran:

import javax.microedition.lcdui.*;import javax.microedition.io.*;import java.io.*;

 public class FundTran extends Form implements CommandListener {

 private MBS mbs;

 private Command tfrfund,back;

 private TextField tfrtoacc,tframt; private String response,sn,amt;

 private Form disp;

 private StringItem dsi;

 public FundTran(MBS mbs)

{super(" Transfer of Funds");

this.mbs=mbs;

tfrfund = new Command("Transfer Fund",Command.SCREEN,1); back = new Command("Back",Command.EXIT,2);

tfrtoacc = new TextField("Transfer to Account",null,10,TextField.ANY);

tframt = new TextField("Amount to

transfer",null,10,TextField.NUMERIC);

append(tfrtoacc);

append(tframt);addCommand(tfrfund);

addCommand(back);

setCommandListener(this);

disp=new Form("Transfer Info");

44

Page 45: Mobile Billing 1

8/6/2019 Mobile Billing 1

http://slidepdf.com/reader/full/mobile-billing-1 45/76

dsi=new StringItem("","");

disp.append(dsi);

disp.addCommand(back);disp.setCommandListener(this);

}

 public void commandAction(Command comm, Displayable d1)

{if (comm == tfrfund)

{

sn = tfrtoacc.getString();

amt = tframt.getString();if(sn.equals("") && amt.equals(""))

{

Display.getDisplay(mbs).setCurrent(new

Alert("Error", "You have not entered Accountno and Amount", null,AlertType.ERROR));

}else if(sn.equals(""))

{

Display.getDisplay(mbs).setCurrent(new

Alert("Error", "You have not entered Accountno", null, AlertType.ERROR));}

else if(amt.equals(""))

{

Display.getDisplay(mbs).setCurrent(newAlert("Error", "You have not entered Amount", null, AlertType.ERROR));

}

else{

int toamt=Integer.parseInt(amt);

String sname="MFundTran";

Stringsparam="faccn="+sn+"&famt="+toamt;

String

res=mbs.callServlet(sname,sparam,"Fund Transfer Screen");

dsi.setText(res);

Display.getDisplay(mbs).setCurrent(disp);}

}

if (comm == back)

45

Page 46: Mobile Billing 1

8/6/2019 Mobile Billing 1

http://slidepdf.com/reader/full/mobile-billing-1 46/76

{

Display.getDisplay(mbs).setCurrent(mbs.mm);

tfrtoacc.setString("");tframt.setString("");

}

}}

DepDet.java:import javax.microedition.lcdui.*;import javax.microedition.io.*;

import java.io.*;

 public class DepDet extends Form implements CommandListener 

{  private MBS mbs;

 private Command getdepdet,back; private TextField tfdepno;

 private String response,ndep;

 private Form disp; private StringItem dsi;

 public DepDet(MBS mbs){super("Deposit Status");

this.mbs=mbs;

getdepdet = new Command("Get Status",Command.SCREEN,1);

 back = new Command("Back",Command.EXIT,2);

tfdepno = new TextField("Deposit Number ",null,7,TextField.ANY);

append(tfdepno);

addCommand(getdepdet);

addCommand(back);

setCommandListener(this);

disp=new Form("Deposit Info");

dsi=new StringItem("","");

disp.append(dsi);disp.addCommand(back);

46

Page 47: Mobile Billing 1

8/6/2019 Mobile Billing 1

http://slidepdf.com/reader/full/mobile-billing-1 47/76

disp.setCommandListener(this);

}

 public void commandAction(Command comm, Displayable d1)

{

if (comm == getdepdet){

ndep = tfdepno.getString();

if(ndep.equals("")){

Display.getDisplay(mbs).setCurrent(new Alert("Error",

"You have not entered Deposit Number", null, AlertType.ERROR));

}if (ndep.length()<6)

{

Display.getDisplay(mbs).setCurrent(new Alert("Error",

"Please Enter Proper Deposit Number ", null, AlertType.ERROR));

}else if(ndep.length()>6)

{

Display.getDisplay(mbs).setCurrent(new Alert("Error",

"Deposit Number is too Long ", null, AlertType.ERROR));}

else

{String sname="MDepDet";

String sparam="depno="+ndep;

String res=mbs.callServlet(sname,sparam,"DepositDetails....");

dsi.setText(res);Display.getDisplay(mbs).setCurrent(disp);

}

}if (comm == back)

{

Display.getDisplay(mbs).setCurrent(mbs.mm);tfdepno.setString("");

}

}

}

47

Page 48: Mobile Billing 1

8/6/2019 Mobile Billing 1

http://slidepdf.com/reader/full/mobile-billing-1 48/76

ConnectWait.java:

import javax.microedition.midlet.*;

import javax.microedition.lcdui.*;

import java.io.*;

import javax.microedition.io.*;

 public class ConnectWait extends Canvas implements Runnable

{ private final MBS mbs;

 private final String servbase="http://localhost:8080/servlet/";

 private String msg; private String servname,param,response;

ConnectWait(MBS mbs){

this.mbs=mbs;msg = "Please Wait...";

repaint();serviceRepaints();

}

ConnectWait(MBS mbs,String msg)

{

this.mbs=mbs;this.msg = msg;

repaint();

serviceRepaints();}

 public void paint(Graphics g)

{System.out.println("paint");

g.setColor(0xffffff);

g.fillRect(0, 0, getWidth(), getHeight());g.setColor(0xff0000);

g.drawString(msg, getWidth()/2, getHeight()/2, Graphics.TOP|

Graphics.HCENTER);

}

 public String callServlet(String servname,String param)

{response="Error";

this.servname=servname;

this.param=param;

48

Page 49: Mobile Billing 1

8/6/2019 Mobile Billing 1

http://slidepdf.com/reader/full/mobile-billing-1 49/76

Thread t = new Thread(this);

t.start();

try{

t.join();

}catch(InterruptedException e)

{

response="Error";}

if(response.equals("Error"))

Display.getDisplay(mbs).setCurrent(new Alert("Sorry", "Error in

Connection. Try Later", null, AlertType.ERROR));

return response;

}

 public void run()

{HttpConnection http=null;

InputStream is=null;

try

{// Call Servlet

System.out.println(servname+" "+" apeksha 1called");

http=(HttpConnection)Connector.open(servbase+servname+"?"+param);

System.out.println("2");

http.setRequestMethod(HttpConnection.GET);System.out.println("3");

http.setRequestProperty("Content-Type","application/x-www-

form-urlencoded");System.out.println("4");

// Get Response

is=http.openInputStream();System.out.println("5");

ByteArrayOutputStream baos=new ByteArrayOutputStream();

System.out.println("6");int ch;

while((ch=is.read())!=-1)

{ baos.write(ch);

}

String str=new String(baos.toByteArray());

 baos.close();

49

Page 50: Mobile Billing 1

8/6/2019 Mobile Billing 1

http://slidepdf.com/reader/full/mobile-billing-1 50/76

response=str.trim();

}catch(IOException e)

{

response="Error";}

finally

{try { if(http!=null) http.close(); } catch(IOException ignored)

{}

try { if(is!=null) is.close();} catch(IOException ignored) {}

}}

};

CheqStat.java:

import javax.microedition.lcdui.*;

import javax.microedition.midlet.*;import javax.microedition.io.*;

import java.io.*;

 public class CheqStat extends Form implements CommandListener 

{

 private MBS mbs;

 private TextField tfchqstat;

 private Command back,check; private String response,sn;

 private Form disp; private StringItem dsi;

 public CheqStat(MBS mbs)

{

50

Page 51: Mobile Billing 1

8/6/2019 Mobile Billing 1

http://slidepdf.com/reader/full/mobile-billing-1 51/76

super("Cheque Information");

this.mbs=mbs;

tfchqstat = new TextField("Cheque

 Number",null,10,TextField.NUMERIC);

 back = new Command("Back",Command.EXIT,2);check = new Command("Check",Command.SCREEN,1);

append(tfchqstat);addCommand(check);

addCommand(back);

setCommandListener(this);

disp=new Form("Cheque Info");

dsi=new StringItem("","");

disp.append(dsi);disp.addCommand(back);

disp.setCommandListener(this);

}

 public void commandAction(Command comm, Displayable d){

if (comm == check)

{sn = tfchqstat.getString();

if(sn.equals(""))

{Display.getDisplay(mbs).setCurrent(new Alert("Error",

"You have not entered Cheque Number", null, AlertType.ERROR));

}if (sn.length()<6)

{

Display.getDisplay(mbs).setCurrent(new Alert("Error",

"The Cheque Number is less than required", null, AlertType.ERROR));}

else if (sn.length()>6)

{Display.getDisplay(mbs).setCurrent(new Alert("Error",

"The Cheque No. Should not be more than 6 Digits", null, AlertType.ERROR));

}else

{

int sno=Integer.parseInt(sn);

String sname="MCheqStat";

51

Page 52: Mobile Billing 1

8/6/2019 Mobile Billing 1

http://slidepdf.com/reader/full/mobile-billing-1 52/76

Page 53: Mobile Billing 1

8/6/2019 Mobile Billing 1

http://slidepdf.com/reader/full/mobile-billing-1 53/76

disp=new Form("Bal Info");

dsi=new StringItem("","");

disp.append(dsi);disp.addCommand(back);

disp.setCommandListener(this);

}

 public void commandAction(Command comm, Displayable d)

{if (comm == getbal)

{

sn = accno.getString();

if(sn.equals("")){

Display.getDisplay(mbs).setCurrent(new

Alert("Error", "You have not entered Account Number", null, AlertType.ERROR));

accno.setString("");}

else if(sn.length()<5){

Display.getDisplay(mbs).setCurrent(new Alert("Error",

"Please Enter a 5 digit Number", null, AlertType.ERROR));

}else if(sn.length()>5)

{

Display.getDisplay(mbs).setCurrent(new Alert("Error","The Account Number Should be 5 digits only ", null, AlertType.ERROR));

}

else{

String sname="MCheckBal";

String sparam="accno="+sn;String res=mbs.callServlet(sname,sparam,"Balance

Info....");

if (res.charAt(0)=='T')

{dsi.setText(res);

Display.getDisplay(mbs).setCurrent(disp);

}else

{

dsi.setText(res);Display.getDisplay(mbs).setCurrent(disp);

}

}

}

53

Page 54: Mobile Billing 1

8/6/2019 Mobile Billing 1

http://slidepdf.com/reader/full/mobile-billing-1 54/76

if (comm==back)

{

Display.getDisplay(mbs).setCurrent(mbs.mm);accno.setString("");

}

}}

Bank.java

 public class Bank {

 private static String dsn="jdbc:odbc:Bank";

 private static String htmlBase="http://localhost:8080/public_html/"; private static String hbase="http://localhost:8080/";

 private static String servletBase="http://localhost:8080/servlet/";

 public static String getDsn() {return dsn; }

 public static String getHtmlBase() {return htmlBase; }

 public static String gethbase(){return hbase;}

 public static String getServletBase() {return servletBase; }}

MLogin.java:

import java.sql.*;import javax.servlet.*;

import javax.servlet.http.*;

import java.io.*;

 public class MLogin extends HttpServlet

{String l,p;

Connection c;

Statement s;ResultSet rs;PrintWriter out;

 public void doPost(HttpServletRequest req,HttpServletResponse res) throws

ServletException, IOException

{

54

Page 55: Mobile Billing 1

8/6/2019 Mobile Billing 1

http://slidepdf.com/reader/full/mobile-billing-1 55/76

res.setContentType("text/html");

out = res.getWriter();

ServletContext context= getServletContext();l = req.getParameter("LoginName");

 p = req.getParameter("Password");

try{

DriverManager.registerDriver(newsun.jdbc.odbc.JdbcOdbcDriver());

c=DriverManager.getConnection(Bank.getDsn());

s = c.createStatement();

rs=s.executeQuery("select * from Login where LoginName='"+l+"' and Password='"+p+"'");

if(rs.next())

{

out.println("Welcome to Mobile Banking System ,"+l+"");context.setAttribute("Accno",rs.getString("Acc_no"));

}else

{

out.println("Invalid Login/Password.");

}}

catch(Exception e)

{out.println("Error"); }

finally

{try

{

if(c!=null) c.close();}

catch(SQLException igno)

{

}}

}

 public void doGet(HttpServletRequest req,HttpServletResponse res) throws

IOException,ServletException

{doPost(req,res);

}

}

55

Page 56: Mobile Billing 1

8/6/2019 Mobile Billing 1

http://slidepdf.com/reader/full/mobile-billing-1 56/76

MCheckBal.java:

import java.sql.*;

import java.io.*;import javax.servlet.*;

import javax.servlet.http.*;

 public class MCheckBal extends HttpServlet

{String accn,acct;

Connection c;

Statement s;

ResultSet rs;PrintWriter out;

 public void doGet(HttpServletRequest req,HttpServletResponse res) throwsServletException, IOException

{

doPost(req,res);}

 public void doPost(HttpServletRequest req,HttpServletResponse res) throws

ServletException, IOException

{res.setContentType("text/html");

out = res.getWriter();

ServletContext context=getServletContext();accn=req.getParameter("accno");

try

{DriverManager.registerDriver(new

sun.jdbc.odbc.JdbcOdbcDriver());

c=DriverManager.getConnection(Bank.getDsn());s = c.createStatement();

rs=s.executeQuery("select * from Customer where

Acc_no='"+accn+"'");

String sameacc= (String)context.getAttribute("Accno");

if (rs.next() && (sameacc.equals(accn)))

{out.println("The Name of the Account Holder is :

"+rs.getString("Name"));

out.println("Account Type is : "+rs.getString("Acc_type"));out.println("Your Balance is : "+rs.getInt("Balance"));

}

56

Page 57: Mobile Billing 1

8/6/2019 Mobile Billing 1

http://slidepdf.com/reader/full/mobile-billing-1 57/76

else

{

out.println("Invalid Account Number.Please Enter Proper Account Number.");

}

}catch(Exception e)

{

//e.getMessage();System.out.println("ERROR");

}

finally

{try

{

if(c!=null) c.close();

}catch(SQLException igno)

{}

}

}

}

MCheqStat.java:

import java.sql.*;

import javax.servlet.*;import javax.servlet.http.*;

import java.io.*;

import java.util.*; public class MCheqStat extends HttpServlet

{

String acn,ckno,amt,d,sss; java.util.Date dep,ds;

StringTokenizer st;Connection c,con;

Statement s,s1;ResultSet rs,rs1,rs2;

PrintWriter out;

int diff; public void doGet(HttpServletRequest req,HttpServletResponse res) throws

ServletException, IOException

57

Page 58: Mobile Billing 1

8/6/2019 Mobile Billing 1

http://slidepdf.com/reader/full/mobile-billing-1 58/76

{

doPost(req,res);

} public void doPost(HttpServletRequest req,HttpServletResponse res) throws

ServletException, IOException

{ ServletContext context=getServletContext();

res.setContentType("text/html");

out=res.getWriter();ckno=req.getParameter("cno");

ds=new java.util.Date();

try

{DriverManager.registerDriver(new

sun.jdbc.odbc.JdbcOdbcDriver());

c=DriverManager.getConnection(Bank.getDsn());

con=DriverManager.getConnection(Bank.getDsn());s=c.createStatement();

s1=con.createStatement();int cckno=Integer.parseInt(ckno);

rs=s.executeQuery("select * from Chqstatus where

Chqno="+cckno+"");

String sameacc= (String)context.getAttribute("Accno");if (rs.next())

{

acn=rs.getString("Acc_no");

int amtn=rs.getInt("Amt");

String deps=(rs.getDate("Depdate")).toString();

st = new StringTokenizer(deps,"-");

String y=st.nextToken();

String m=st.nextToken();

String da=st.nextToken();

int i1=Integer.parseInt(y);

int i2=Integer.parseInt(m);int i3=Integer.parseInt(da);

dep=new java.util.Date(i1-1900,i2-1,i3);diff=(ds.getDate()-dep.getDate());

if ( (diff<=2) && (i1==ds.getYear()+1900) &&

(i2==ds.getMonth()+1) )

58

Page 59: Mobile Billing 1

8/6/2019 Mobile Billing 1

http://slidepdf.com/reader/full/mobile-billing-1 59/76

{

out.println("Your Cheque dated "+dep+" has been

 presented for Clearance");}

else

if ((diff>=3) && (i2==ds.getMonth()+1) &&(i1==ds.getYear()+1900) )

{

String acnd=rs.getString("Acc_no");rs1=s.executeQuery("select * from

Customer where Acc_no='"+acnd+"'");

rs2=s1.executeQuery("select * from

Chqstatus where Chqno="+cckno+"");if (rs2.next())

{

sss=rs2.getString("Stat");

}(rs1.next() && (!sss.equalsIgnoreCase("Cleared")) )

{out.println("Your 

Cheque dated "+dep+"has been Cleared ");

out.println("The

amount credited to your account is :"+amtn+"");int

cre=rs1.getInt("Credit");

int bal=rs1.getInt("Balance");

int ncre=amtn+cre;

int nbal=amtn+bal;String cs="Cleared";

s.executeUpdate("update Customer set Credit="+ncre+", Balance="+nbal+"where Acc_no='"+acnd+"'");

s1.executeUpdate("update Chqstatus set Stat='"+cs+"' where Chqno="+ckno+"

and Acc_no='"+acnd+"'");}

else

{out.println("You

Cannot perform this action ");

out.println("Your Money is already Credited... "); }

}

else

59

Page 60: Mobile Billing 1

8/6/2019 Mobile Billing 1

http://slidepdf.com/reader/full/mobile-billing-1 60/76

{

out.println(" Check Account Number or Cheque

 Number.. ");}}

else

{ out.println("Invalid Data Entry ");

}

}catch(Exception e)

{

System.out.println(e.getMessage());

// e.printStackTrace();}

finally

{

try{

if(c!=null) c.close();if(con!=null) con.close();

}

catch(SQLException igno)

{}

}

}}

MDepDet.java:

import java.sql.*;

import java.io.*;

import javax.servlet.*;import javax.servlet.http.*;

import java.util.*;

 public class MDepDet extends HttpServlet

{

String acc,dep;

 java.util.Date depd,depmd,ds;StringTokenizer st;

Connection c;

Statement s;ResultSet rs;

PrintWriter out;

 boolean c1;

60

Page 61: Mobile Billing 1

8/6/2019 Mobile Billing 1

http://slidepdf.com/reader/full/mobile-billing-1 61/76

 public void doGet(HttpServletRequest req,HttpServletResponse res) throws

ServletException, IOException

{doPost(req,res);

}

 public void doPost(HttpServletRequest req,HttpServletResponse res) throwsServletException, IOException

{

res.setContentType("text/html");out=res.getWriter();

dep=req.getParameter("depno");

try

{

DriverManager.registerDriver(new

sun.jdbc.odbc.JdbcOdbcDriver());c=DriverManager.getConnection(Bank.getDsn());

s=c.createStatement();

rs=s.executeQuery("select * from Depstat where Deposit_no

='"+dep+"'");

if (rs.next())

{

 java.util.Date depd=rs.getDate("Idate");String id=rs.getString("Deposit_no");

String mats=(rs.getDate("Mdate")).toString();

st=new StringTokenizer(mats,"-");

String y=st.nextToken();String m=st.nextToken();

String da=st.nextToken();

int y1=Integer.parseInt(y);int m1=Integer.parseInt(m);

int da1=Integer.parseInt(da);

depmd=new java.util.Date(y1-1900,m1-1,da1);

ds=new java.util.Date();

c1= depmd.before(ds);

if ((id.equalsIgnoreCase(dep)) &&

(c1==true) )

61

Page 62: Mobile Billing 1

8/6/2019 Mobile Billing 1

http://slidepdf.com/reader/full/mobile-billing-1 62/76

{

out.println("Investment

Dated "+depd+" has matured.");out.println("The Maturity

Amount is :"+rs.getInt("Maturedamt")+" @ "+rs.getInt("RateofInterest") + " for a period

of "+rs.getInt("Period")+" months"); }

else

{out.println("Your Deposit's are yet

to Mature.");

}

}else

{

out.println("Check the Deposit Number");

}

}catch(Exception e)

{

System.out.println(e.getMessage());

}finally

{

try{

if(c!=null) c.close();

}catch(SQLException igno)

{

}}

}

}

MFundTran.java:

import java.sql.*;import javax.servlet.*;

import javax.servlet.http.*;

import java.io.*;

 public class MFundTran extends HttpServlet

62

Page 63: Mobile Billing 1

8/6/2019 Mobile Billing 1

http://slidepdf.com/reader/full/mobile-billing-1 63/76

{

String fac,fam;

Connection c;Statement s;

ResultSet rs,rs1;

PrintWriter out;int ideb,ibal;

 public void doGet(HttpServletRequest req,HttpServletResponse res) throws

ServletException, IOException

{

doPost(req,res);}

 public void doPost(HttpServletRequest req,HttpServletResponse res) throws

ServletException, IOException{

res.setContentType("text/html");out = res.getWriter();

ServletContext context=getServletContext();

fac=req.getParameter("faccn");fam=req.getParameter("famt");

int ifam=Integer.parseInt(fam);

try

{

DriverManager.registerDriver(newsun.jdbc.odbc.JdbcOdbcDriver());

c=DriverManager.getConnection(Bank.getDsn());

s = c.createStatement();

String sameacc= (String)context.getAttribute("Accno");

rs1=s.executeQuery("select * from Customer where

Acc_no='"+sameacc+"'");

if (rs1.next()){

ideb=rs1.getInt("Debit");

ibal=rs1.getInt("Balance");}

 boolean b=sameacc.equalsIgnoreCase(fac);

if (b==false && ibal>ifam)

63

Page 64: Mobile Billing 1

8/6/2019 Mobile Billing 1

http://slidepdf.com/reader/full/mobile-billing-1 64/76

Page 65: Mobile Billing 1

8/6/2019 Mobile Billing 1

http://slidepdf.com/reader/full/mobile-billing-1 65/76

{

try

{if(c!=null) c.close();

}

catch(SQLException igno){

}

}

}

}

MLoanStat.java:

import java.sql.*;import java.io.*;import javax.servlet.*;

import javax.servlet.http.*;

  public class MLoanStat extends HttpServlet

{

String accc,lid;

Connection c;Statement s;

ResultSet rs;

PrintWriter out;

 public void doGet(HttpServletRequest req,HttpServletResponse res) throws

ServletException, IOException{

doPost(req,res);

}

 public void doPost(HttpServletRequest req,HttpServletResponse res) throws

ServletException, IOException

{

res.setContentType("text/html");out=res.getWriter();

ServletContext context=getServletContext();lid=req.getParameter("loanno");

try

{DriverManager.registerDriver(new

sun.jdbc.odbc.JdbcOdbcDriver());

65

Page 66: Mobile Billing 1

8/6/2019 Mobile Billing 1

http://slidepdf.com/reader/full/mobile-billing-1 66/76

c=DriverManager.getConnection(Bank.getDsn());

s=c.createStatement();

rs=s.executeQuery("select * from loanstat whereLoanid='"+lid+"'");

if (rs.next())

{ int z=rs.getInt("Dueamt");

if (z==0)

out.println("All your loan is paid ");else

out.println("Your Loan Status i.e. due amount

is:"+"RS."+z+"");

}else

{

out.println(" Invalid Entry or no due amount left");

}

}catch(Exception e)

{

System.out.println(e.getMessage());

}finally

{

try

{

if(c!=null) c.close();}

catch(SQLException igno)

{}

}

}}

MLockStat.java:

import java.sql.*;

import java.io.*;import javax.servlet.*;

import javax.servlet.http.*;

66

Page 67: Mobile Billing 1

8/6/2019 Mobile Billing 1

http://slidepdf.com/reader/full/mobile-billing-1 67/76

Page 68: Mobile Billing 1

8/6/2019 Mobile Billing 1

http://slidepdf.com/reader/full/mobile-billing-1 68/76

Page 69: Mobile Billing 1

8/6/2019 Mobile Billing 1

http://slidepdf.com/reader/full/mobile-billing-1 69/76

 

69

Page 70: Mobile Billing 1

8/6/2019 Mobile Billing 1

http://slidepdf.com/reader/full/mobile-billing-1 70/76

 

70

Page 71: Mobile Billing 1

8/6/2019 Mobile Billing 1

http://slidepdf.com/reader/full/mobile-billing-1 71/76

 

71

Page 72: Mobile Billing 1

8/6/2019 Mobile Billing 1

http://slidepdf.com/reader/full/mobile-billing-1 72/76

 

72

Page 73: Mobile Billing 1

8/6/2019 Mobile Billing 1

http://slidepdf.com/reader/full/mobile-billing-1 73/76

 

73

Page 74: Mobile Billing 1

8/6/2019 Mobile Billing 1

http://slidepdf.com/reader/full/mobile-billing-1 74/76

 

74

Page 75: Mobile Billing 1

8/6/2019 Mobile Billing 1

http://slidepdf.com/reader/full/mobile-billing-1 75/76

Page 76: Mobile Billing 1

8/6/2019 Mobile Billing 1

http://slidepdf.com/reader/full/mobile-billing-1 76/76

Bibliography

Books:

• James Keough.J2ME The Complete Reference: McGraw Hill, 2003

• David Flanagan.Java in Nut Shell:O’Reilly Publications,2000

• Thomson.J2ME in Nut Shell:O’ReillyPublications,2002

•  Naughton.Java Hand Book:McGraw Hill,1998

References:

• www.java.sun.com

• www.developer.sun.com

• www.activeexperts.com

• www.j2me.org