57349703 me xi bill document

73
Developed By the Students of NIIT-Nungambakkam (DIPLOMA IN JAVA TECHNOLOGIES) A.Birose Banu -R100030103759 Jeevitha.R -R100030101334 Padmavathy.J -R100030101406 Vasuki Devi.D -R100030101435 1

Upload: ponmudiraja

Post on 28-Nov-2014

117 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 57349703 Me Xi Bill Document

Developed By the Students of NIIT-Nungambakkam

(DIPLOMA IN JAVA TECHNOLOGIES)

A.Birose Banu -R100030103759

Jeevitha.R -R100030101334

Padmavathy.J -R100030101406

Vasuki Devi.D -R100030101435

1

Page 2: 57349703 Me Xi Bill Document

ABSTRACT

Mexibills Solutions Pvt. Ltd is an Online System which can help the customers by

providing a mechanism for paying bills online. Home page consists of Registration module,

Customer login module. In Registration module, where new user can register for their Bill

payment through online and it will be inserted into the database. Customer login checks the

authentication of the user and then allows the customer for online payment and also customer

can view their previous transaction records and status of the latest transaction. We have used

Java Server Pages as the presentation layer and Servlets as controller and entity bean,session

bean for model components and Derby as backend to build this application.

2

Page 3: 57349703 Me Xi Bill Document

CERTIFICATE

This is to Certify that this report Title: Sky High Institute of Management developed by

Chippada Rekha, Jeevitha.R, Padmavathy.J, and Vasuki Devi.D in the partial fulfillment of the

course requirement at NIIT.

Coordinator : Mr.P.Sabari Balaji

Signature :

Date :

Organization : NIIT

Address : NIIT, Nungambakkan, Chennai-34

3

Page 4: 57349703 Me Xi Bill Document

ACKNOWLEDGEMENT

The following deserves wholehearted thanks and I wish to acknowledge all of them

for direct and indirect contribution for the successful completion of this project any writing

venture, the personal and intimate associations of many persons may the single contributing for

the success of the project.

We express our sincere thanks to our faculty Mr.P.Sabari Balaji for co-operation of

our project.

4

Page 5: 57349703 Me Xi Bill Document

SL. NO.

CONTENTS PAGE NO.

1 INTRODUCTION1.1 Existing System1.2 Proposed System

2 SYSTEM CONFIGURATION 2.1 Software Requirements 2.2 Hardware Requirements

3 SYSTEM ANALYSIS3.1 Registration Module3.2 Customer Login

4 SYSTEM DESIGN4.1Class Diagram4.2 Use Case Diagram4.3 Activity Diagram4.4 Sequence Diagram

5 DATABASE DESIGN

6 CODING IMPLEMENTATION

7 FUTURE ENHANCEMENTS

8 CONCLUSION

9 REFERENCES

5

Page 6: 57349703 Me Xi Bill Document

INTRODUCTION:

Danniel Carton established Mexibills Solutions Pvt. Ltd. 12 years ago in Taxco,Mexico.Commencing with a focus on the bills collection business in Taxco,Mexibills Solutions Ltd.quickly broadened its collection services to other cities of Mexico.The Company outsources its bills collection service to various corporate in town.Its services ease the customers of the corporate by providing door-step collection of their bills.

1.1 EXISTING SYSTEM:

In the existing system,bills are collected through augmented collection channels that are spread in all cities of Mexico.Various cooperates send their collection list to those channels and then according to the location of the customers,collection executives are send by the company for collection of the due bills.This way cooperates are exempted from the back-end peocess of collecting the dues and hence they can concentrate on their main business.

Mexibills Solutions Pvt Ltd.satisfies the customer on behalf of the corporates by providing various services like, reminders for due-bills,settlement of erroneous bills,and bills collection at their door-step.As a result,collection requests are also increasing day by day.

Appointing extra human resources to meet the collection targets is affecting the profit margins of the business.Also,managing the data manually is a tedious process for the company.

1.2 ENVISIONED SYSTEM:

