29
1 CHAPTER 3 TRAINING ATTENDED 3.1 Introduction I have done my training from HCL INFOSYSTEMS LTD. located at Sitapura, Jaipur (Raj.) I have done my training in Advance Java and explore the following topics     Java Database Connectivity (JDBC)  Servlets  Java Server Pages (JSP) 3.2 Exposure Level I explore many topics of Advance Java like JDBC, Swings, JSP, Sockets etc. I primarily focus on the topics related to web application and here I explain some of the web development related topics. 3.2.1 Java Database Connectivity (JDBC) The JDBC (Java Database Connectivity) API defines interfaces and classes for writing database applications in Java by making database connections. Using JDBC we can send SQL, PL/SQL statements to almost any relational database. JDBC is a Java API for executing SQL statements and supports basic SQL functionality. It provides RDBMS access by allowing we to embed SQL inside Java code. Because Java can run on a thin client, applets embedded in Web pages can contain downloadable JDBC code to enable remote database access. Although JDBC was designed specifically to provide a Java interface to relational databases, we may find that we need to write Java code to access non-relational databases as well.

Dewang Final

Embed Size (px)

Citation preview

8/4/2019 Dewang Final

http://slidepdf.com/reader/full/dewang-final 1/29

1

CHAPTER 3

TRAINING ATTENDED

3.1 Introduction

I have done my training from HCL INFOSYSTEMS LTD. located at Sitapura,

Jaipur (Raj.) I have done my training in Advance Java and explore the following topics  –  

  Java Database Connectivity (JDBC)

  Servlets

  Java Server Pages (JSP)

3.2 Exposure Level

I explore many topics of Advance Java like JDBC, Swings, JSP, Sockets etc. I

primarily focus on the topics related to web application and here I explain some of the web

development related topics.

3.2.1 Java Database Connectivity (JDBC)

The JDBC (Java Database Connectivity) API defines interfaces and classes forwriting database applications in Java by making database connections. Using JDBC we can

send SQL, PL/SQL statements to almost any relational database. JDBC is a Java API for

executing SQL statements and supports basic SQL functionality. It provides RDBMS

access by allowing we to embed SQL inside Java code. Because Java can run on a thin

client, applets embedded in Web pages can contain downloadable JDBC code to enable

remote database access.

Although JDBC was designed specifically to provide a Java interface to relational

databases, we may find that we need to write Java code to access non-relational databases

as well.

8/4/2019 Dewang Final

http://slidepdf.com/reader/full/dewang-final 2/29

2

Figure 3.1

JDBC Architecture

Java application calls the JDBC library. JDBC loads a driver which talks to the database.

We can change database engines without changing database code.

3.2.1.1 Types of JDBC Drivers

Driver types are used to categorize the technology used to connect to the database.

A JDBC driver vendor uses these types to describe how their product operates.

Some JDBC driver types are better suited for some applications than others. There

are four types of JDBC drivers as shown in the table below –  

Table 3.1

JDBC Drivers Types

Driver Category All Java? Net Protocol

1 – JDBC ODBC Bridge No Direct

2 – Native API as basis No Direct

3 – JDBC – Net Yes Require Connector

4 – Native Protocol as basis Yes Direct

1.  Type 1 Driver - JDBC-ODBC bridge

The JDBC type 1 driver, also known as the JDBC-ODBC Bridge, is a databasedriver implementation that employs the ODBC driver to connect to the database. The

driver converts JDBC method calls into ODBC function calls. 

The driver is platform-dependent as it makes use of ODBC which in turn

depends on native libraries of the underlying operating system the JVM is running

upon. Also, use of this driver leads to other installation dependencies; for example,

ODBC must be installed on the computer having the driver and the database must

support an ODBC driver. The use of this driver is discouraged if the alternative of a

8/4/2019 Dewang Final

http://slidepdf.com/reader/full/dewang-final 3/29

3

pure-Java driver is available. The other implication is that any application using a type

1 driver is non-portable given the binding between the driver and platform. This

technology isn't suitable for a high-transaction environment. Type 1 drivers also don't

