You are on page 1of 29

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.

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
1 JDBC ODBC Bridge

All Java? No No Yes Yes

Net Protocol Direct Direct Require Connector Direct

2 Native API as basis 3 JDBC Net 4 Native Protocol as basis

1. Type 1 Driver - JDBC-ODBC bridge The JDBC type 1 driver, also known as the JDBC-ODBC Bridge, is a database driver 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
2

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.

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.

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

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

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-netserver 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 is overcome 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.
7

Figure 3.5 Schematic of Native-Protocol driver

Functions Type 4 drivers, coded entirely in Java, communicate directly with a vendor's database, 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.

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 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 the applications 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 and ASP.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
9

Drivers are database dependent.

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 Server Pages 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 modelview-controller pattern. Table 3.2 Servlet API History Servlet API version Servlet 3.0 Servlet 2.5 Servlet 2.4 Servlet 2.3 Servlet 2.2 Servlet 2.1 Servlet 2.0 Servlet 1.0 Released December 2009 September 2005 November 2003 August 2001 August 1999 November 1998 June 1997 Platform JavaEE 6, JavaSE 6 JavaEE 5, JavaSE 5 J2EE 1.4, J2SE 1.3 J2EE 1.3, J2SE 1.2 J2EE 1.2, J2SE 1.2 Unspecified JDK 1.1 Undefined Important Changes Pluggability, Ease of development, Async Servlet, Security, File Uploading Requires JavaSE 5, supports annotation web.xml uses XML Schema Addition of Filter Becomes part of J2EE, introduced independent web applications in .war files First official specification, added RequestDispatcher, ServletContext Part of Java Servlet Development Kit 2.0

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
10

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.

11

import import import import import import public {

java.io.IOException; java.io.PrintWriter; javax.servlet.ServletException; javax.servlet.http.HttpServlet; javax.servlet.http.HttpServletRequest; javax.servlet.http.HttpServletResponse; 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 Java server 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
12

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 create the 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 builtin 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.

13

Table 3.3 Implicit Objects Available In a JSP OBJECT Request Response Out DESCRIPTION This is the HttpServletRequest associated with the request. This is the HttpServletResponse associated with the response to the client. This is the PrintWriter used to send output to the client. Buffered version of PrintWriter called JspWriter. This is the HttpSession object associated with the request. Recall that sessions are created automatically, so this variable is bound even if there was no incoming session reference. This is the ServletContext as obtained via getServletConfig().getContext(). This is the ServletConfig object for this page. JSP introduced a new class called PageContext to encapsulate use of serverspecific 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. This is simply a synonym for this, and is not very useful in Java. It was created as a placeholder for the time when the scripting language could be something other than Java. 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 as error handlers for other pages.

session

Application

Config pageContext

Page

Exception

3.3 Conclusion I studied the most interesting and important topics of Advance Java and able to implement them.

14

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
15

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 select the 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.
16

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 Dayopen. 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 Window 98 or above Software Microsoft SQL Server 2000 and above MS Office 2000 & above Hardware Processor: minimum 2GHz Intel Pentium 3 or 4 Memory: minimum 512MB RAM

17

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)

18

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

19

Table 4.2 s_seg Column Name seg_kid seg_ecode seg_hname seg_ename seg_select seg_accno seg_grp Data Type NUMERIC CHAR VARCHAR VARCHAR CHAR NUMERIC CHAR Length 7 3 200 100 1 10 1 Value Auto Identity

I/F

Table 4.3 s_amo Column Name amo_kid amo_segid amo_mooid Data Type NUMERIC NUMERIC NUMERIC Length 7 7 7 Value Auto Identity seg_kid Mode of operation selected for the segment.

Table 4.4 s_moo Column Name moo_kid moo_amoid moo_select Data Type NUMERIC NUMERIC VARCHAR Length 7 7 7 Value Auto Identity amo_kid Mode of operation selected for the segment.

20

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 3. Cancel My role was to code for new button. 2. Edit 4. Help

21

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. System Analysis 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 the new 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
22

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. 2. 3. 4. 5. 6. 7. 8. 9. Defining precisely the required system output. Determining the data requirement for producing the output. Determining the medium and format of files and databases. Devising processing methods and use of software to produce output. Determine the methods of data capture and data input. Designing Input forms. Designing Codification Schemes. Detailed manual procedures. Documenting the Design.

23

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


24

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)

25

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)

26

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 not generally 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. Its 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 have been taught theoretically as System Development Life Cycle.

27

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. Its 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.
28

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)

29

You might also like