With spring business needs, the currnt system is facing a lot of problems.The human resource is falling short in order to meet the currnet targets.Also,various processes like appointing new collection executives , increasing remainder calls,increasing transport requirements to visit places of collection etc are adding up business operational cost.

The management of Mexibills Solutions Pvt. Ltd. Has decided to build an online system which can help the customers by providing a mechanism for paying bills onbline.

While developing the online billing system the following points need to be taken into considerations:

6

Page 7: 57349703 Me Xi Bill Document

• In the new system,customers need to first register themselves in order to use the services on the online billing system.After registering ,they are authorized to pay bills online.

• The system should have a mechanism to authenticate credentials of the registered customers.This will ensure the security for making payments online.

• The system should archieve all the bills with their up-to-date summary for the customer.

• The payment mechanism has to be online and there should be a provision for accepting the credit card details.

7

Page 8: 57349703 Me Xi Bill Document

SYSTEM CONFIGURATION

8

Page 9: 57349703 Me Xi Bill Document

2 SYSTEM CONFIGUARATION

2.1 SOFTWARE REQUIREMENTS:

Operating System : Windows vista ultimate

Database : Derby

Web Technologies : HTML, JSP,Servlet,EJB

IDE : Net Beans IDE 6.0.1

Server Requirements : Sun Application Server

2.2 HARDWARE CONFIGURATION:

Hard Disk : 160 GB Hard Disk

Ram : 2 GB RAM

Processor : Intel Pentium II Processor

9

Page 10: 57349703 Me Xi Bill Document

SYSTEM ANALYSIs

10

Page 11: 57349703 Me Xi Bill Document

3. SYSTEM ANLYSIS:

The Mexibills Solutions Pvt. Ltd consists of following modules.

• Registration Module• Customer Login Module

3.1 REGISTRATION MODULE:

Registration Module will enable the new customer to register for their online bill payments..It consists of a form. you have to fill your Personal Infromation.You should remember the user name and password entered by this form.

3.2 CUSTOMER LOGIN MODULE: Customer login checks the authentication of the user and then allows the customer for

online payment and also customer can view their previous transaction records and status of the latest transaction.

11

Page 12: 57349703 Me Xi Bill Document

Home Page

12

Page 13: 57349703 Me Xi Bill Document

About Us

13

Page 14: 57349703 Me Xi Bill Document

Contact US

14

Page 15: 57349703 Me Xi Bill Document

Sign Up

15

Page 16: 57349703 Me Xi Bill Document

Customer Logion

16

Page 17: 57349703 Me Xi Bill Document

Customer View Page

17

Page 18: 57349703 Me Xi Bill Document

View Catagory

18

Page 19: 57349703 Me Xi Bill Document

Bill Type

19

Page 20: 57349703 Me Xi Bill Document

Customer Details

20

Page 21: 57349703 Me Xi Bill Document

Payment Details

21

Page 22: 57349703 Me Xi Bill Document

Bank Details

22

Page 23: 57349703 Me Xi Bill Document

Payment Confirm

23

Page 24: 57349703 Me Xi Bill Document

View Inbox

24

Page 25: 57349703 Me Xi Bill Document

View Message

25

Page 26: 57349703 Me Xi Bill Document

Delete Message

26

Page 27: 57349703 Me Xi Bill Document

SYSTEM DESIGN

27

Page 28: 57349703 Me Xi Bill Document

CLASS DIAGRAM

28

Page 29: 57349703 Me Xi Bill Document

+setId (in Id : string ) : void+setName (in name : string ) : void+setPassword (in password : string ) : void+setAddress (in address : string ) : void+setPhonenumber (in phonenumber : int ) : void+setEmail (in email : string ) : void+setQuestion (in question : string ) : void+setAnswer (in answer : string ) : void+getId () : string+getName () : string+getPassword () : string+getAddress () : string+getPhonenumber () : int+getEmail () : string+getQuestion () : string+getAnswer () : string

-Id : string-name : string-password : string-address : string-phonenumber : int-email : string-question : string-answer : string