support the complete Java command set and are limited by the functionality of the

ODBC driver.

Figure 3.2

Schematic of the JDBC-ODBC Bridge

Functions

  Translates query obtained by JDBC into corresponding ODBC query, which

is then handled by the ODBC driver.

  Sun provides a JDBC-ODBC Bridge driver as

sun.jdbc.odbc.JdbcOdbcDriver. This driver is native code and not

Java, and is closed source.

  Client -> JDBC Driver -> ODBC Driver -> Database.

8/4/2019 Dewang Final

http://slidepdf.com/reader/full/dewang-final 4/29

4

Advantages

  Easy to connect.

  Directly connected to the database.

Disadvantages

  Performance overhead since the calls have to go through the JDBC

Overhead Bridge to the ODBC driver, then to the native db connectivity

interface.

  The ODBC driver needs to be installed on the client machine.

  Considering the client-side software needed, this is not suitable for applets.

  Compared to other driver types it's slow.

2.  Type 2 Driver - Native-API Driver specification

The JDBC type 2 driver, also known as the Native-API driver, is a database

driver implementation that uses the client-side libraries of the database. The driver

converts JDBC method calls into native calls of the database API.

The type 2 driver is not written entirely in Java as it interfaces with non-Java

code that makes the final database calls. The driver is compiled for use with the

particular operating system. For platform interoperability, the Type 4 driver, being a

full-Java implementation, is preferred over this driver.

8/4/2019 Dewang Final

http://slidepdf.com/reader/full/dewang-final 5/29

5

Figure 3.3

Schematic of the Native API driver

Functions

  This type of driver converts JDBC calls into calls to the client API for that

database.

  Client -> JDBC Driver -> Vendor Client DB Library -> Database

Advantage

  Better performance than Type 1 since no JDBC to ODBC translation is needed.

Disadvantages

 The vendor client library needs to be installed on the client machine.

  Cannot be used in internet due the client side software needed.

  Not all databases have a client side library

  This driver is platform dependent

  This driver supports all java applications except Applets

8/4/2019 Dewang Final

http://slidepdf.com/reader/full/dewang-final 6/29

6

3.  Type 3 Driver - Network-Protocol Driver

The JDBC type 3 driver, also known as the Pure Java Driver for Database

Middleware, is a database driver implementation which makes use of a middle tier

between the calling program and the database. The middle-tier (application server)

converts JDBC calls directly or indirectly into the vendor-specific database

protocol. 

This differs from the type 4 driver in that the protocol conversion logic

resides not at the client, but in the middle-tier. Like type 4 drivers, the type 3 driver

is written entirely in Java. The same driver can be used for multiple databases. It

depends on the number of databases the middleware has been configured to support.

The type 3 driver is platform-independent as the platform-related differences are

taken care by the middleware. Also, making use of the middleware provides

additional advantages of security and firewall access.

Figure 3.4

Schematic of the Network-Protocol driver

8/4/2019 Dewang Final

http://slidepdf.com/reader/full/dewang-final 7/29

7

Functions

  Follows a three tier communication approach.

  Can interface to multiple databases - Not vendor specific.

  The JDBC Client driver written in java communicates with a middleware-net-

server using a database independent protocol, and then this net server translates

this request into database commands for that database.

  Thus the client driver to middleware communication is database independent.

  Client -> JDBC Driver -> Network-protocol driver -> Middleware-Net Server -

> Any Database.

Advantages

  Since the communication between client and the middleware server is database

independent, there is no need for the vendor db library on the client machine.

Also the client to middleware need not be changed for a new database.

  The Middleware Server (which can be a fully fledged J2EE Application server)can provide typical middleware services like caching (connections, query

results, and so on), load balancing, logging, auditing etc.

  Can be used in internet since there is no client side software needed.

  At client side a single driver can handle any database. (It works provided the

middleware supports that database!)

Disadvantages

  Requires database-specific coding to be done in the middle tier.

  An extra layer added may result in a time-bottleneck. But typically this isovercome by providing efficient middleware services.

4.  Type 4 Driver - Native-Protocol Driver

The JDBC type 4 driver, also known as the Direct to Database Pure Java

Driver, is a database driver implementation that converts JDBC calls directly into a

vendor-specific database protocol. Therefore it is called a THIN driver.

Written completely in Java, type 4 drivers are thus platform independent.They install inside the Java Virtual Machine of the client. This provides better

performance than the type 1 and type 2 drivers as it does not have the overhead of 

conversion of calls into ODBC or database API calls. Unlike the type 3 drivers, it

does not need associated software to work.

As the database protocol is vendor-specific, the JDBC client requires

separate drivers, usually vendor-supplied, to connect to different types of databases.

8/4/2019 Dewang Final

http://slidepdf.com/reader/full/dewang-final 8/29

8

Figure 3.5

Schematic of Native-Protocol driver

Functions

 Type 4 drivers, coded entirely in Java, communicate directly with a vendor'sdatabase, usually through socket connections. No translation or middleware

layers are required, improving performance.

  The driver converts JDBC calls into the vendor-specific database protocol so

that client applications can communicate directly with the database server.

  Completely implemented in Java to achieve platform independence.

  This type includes (for example) the widely-used Oracle thin driver -

oracle.jdbc.driver.OracleDriver which connects using a

format configuration of jdbc:oracle:thin:@URL 

  Client -> Native-protocol JDBC Driver -> database server.

8/4/2019 Dewang Final

http://slidepdf.com/reader/full/dewang-final 9/29

9

Advantages

  These drivers don't translate the requests into an intermediary format (such

as ODBC), nor do they need a middleware layer to service requests. This

can enhance performance considerably.

  The JVM can manage all aspects of the application-to-database connection;

this can facilitate debugging.

  Provides a way to manage copies of the database for each user.

Disadvantages

  Drivers are database dependent.

3.2.2 Servlets

A servlet is a Java programming language class used to extend the capabilities of 

servers that host applications accessed via a request-response programming model.

Although servlets can respond to any type of request, they are commonly used to extend theapplications hosted by Web servers. Thus, it can be thought of as a Java Applet that runs on

a server instead of a browser.

A Servlet is a Java class in Java EE that conforms to the Java Servlet API, a

protocol by which a Java class may respond to requests. They are not tied to a specific

client-server protocol, but are most often used with the HTTP protocol. Therefore, the word

"Servlet" is often used in the meaning of "HTTP Servlet". Thus, a software developer may

use a servlet to add dynamic content to a Web server using the Java platform. The

generated content is commonly HTML, but may be other data such as XML. Servlets are

the Java counterpart to non-Java dynamic Web content technologies such as CGI andASP.NET. Servlets can maintain state in session variables across many server transactions

by using HTTP cookies, or URL rewriting.

To deploy and run, the Apache Tomcat Server may be used. It is an open source

servlet container developed by the Apache Software Foundation (ASF). Tomcat

implements the Java Servlet and the Java Server Pages (JSP) specifications from Sun

Microsystems, and provides a "pure Java" HTTP web server environment for Java code to

run.

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 servlet requests and

8/4/2019 Dewang Final

http://slidepdf.com/reader/full/dewang-final 10/29

10

responses, as well as objects to reflect the servlet's configuration parameters and execution

environment. The package javax.servlet.http defines HTTP-specific subclasses of 

the generic servlet elements, including session management objects that track multiple

requests and responses between the Web server and a client. Servlets may be packaged in a

WAR file as a Web application.

Servlets can be generated automatically from Java Server Pages (JSP) by the Java ServerPages compiler. The difference between Servlets and JSP is that Servlets typically embed

HTML inside Java code, while JSPs embed Java code in HTML. While the direct usage of 

Servlets to generate HTML is relatively rare nowadays, the higher level MVC web

framework in Java EE (JSF) still explicitly uses the Servlet technology for the low level

request/response handling via the FacesServlet. A somewhat older usage is to use servlets

in conjunction with JSPs in a pattern called "Model 2", which is a flavor of the model-

view-controller pattern.

Table 3.2