UserLogin+setId (in id : string ) : void+setCellno (in cellno : int) : void+setNetwork (in network : string ) : void+setName (in name : string ) : void+setAmount (in amount : double ) : void+setStatus (in status : string ) : void+setPaydate (in paydate : string ) : void+getId () : string+getCellno () : int+getNetwork () : string+getName () : string+getAmount () : double+getStatus () : string+getPaydate () : string

-Id : string-cellno : int-network : string-name : string-amount : double-status : string-paydate : string

CellDetails

+setId (in id : string ) : void+setName (in name : string ) : void+setPassword (in password : string ) : void+setBody (in body : string ) : void+setSubject (in subject : string ) : void+setDate (in date : string ) : void+getId () : string+getName () : string+getPass () : string+getBody () : string+getSubject () : string+getDate () : string

-Id : string-name : string-password : string-body : string-subject : string-date : string

Message

29

Page 30: 57349703 Me Xi Bill Document

USECASE DIAGRAM

30

Page 31: 57349703 Me Xi Bill Document

Use Case Diagram For User

User

Login

Online Payment

View Inbox

View Catalogue

System

*

*

*

**

*

*

*

31

Page 32: 57349703 Me Xi Bill Document

E-R DIAGRAM

32

Page 33: 57349703 Me Xi Bill Document

E-R DIAGRAM

Database Name: MexiBills

33

User Login

ID

UserName

Password

PhoneNo

Address

Email Answer

Question

ID CellNo

Network

PayDate

UserName

Amount

Status

CellDetails

UserName

Subject

Body

Password

IDMessge

Page 34: 57349703 Me Xi Bill Document

ACTIVITY DIAGRAM

34

Page 35: 57349703 Me Xi Bill Document

SignIn

If Valid User

Welcome Page

Inbox To Pay Bill Ctalogue

Payment Detail

Pay Amount

[Yes ]

[No]

35

Page 36: 57349703 Me Xi Bill Document

SEQUENCE DIAGRAM

36

Page 37: 57349703 Me Xi Bill Document

37

Page 38: 57349703 Me Xi Bill Document

New User CellDetails Message DataBase

Register for Online Payment

Registered Succefully

User

Give Cell Details

View Message

Give Card Details

38

Page 39: 57349703 Me Xi Bill Document

DATABASE DESIGN

39

Page 40: 57349703 Me Xi Bill Document

5.1 LIST OF TABLES

Customer Sign Up Table:

Field Name Data Type Description

Id String Primary key

User Name String -

Pass Word String -

Address String -

Phone No Integer -

Email String -

Question String -

Answer String -

Customer Cell details Table:

Field Name Data Type DescriptionId String Primary keyCustomer Name String -Cell No Integer -Network String -Amount Double -Status String -Payment Date String -

40

Page 41: 57349703 Me Xi Bill Document

Message Table:

Field Name Data Type DescriptionId String Primary keyCustomer Name String -Password String -Subject String -Body String -Date String -

41

Page 42: 57349703 Me Xi Bill Document

CODING IMPLEMENTATION

CellDetails.java (Entity Class):

/*

42

Page 43: 57349703 Me Xi Bill Document

* To change this template, choose Tools | Templates

* and open the template in the editor.

*/

package Model

import java.io.Serializable;

import javax.persistence.Entity;

import javax.persistence.GeneratedValue;

import javax.persistence.GenerationType;

import javax.persistence.Id;

/**

*

* @author Satish

*/

@Entity