Servlet API History

Servlet API

version

Released Platform Important Changes

Servlet 3.0 December

2009

JavaEE 6,

JavaSE 6

Pluggability, Ease of development, Async

Servlet, Security, File Uploading

Servlet 2.5 September

2005

JavaEE 5,

JavaSE 5

Requires JavaSE 5, supports annotation

Servlet 2.4 November

2003

J2EE 1.4,

J2SE 1.3

web.xml uses XML Schema

Servlet 2.3 August 2001 J2EE 1.3,J2SE 1.2

Addition of Filter

Servlet 2.2 August 1999 J2EE 1.2,

J2SE 1.2

Becomes part of J2EE, introduced

independent web applications in .war files

Servlet 2.1 November

1998

Unspecified First official specification, added

RequestDispatcher, ServletContext

Servlet 2.0 JDK 1.1 Part of Java Servlet Development Kit 2.0

Servlet 1.0 June 1997 Undefined

3.2.2.1 Life cycle of a Servlet

1.  The container calls the no-argument constructor.

2.  The Web container calls the init() method. This method initializes the servlet and

must be called before 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 Web container calls the service() method of the

8/4/2019 Dewang Final

http://slidepdf.com/reader/full/dewang-final 11/29

11

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 Web container calls the destroy() method that takes the servlet out of 

service. The destroy() method, like init(), is called only once in the lifecycle

of a servlet.

Figure 3.6 

Life Cycle of Servlet

3.2.2.2 Example

The following example servlet prints a "Hello world" HTML page. 

Note that HttpServlet is a subclass of GenericServlet, an implementation of the

Servlet interface.

The service() method dispatches requests to the methods doGet(), doPost(),

doPut(), doDelete(), and so on; according to the HTTP request.

8/4/2019 Dewang Final

http://slidepdf.com/reader/full/dewang-final 12/29

12

import java.io.IOException;

import java.io.PrintWriter;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

public class HelloWorld extends HttpServlet

{

public void doGet(HttpServletRequest request,

HttpServletResponse response) throws ServletException,

IOException

{

PrintWriter out = response.getWriter();

Out.println("<html>");

Out.println("<head>");

Out.println("<title>");

Out.println("HelloWorld");

Out.println("</title>");

Out.println("</head>");Out.println("<body>");

Out.println("<Hello, World !>");

Out.println("</body>");

Out.println("</html>");

}

}

3.2.2.3 Usage

Servlets are most often used to

  Process or store data that was submitted from an HTML form.

  Provide dynamic content such as the results of a database query.

  Manage state information that does not exist in the stateless HTTP protocol, such as

filling the articles into the shopping cart of the appropriate customer.

3.2.3 Java Server Pages (JSP)

Architecturally, JSP may be viewed as a high-level abstraction of Java servlets. JSP

pages are loaded in the server and are operated from a structured special installed Javaserver packet called a Java EE Web Application, often packaged as a .war or .ear file

archive.

JSP allows Java code and certain pre-defined actions to be interleaved with static

web markup content, with the resulting page being compiled and executed on the server to

deliver an HTML or XML document. The compiled pages and any dependent Java libraries

use Java byte code rather than a native software format, and must therefore be executed

8/4/2019 Dewang Final

http://slidepdf.com/reader/full/dewang-final 13/29

13

within a Java virtual machine (JVM) that integrates with the host operating system to

provide an abstract platform-neutral environment.

JSP syntax is a fluid mix of two basic content forms: scriptlet  elements and markup.

Markup is typically standard HTML or XML, while scriptlet elements are delimited blocks

of Java code which may be intermixed with the markup. When the page is requested the

Java code is executed and its output is added, in situ, with the surrounding markup to createthe final page. JSP pages must be compiled to Java byte code classes before they can be

executed, but such compilation is needed only when a change to the source JSP file has

occurred.

Java code is not required to be complete (self contained) within its scriptlet element block,

but can straddle markup content providing the page as a whole is syntactically correct (for

example, any Java if/for/while blocks opened in one scriptlet element must be correctly

closed in a later element for the page to successfully compile). This system of split inline

coding sections is called step over scripting because it can wrap around the static markup

by stepping over it. Markup which falls inside a split block of code is subject to that code,so markup inside an if block will only appear in the output when the if condition evaluates

to true; likewise markup inside a loop construct may appear multiple times in the output

depending upon how many times the loop body runs.

The JSP syntax adds additional XML-like tags, called JSP actions, to invoke built-

in functionality. Additionally, the technology allows for the creation of JSP tag libraries

that act as extensions to the standard HTML or XML tags. JVM operated tag libraries

provide a platform independent way of extending the capabilities of a web server. Note that

not all commercial Java servers are Java EE specification compliant.

To simplify code in JSP expressions and scriptlets, you are supplied with nine

automatically defined variables, sometimes called implicit objects.

The available variables are shown in the Table 3.3.

8/4/2019 Dewang Final

http://slidepdf.com/reader/full/dewang-final 14/29

14

Table 3.3

Implicit Objects Available In a JSP

OBJECT DESCRIPTION

Request This is the HttpServletRequest 

associated with the request.

Response This is the HttpServletResponse 

associated with the response to the client.

Out This is the PrintWriter used to send

output to the client. Buffered version of 

PrintWriter called JspWriter.

session This is the HttpSession object associated

with the request. Recall that sessions are

created automatically, so this variable isbound even if there was no incoming session

reference.

Application This is the ServletContext as obtained

via

getServletConfig().getContext().

Config This is the ServletConfig object for this

page.

pageContext JSP introduced a new class called

PageContext to encapsulate use of server-

specific features like higher performance

JspWriters. The idea is that, if you access

them through this class rather than directly,

your code will still run on "regular"servlet/JSP engines.

Page This is simply a synonym for this, and is not

very useful in Java. It was created as aplaceholder for the time when the scripting

language could be something other than Java.

Exception The object refer to by the exception variable

is an instance of java.lang.Throwable 

that has been thrown but not caught. The

error variable is available to pages that act aserror handlers for other pages.

3.3 Conclusion

I studied the most interesting and important topics of Advance Java and able to

implement them.

8/4/2019 Dewang Final

http://slidepdf.com/reader/full/dewang-final 15/29

15

CHAPTER 4 

SYSTEMS/PROJECT DEVELOPMENT

4.1 Introduction

One of the current running projects of HCL is BANC MATE which is based on the

concept that Customer orientedness heightens with communication in his language. I had

given one of its module which is ACCOUNT CONSTITUTION MASTER.

4.2 Project Description

First I will give you some details of the overall project i.e. BANC MATE then I

will present a brief introduction of the module ACCOUN CONSTITUTION MASTER.

4.2.1 Banc Mate

BancMate is based on the concept that Customer orientedness heightens with

communication in his language. BancMate works in the language of the user and account

holder and meets the mandatory requirements of Official Languages Act, 1963.

BancMate is the first such solution made available to the Indian Banking Sector

which has been evaluated over past years by various Banks. Banking Sector has found

BancMate to be technically ready for deployment by Indian Banks.

BancMate has received rave reviews from the bankers who have been presented the

demonstration of the same. It has been rated as the best available in the country which is

likely to set standards in the IT as well as the banking industry for its high level of 

parameterization and understanding of banking.

BancMate uses natural behavior of WINDOWS and has been developed on

POWER BUILDER using the CLIENT/SERVER technology and uses Open Data Base

Compliance or ODBC technology which gives it freedom to be connected to any data base

engine such as ORACLE, SYBASE, MS-SQL, Btrieve or Foxpro. It is Year 2000

compliant (Y2K) carries some very unique and technically updated features.

4.2.1.1 Features & Benefits

1.  EASY TO UNDERSTAND - The system works in the language of the bankers and

does not rely on the cumbersome procedure of codes which makes it easy for the

bankers to understand, who are not computer professionals. The procedures

8/4/2019 Dewang Final

http://slidepdf.com/reader/full/dewang-final 16/29

16

followed are the ones mentioned in the banks manuals and the methods followed by