public class CellDetails implements Serializable {

private static final long serialVersionUID = 1L;

private String id;

private String cname;

private String cellno;

private String network;

43

Page 44: 57349703 Me Xi Bill Document

private String paydate1;

private double amount;

private String status;

public void setId(String id) {

this.id = id;

}

@Id

@GeneratedValue(strategy = GenerationType.AUTO)

public String getId() {

return id;

}

@Override

public int hashCode() {

int hash = 0;

hash += (getId() != null ? getId().hashCode() : 0);

return hash;

}

@Override

public boolean equals(Object object) {

44

Page 45: 57349703 Me Xi Bill Document

// TODO: Warning - this method won't work in the case the id fields are not set

if (!(object instanceof CellDetails)) {

return false;

}

CellDetails other = (CellDetails) object;

if ((this.getId() == null && other.getId() != null) || (this.getId() != null && !this.id.equals(other.id))) {

return false;

}

return true;

}

@Override

public String toString() {

return "Controle.CellDetails[id=" + getId() + "]";

}

public String getCname() {

return cname;

}

public void setCname(String cname) {

this.cname = cname;

}

45

Page 46: 57349703 Me Xi Bill Document

public String getCellno() {

return cellno;

}

public void setCellno(String cellno) {

this.cellno = cellno;

}

public String getNetwork() {

return network;

}

public void setNetwork(String network) {

this.network = network;

}

public double getAmount() {

return amount;

}

public void setAmount(double amount) {

this.amount = amount;

}

46

Page 47: 57349703 Me Xi Bill Document

public String getStatus() {

return status;

}

public void setStatus(String status) {

this.status = status;

}

public String getPaydate1() {

return paydate1;

}

public void setPaydate1(String paydate1) {

this.paydate1 = paydate1;

}

}

CellDetailsFacadeRemote.java( Session Bean Interface):

/*

* To change this template, choose Tools | Templates

47

Page 48: 57349703 Me Xi Bill Document

* and open the template in the editor.

*/

package Controle;

import java.util.List;

import javax.ejb.Remote;

/**

*

* @author Satish

*/

@Remote

public interface CellDetailsFacadeRemote {

void create(CellDetails cellDetails);

void edit(CellDetails cellDetails);

void remove(CellDetails cellDetails);

public CellDetails find(String pn,String net);

List<CellDetails> findAll();

48

Page 49: 57349703 Me Xi Bill Document

}

CellDetailsFacade.java(Session Bean):

/*

* To change this template, choose Tools | Templates

* and open the template in the editor.

*/

package Model;

import java.util.List;

import javax.ejb.Stateless;

import javax.persistence.EntityManager;

import javax.persistence.PersistenceContext;

/**

*

* @author Satish

*/

@Stateless

public class CellDetailsFacade implements CellDetailsFacadeRemote {

@PersistenceContext

private EntityManager em;

49

Page 50: 57349703 Me Xi Bill Document

public void create(CellDetails cellDetails) {

em.persist(cellDetails);

}

public void edit(CellDetails cellDetails) {

em.merge(cellDetails);

}

public void remove(CellDetails cellDetails) {

em.remove(em.merge(cellDetails));

}

public CellDetails find(String pn,String net)

{

String sql="select object(o) from CellDetails as o where o.cellno = '"+pn+"' and o.network ='"+net+"' and o.status = 'unpaid'";

return (CellDetails)em.createQuery(sql).getSingleResult();

}

public List<CellDetails> findAll() {

return em.createQuery("select object(o) from CellDetails as o").getResultList();}}

Message.java (Entity Class):

/*

50

Page 51: 57349703 Me Xi Bill Document

* To change this template, choose Tools | Templates

* and open the template in the editor.

*/

package Model;

import java.io.Serializable;

import javax.persistence.Entity;

import javax.persistence.GeneratedValue;

import javax.persistence.GenerationType;

import javax.persistence.Id;

/**

*

* @author Satish

*/

@Entity

public class Message implements Serializable {

private static final long serialVersionUID = 1L;

private Integer id;

private String user1;

private String pass;

private String sub;

51

Page 52: 57349703 Me Xi Bill Document

private String body;

private String msgDate;

public void setId(Integer id) {

this.id = id;

}

@Id

@GeneratedValue(strategy = GenerationType.AUTO)

public Integer getId() {

return id;

}

@Override

public int hashCode() {

int hash = 0;

hash += (getId() != null ? getId().hashCode() : 0);

return hash;

}

@Override

public boolean equals(Object object) {

// TODO: Warning - this method won't work in the case the id fields are not set

if (!(object instanceof Message)) {

return false;

52

Page 53: 57349703 Me Xi Bill Document

}

Message other = (Message) object;

if ((this.getId() == null && other.getId() != null) || (this.getId() != null && !this.id.equals(other.id))) {

return false;

}

return true;

}

@Override

public String toString() {

return "Controle.Message[id=" + getId() + "]";

}

public String getUser1() {

return user1;

}

public void setUser1(String user1) {

this.user1 = user1;

}

public String getPass() {

return pass;

}

53

Page 54: 57349703 Me Xi Bill Document

public void setPass(String pass) {

this.pass = pass;

}

public String getSub() {

return sub;

}

public void setSub(String sub) {

this.sub = sub;

}

public String getBody() {

return body;

}

public void setBody(String body) {

this.body = body;

}

public String getMsgDate() {

return msgDate;

}

54

Page 55: 57349703 Me Xi Bill Document

public void setMsgDate(String msgDate) {

this.msgDate = msgDate;

}

}