them.

2.  CONTEXT SPECIFIC ON-LINE HELP - Help is available from all points

specific to that topic. The complete help is made available with the option to selectthe topic desired for help.

3.  ACCOUNT SPECIFIC PARAMETRISATION - The system helps you

parameterize options as per the type of Account e.g. the system allows you to define

Charges separately for Cheque Book Issue for Savings and Cash Credit Accounts.

The system does not restrain you from opening more than one type of Savings and

Cash Credit Accounts and defining parameters separately for etch one of them. The

parameters can be fixed into bank and branch level with branches having access to

only branch level parameters for editing. The bank level parameters can be updated

only at the HO, EDP cell.

4.  DATA SECURITY - The Data Base provide for Encryption of Data, Roll back and

Roll Forward of Data to protect from Power Failures. The Bank is however free to

select any other Data Base which they feel best. In such a case the features provided

by the Data Base shall be applicable for Data Security.

5.  USERS & ACCESS RIGHTS - The system provides for defining of VARIOUS

user types along with the functions they are allowed to perform in the package i.e. a

Clerk can be restricted from making changes in the Account types.

6.  PASSWORDS WITH FORCED CHANGING LIMITS - The Users have their

passwords to access the package. There is a period after which they are forcefully

asked to change their old passwords.

7.  DEPOSIT/WITHDRAWAL LIMITS RESTRICTIONS - The users of the banks

are allowed to make deposit and withdrawal entries only up to their sanctioned

powers. The system allows the users to create any amount of Vouchers but clears

only up to the individual level allowed to the User Type. There are separate powers

for creation of a voucher entry and passing of the same which is further bifurcated

account type wise and transaction type wise.

8/4/2019 Dewang Final

http://slidepdf.com/reader/full/dewang-final 17/29

17

8.  AUTHORIZATION OF ALL JOBS - The users can get all jobs authorized which

they desire. This includes jobs like Parameter setting for FD's, Cheque book 

stocking etc.

9.  AUTHORIZATION OF ALL EXCEPTIONAL WORK - A  detailed list of 

warnings and exceptional work has been prepared. Whenever, an entry is generated

violating these levels, the system warns for the same and takes it for Authorization.

The Passwords of both the user who created the entry and the user who cleared the

entry are stored with each entry made. A detailed Exceptional Register for entries

Referred and Passed and for Referred and Returned is maintained.

10. CALCULATION AND MAINTENANCE OF CHECKSUM - Checksums is

calculated and maintained on an on-line basis. Thus is checked at the time of Day-

open. The method of calculating the Check Sum changes automatically every day.\ 

11. AUDIT TRAIL - The user can print the Audit Trail on an on-line basis i.e. with

every entry made at the end of the day. The user in such case will get the report

with entries of a particular type grouped together for a backdate for a particular user

for a particular activity.

4.2.1.2 System Requirements

Table 4.1

System Requirements

Operating System Software Hardware

Window 98 or above Microsoft SQL Server 2000and above

Processor: minimum 2GHzIntel Pentium 3 or 4 

MS Office 2000 & above  Memory: minimum 512MB

RAM

8/4/2019 Dewang Final

http://slidepdf.com/reader/full/dewang-final 18/29

18

4.2.2 ACCOUNT CONSTITUTION MASTER

When we click on menu system open following screen, all the account constitution

is displayed in a table as shown below -

Figure 4.1

Menu Page (A/C Constitution Master)

8/4/2019 Dewang Final

http://slidepdf.com/reader/full/dewang-final 19/29

19

When new button is clicked following screen gets open as shown below -

Figure 4.2

Page for New Entry

The above screen (Figure 1.2) is containing the following fields -

1.  Code – This specify the code number.

2.  Constitution Name  – This field specify the name for the constitution.

3.  Constitution Name in Hindi - System auto fill „.‟ In this field. 

4.  Used In  – This field specify the use of the new constitution. 

5.  Mode  –  This field specify the mode of operation belongs to this constitution. 

when OK Button is pressed , these information is saved in following three tables –  

8/4/2019 Dewang Final

http://slidepdf.com/reader/full/dewang-final 20/29

20

Table 4.2

s_seg

Column Name Data Type Length Value

seg_kid NUMERIC 7 Auto Identity

seg_ecode CHAR 3

seg_hname VARCHAR 200

seg_ename VARCHAR 100

seg_select CHAR 1

seg_accno NUMERIC 10

seg_grp CHAR 1 I/F

Table 4.3

s_amo

Column Name Data Type Length Value

amo_kid NUMERIC 7 Auto Identity

amo_segid NUMERIC 7 seg_kid

amo_mooid NUMERIC 7 Mode of operation

selected for the

segment.

Table 4.4

s_moo

Column Name Data Type Length Value

moo_kid NUMERIC 7 Auto Identity

moo_amoid NUMERIC 7 amo_kid

moo_select VARCHAR 7 Mode of operationselected for the

segment.

8/4/2019 Dewang Final

http://slidepdf.com/reader/full/dewang-final 21/29

21

When we select any constitution say “Individual” and edit button is clicked following

screen gets open, as shown below -

Figure 4.3

Page for Edit an Entry

The above page (Figure 1.3) should get auto filled by the entries of the selected

constitution. The fields have the same meanings as discussed above (refer to page 10 for

more details).

System allows to change any details of screen and on click of OK button, records are get

updated in s_seg table (refer to Table 1.2), s_amo table (refer to Table 1.2) and s_moo table

(refer to Table 1.4).

4.3 Roles/Responsibilities

The given module contain two buttons –  

1.  New 2. Edit

3.  Cancel 4. Help

My role was to code for new button.

8/4/2019 Dewang Final

http://slidepdf.com/reader/full/dewang-final 22/29

22

4.4 System Analysis

Systems analysis is a process of collecting factual data, understand  the processes

involved, identifying problems and recommending feasible suggestions for improving the

system functioning. This involves  studying the business processes, gathering operational

data, understand the information flow, finding out bottlenecks and evolving  solutions for

overcoming the weaknesses of the system so as to achieve the organizational goals. SystemAnalysis also includes subdividing of complex process involving the entire system,

identification of data store and manual processes.The major objectives of systems analysis

are to find answers for each business process –  

  What is being done.

  How is it being done.

  Who is doing it.

  When is he/she doing it.

  Why is it being done.

  How can it beimproved?

It is more of a thinking process and involves the creative skills of the System

Analyst. It attempts to give birth to a new efficient system that satisfies the current needs of 

the user and has scope for future growth within the organizational constraints. The result of 

this process is a logical system design. Systems analysis is an iterative process that

continues until a preferred and acceptable solution emerges.

4.5 System Design

Based on the user requirements and the detailed analysis of the existing system, the

new system must be designed. This is the phase of system designing. It is the most crucial

phase in the developments of a system. The logical system design arrived at as a result of 

systems analysis is converted into physical system design. Normally, the design proceeds in

two stages -

  Preliminary or General Design

  Structured or Detailed Design

Preliminary or General Design - In the preliminary or general design, the features of thenew system are specified. The costs of implementing these features and the benefits to be

derived are estimated. If the project is still considered to be feasible, we move to the

detailed design stage.

Structured or Detailed Design - In the detailed design stage, computer oriented work 

begins in earnest. At this stage, the design of the system becomes more structured.

Structure design is a blue print of a computer system solution to a given problem having the

8/4/2019 Dewang Final

http://slidepdf.com/reader/full/dewang-final 23/29

23

same components and inter-relationships among the same components as the original

problem. Input, output, databases, forms, codification schemes and processing

specifications are drawn up in detail. In the design stage, the programming language and

the hardware and software platform in which the new system will run are also decided.

There are several tools and techniques used for describing the system design of the system.

These tools and techniques are -

  Flowchart

  Data flow diagram (DFD)

  Data dictionary

  Structured English

  Decision table

  Decision tree

The system design involves the following -

1.  Defining precisely the required system output.2.  Determining the data requirement for producing the output.

3.  Determining the medium and format of files and databases.