MessageFacadeRemote.java(Session Bean Interface):

/*

* To change this template, choose Tools | Templates

* and open the template in the editor.

*/

package Controle;

import java.util.List;

import javax.ejb.Remote;

/**

*

* @author Satish

*/

55

Page 56: 57349703 Me Xi Bill Document

@Remote

public interface MessageFacadeRemote {

public void addmess(Integer id,String sub,String body,String user,String pass,String dd);

public List<Message> find(String user,String pass);

public void deleteMes(Integer id);

public Message findMes(Integer id);

public Integer findAll();

}

MessageFacade.java(Session Bean):

/*

* To change this template, choose Tools | Templates

* and open the template in the editor.

*/

package Controle;

import java.util.Date;

import java.util.List;

import javax.ejb.Stateless;

import javax.persistence.EntityManager;

56

Page 57: 57349703 Me Xi Bill Document

import javax.persistence.PersistenceContext;

/**

*

* @author Satish

*/

@Stateless

public class MessageFacade implements MessageFacadeRemote {

@PersistenceContext

private EntityManager em;

public void addmess(Integer id,String sub,String body,String user,String pass,String dd)

{

Message msg=new Message();

msg.setId(id);

msg.setSub(sub);

msg.setBody(body);

msg.setUser1(user);

msg.setPass(pass);

msg.setMsgDate(dd);

em.persist(msg);

}

public List<Message> find(String user,String pass)

{

57

Page 58: 57349703 Me Xi Bill Document

String sql="select Object(o) from Message as o where o.user1 ='"+user+"' and o.pass = '"+pass+"'";

return em.createQuery(sql).getResultList();

}

public void deleteMes(Integer id)

{

String sql="delete from Message as o where o.id ="+id;

int i=em.createQuery(sql).executeUpdate();

}

public Message findMes(Integer id)

{

String sql="select Object(o) from Message as o where o.id ="+id;

return (Message)em.createQuery(sql).getSingleResult();

}

public Integer findAll()

{

return (Integer)em.createQuery("select max(o.id) from Message as o").getSingleResult();

}}

UserLogin.java(Entity Class)

/*

* To change this template, choose Tools | Templates

58

Page 59: 57349703 Me Xi Bill Document

* and open the template in the editor.

*/

package Model;;

import java.io.Serializable;

import javax.persistence.Entity;

import javax.persistence.GeneratedValue;

import javax.persistence.GenerationType;

import javax.persistence.Id;

/**

*

* @author Satish

*/

@Entity

public class UserLogin implements Serializable {

private static final long serialVersionUID = 1L;

private String id;

private String pass;

private String name;

private String adds;

private String phno;

private String email;

private String ques;

59

Page 60: 57349703 Me Xi Bill Document

private String ans;

public void setId(String id) {

this.id = id;

}

@Id

@GeneratedValue(strategy = GenerationType.AUTO)

public String getId() {

return id;

}

public String getPass() {

return pass;

}

public void setPass(String pass) {

this.pass = pass;

}

public String getName() {

return name;

}

60

Page 61: 57349703 Me Xi Bill Document

public void setName(String name) {

this.name = name;

}

public String getAdds() {

return adds;

}

public void setAdds(String adds) {

this.adds = adds;

}

public String getPhno() {

return phno;

}

public void setPhno(String phno) {

this.phno = phno;

}

public String getEmail() {

return email;

}

public void setEmail(String email) {

61

Page 62: 57349703 Me Xi Bill Document

this.email = email;

}

public String getQues() {

return ques;

}

public void setQues(String ques) {

this.ques = ques;

}

public String getAns() {

return ans;

}

public void setAns(String ans) {

this.ans = ans;

}

}