4.  Devising processing methods and use of software to produce output.

5.  Determine the methods of data capture and data input.

6.  Designing Input forms.

7.  Designing Codification Schemes.

8.  Detailed manual procedures.

9.  Documenting the Design.

8/4/2019 Dewang Final

http://slidepdf.com/reader/full/dewang-final 24/29

24

4.6 System Development/Implementation

Actual coding is done in this phase. The result of coding can be easily shown by the

help of screnshots. The following screenshots describes my role in the module.

Figure 4.4

Menu Page (A/C Constitution Master)

After clicking on new button the following page get displayed as shown below -

Figure 4.5

Page for New Entry

8/4/2019 Dewang Final

http://slidepdf.com/reader/full/dewang-final 25/29

25

When we create a new constitution and click OK then the Menu page appears with the

entry of new constitution as shown below -

Figure 4.6

Filling of New Entry Page

Figure 4.7

Menu Page (A/C Constitution Master)

8/4/2019 Dewang Final

http://slidepdf.com/reader/full/dewang-final 26/29

26

If we click on cancel button then the Menu page appears without any new constitution as

shown below -

Figure 4.8

Filling of New Entry Page

Figure 4.9

Menu Page (A/C Constiution Master)

8/4/2019 Dewang Final

http://slidepdf.com/reader/full/dewang-final 27/29

27

4.7 System Testing/Maintenance

4.7.1 Testing

The code is tested at various levels in software testing. Unit, system and user

acceptance testing are often performed. This is a grey area as many different opinions exist

as to what the stages of testing are and how much if any iteration occurs. Iteration is notgenerally part of the waterfall model, but usually some occur at this stage. In the testing the

whole system is test one by one.

Following are the types of testing -

  Path testing

  Data set testing

  Unit testing

  System testing

  Integration testing

  Black box testing

  White box testing

  Regression testing

  Automation testing

  User acceptance testing

  Performance testing

4.7.2 Operations and maintenance

The deployment of the system includes changes and enhancements before the

decommissioning or sunset of the system. Maintaining the system is an important aspect of 

SDLC. As key personnel change positions in the organization, new changes will be

implemented, which will require system updates.

4.8 Conclusion

The various phases of the project were successfully completed. It‟s a great

experience on working on one of the live project of a company like HCL. While

implementing the various phases I got the practical knowledge of the topics which I havebeen taught theoretically as System Development Life Cycle.

8/4/2019 Dewang Final

http://slidepdf.com/reader/full/dewang-final 28/29

28

CHAPTER 5

CONCLUSION

5.1 Introduction

I had completed my practical training at HCL  INFOSYSTEMS  LTD.,

which was a great and my first experience in a company. It‟s a great experience on working

on one of the live project of a company like HCL. While implementing the given module I

got the practical knowledge of the topics which I have been taught during training. I also

got some experience of how to work in a company.

5.2 Lessons Learned

  Java 

  My SQL

  Designing

  Analysis

  Coding

  Implementation 

5.3 Knowledge Gained

The Practical Training at HCL INFOSYSTEMS LTD. provided me an insight on

 java technology and recent trends in industry. I studied the basic concept of java

technology and My SQL database and also worked module of a live project. It provided me

with the industrial exposure and acted as a stepping stone for my career ahead. It taught me

the work ethics.

5.4 Suitability of the Organization

The environment in the organization was completely suitable for doing training. I

had Mr. Himanshu Pandey as my Project Mentor, who works as Software Engineer in the

company. He guided me at every step, solved my problems and has helped me to complete

my Practical Training successfully. Also, the working hours allotted to me was very

suitable.

8/4/2019 Dewang Final

http://slidepdf.com/reader/full/dewang-final 29/29

References

  The Complete Reference (Java) - Herbert Schildt 

  For JDBC, JSP etc. - Java.sun.com

  JavaScript - Beginning JavaScript, 3rd Edition by Paul Wilton and

Jeremy McPeak 

  HTML - Learning Web Design 2nd Edition by Jennifer Niederst

  Documentation given by company (www.hcl.in)