UserLoginFacadeRemote.java(Session Bean Interface):

/*

* To change this template, choose Tools | Templates

62

Page 63: 57349703 Me Xi Bill Document

* and open the template in the editor.

*/

package Model;

import java.util.List;

import javax.ejb.Remote;

/**

*

* @author Satish

*/

@Remote

public interface UserLoginFacadeRemote {

public UserLogin find(String id,String qes,String ans);

public UserLogin findSign(String user,String pass);

List<UserLogin> findAll();

public void addSignUp(java.lang.String user, java.lang.String pass, java.lang.String name, java.lang.String add, java.lang.String pn, java.lang.String email, java.lang.String ques, java.lang.String ans);}

UserLoginFacade.java(Session Bean)

63

Page 64: 57349703 Me Xi Bill Document

/*

* To change this template, choose Tools | Templates

* and open the template in the editor.

*/

package Model;

import java.util.List;

import javax.ejb.Stateless;

import javax.persistence.EntityManager;

import javax.persistence.PersistenceContext;

/**

*

* @author Satish

*/

@Stateless

public class UserLoginFacade implements UserLoginFacadeRemote {

@PersistenceContext

private EntityManager em;

UserLogin cm=new UserLogin();

public void addSignUp(String user,String pass,String name,String add,String pn,String email,String ques,String ans)

{

64

Page 65: 57349703 Me Xi Bill Document

cm.setId(user);

cm.setPass(pass);

cm.setName(name);

cm.setAdds(add);

cm.setPhno(pn);

cm.setEmail(email);

cm.setQues(ques);

cm.setAns(ans);

em.persist(cm);

}

public UserLogin find(String id,String qes,String ans)

{

String sql1="select Object(o) from UserLogin as o where o.id='"+id+"' and o.ques = '"+qes+"' and o.ans = '"+ans+"'";

return (UserLogin)em.createQuery(sql1).getSingleResult();

}

public UserLogin findSign(String user,String pass)

{

String sql1="select Object(o) from UserLogin as o where o.id='"+user+"' and o.pass='"+pass+"'";

return (UserLogin)em.createQuery(sql1).getSingleResult();

}

65

Page 66: 57349703 Me Xi Bill Document

public List<UserLogin> findAll() {

return em.createQuery("select object(o) from UserLogin as o").getResultList();

}

}

66

Page 67: 57349703 Me Xi Bill Document

FUTURE ENHANCEMENTS

FUTURE ENHANCEMENTS

Can be upgraded to an enterprise java bean version.

67

Page 68: 57349703 Me Xi Bill Document

Can implement extensive security with role management.

Can have stable relational database language with powerful query capabilities.

Interceptors and filters can be implemented to improve performance.

68

Page 69: 57349703 Me Xi Bill Document

CONCLUSION

CONCLUSION

69

Page 70: 57349703 Me Xi Bill Document

This Project MexiBills Solutions Pvt. Ltd. has taken effective steps to resolve the

drawbacks of the existing system. In this proposed system, New Customer can register their Bill

payment through online. By this System Customer can pay their Bill through online using credit

card or debit card. It is possible for the Customer to view their previous transaction . Customers

can able to view the payment detail..

70

Page 71: 57349703 Me Xi Bill Document

REFERENCES

71

Page 72: 57349703 Me Xi Bill Document

REFERENCES

Web Component Development With Servlet and JSP Technologies(SL-314)

JAVA-2 Complete-Reference

By Patrice Norton & Herbert Child Publisher: Tata McGraw Hill

Java Server Pages

By James good

Core Servlet and Java Server Pages

By Marty Hall, Larry Brown.

WEBSITES

• http://www.java.sun.com/j2ee/tutorial/1_3-fcs/doc/servlets.html .

• http://roseindia.net/struts.html .

• http://www.netbeans.org/kb/60/web/tutorial-webapps.html .

72

Page 73: 57349703 Me Xi Bill Document

73