jobmiller doc

Upload: mohammad-rafi-shaik

Post on 04-Apr-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/31/2019 JobMiller Doc

    1/115

    JobMiller

  • 7/31/2019 JobMiller Doc

    2/115

    Chapter

    1

  • 7/31/2019 JobMiller Doc

    3/115

    A b s t r a c t

  • 7/31/2019 JobMiller Doc

    4/115

    ABSTRACT

    Now-a-days the job market is so extensive that a variety of industries andcompanies are searching for right candidates and the prospective candidates are

    searching for right companies for growth opportunities. This purpose is served by

    most of the job portals on line. This is another job portal with an open

    environment for the job seekers and recruiters to meet on the same dais and

    know about each other so that the right candidate is placed in a right company.

    The aim of Job Portal is facilitate both the candidates seeking jobs as well as the

    employers looking for employees for their companies. In this online application,any job seeker can search for the available jobs at any moment with updated

    information. When he finds a job, he can post his application to the job on line.

    Employers can advertise the vacancies by taking the membership, logging in and

    posting the job information with the eligibility criteria for the jobs. This software

    establishes a direct connection between the employer and the job seeker.

    A job seeker can directly visit this portal and view the jobs availability information

    along with downloading the required information. When he logs into the system,he would be able to upload his application and post walk-in details which he knows

    would be held by a company. This information helps other users very much to

    attend the same. Further, the user will be able to view the list of companies for

    which ha has already applied. This enables him to take a decision when he gets a

    call from a company and how much time elapsed since he has applied for the

    company.

    A registered user will be able to get useful information regarding the placementpapers and sample resumes which help him to create his own resume according to

    industry standards. Common interview questions and sample covering letters are

    also available online along with FAQs which aid the candidate to pave his route

    into the job world.

  • 7/31/2019 JobMiller Doc

    5/115

    A recruiter or employer can view some part of the information of job seekers

    initially. When the recruiter logs into the system, he would be able to view the

    user profiles separately along with uploading the information of newly created jobs

    and walk-ins. He can also see all the applications received for a particular job in

    response to his advertisement. Thus Job Miller is a common platform where

    corporate recruiters and job seekers come under the same roof.

    Technologies used: J2SE, Servlets, JSP, JDBC and Java Script

  • 7/31/2019 JobMiller Doc

    6/115

    Chapter

    2

  • 7/31/2019 JobMiller Doc

    7/115

    Project

    Synopsis

  • 7/31/2019 JobMiller Doc

    8/115

    CURRENT SYSTEM:

    Here the existing the is nothing but the existing job portal developed using

    the platform independent technologies like ASP, PHP etc. It is not allowing to cater

    the needs of all type of users (Job Seekers, Employer and administrator) properly

    and doesnt provide convenient mechanism like reducing unnecessary information

    for end user acceptability.

    Disadvantages:

    Doesnt provide effective and efficient services for different users of this sytem.

    Doesnt provide secure and portable application

    Doesnt provide all other related services under this portal

    Doesnt provide the facility to the Job Seeker to track the job details to which he

    has applied for.

    Doesnt provide Fast and efficient system

    With the advent of new technology every task in modern life is being absorbed

    rapidly within the routine of human life. Such technologies are applied for various

    fields to improve the overall system performance to improve the productivity and

    popularity of the organization.

    PROPOSED SYSTEM:

    This product has been mainly designed to overcome some of the problems faced

    with the previous system. The main problem faced was unnecessary delay in

    generating the required information by all unnecessary fields into consideration.

    It provides an efficient way to pass the information between different users to

    cater their needs. It is a Complete Portal for Job seekers and employers. It is an

    exclusive career portal aimed just for the service of job seekers. It is a common

  • 7/31/2019 JobMiller Doc

    9/115

    platform where corporate recruiters and job seekers come under roof. It is a one

    stop information clearing house about jobs and careers. Job Miller mainly aims on

    two kinds of users

    Jobseekers

    Search jobs, post your resume and access career info and download

    sample resumes, Papers of various recruiters and sample cover letters etc. and

    can upload any useful info.

    Employers

    Get instant access to today's most powerful hiring tools - post jobs, search

    resumes, screen candidates and streamline your entire hiring process.

    Advantages:

    Faster and efficient system

    Wider range services available under one roof

    Highly Secure and Portable application

    Provides a facility for the Job Seekers to track their job details he has

    applied for

    Provides a facility for the Employer to search for required people very easily

    Provides efficient search mechanism using dynamic query generation

  • 7/31/2019 JobMiller Doc

    10/115

    Chapter3

  • 7/31/2019 JobMiller Doc

    11/115

    Feasibility

    Report

  • 7/31/2019 JobMiller Doc

    12/115

    Feasibility Report

    Technical Feasibility:

    The system is self-explanatory and does not need any extra sophisticatedtraining. As the system has been built by concentrating on the Graphical User

    Interface Concepts, the application can also be handled very easily with a novice

    User. The overall time that is required to train the users upon the system is less than

    half an hour.

    The System has been added with features of menu-driven and button

    interaction methods, which makes the user the master as he starts working through

    the environment. The net time the customer should concentrate is on the installation

    time.

    GUIs

    For the flexibility of the user, the interface has been developed in graphical user

    interface mode. The normal interface is applied through browser.

    The GUIs at the top level has been categorized as:

    1) Jobseeker Functions

    2) Employer Functions

    3) Guest user Functions

    The Jobseeker Functions concentrates on the consistent information that is

    practically, pact of the organizational activities and which needs proper

    authentication for the data collection. This user can perform some tasks with outregistering or with out enter into the application. He can able to search for the

    jobs in the site. He can able to download the information which is available for the

    jobseekers. He can able to view the walk-in details and can able to view the job

    details. The jobseeker can perform some tasks after enter into the application

    only. In any situation the jobseeker needs to change his password

  • 7/31/2019 JobMiller Doc

    13/115

    then he can change on his own. He can view the details of his own profile and he

    can modify his details in his profile. He can view the details of jobs which areavailable in Job Street. He can view the details of all the walk-ins. The job seeker

    can add the new walk-in details. He can able to apply for the new jobs. He can

    view the details of all the applied jobs. He can be able to upload his information.

    The Employer Functions helps to perform some tasks without login. He can view

    the little information about the job seekers. He can be able to download the

    information. He can view the details of all the walk-ins. He can view the details of

    all the jobs. The employer can view the details of all the jobseekers and he can

    view the details of all the jobs and also he can post for the new jobs. After login

    only the employer can perform some tasks. In any situation he needs to change

    the password then he can change it. The employer can view his own profile and

    also he can view the all the jobseekers profiles. He can able to post for a new job.

    He can view the details of all the jobs which are available in job street. He can

    able to post new walk-in details. The employer can be able to upload the

    information. He can be able view the candidates resumes applied for jobs posted

    by him.

    The Guest User Functions helps to perform some tasks on his own. He can able

    to search for the jobs. The guest user can download the information from the site.

    He can be able to view all the walk-in details. He can view the details of all the

    jobs which are available in job street. He can view the little information about

    jobseekers. If the guest user wants register in the site, then he can register. After

    registering into the site then he will be one of the jobseeker.

  • 7/31/2019 JobMiller Doc

    14/115

    Number of Modules

    The system after careful analysis has been identified to present itself with the

    following modules:

    Job Street Module: This module provides user interface to add the new

    jobs in job street. This module deals with the functionalities like Posting

    Jobs & Walk in details. This module also includes job search functionality

    which is very helpful for job seekers to search various jobs. Also provides

    facility to filter the jobs based on various filters like Location, Experience

    and Functional Area. Keyword search is also available. User can filter theresults by specifying the criteria like any word, all words and Exact

    Phrase. This search engine uses Dynamic Queries to generate exact

    results. Functionality that allows registered Job seekers to apply for the

    selected jobs also included in this module.

    Resumes Module: This module deals with user registration and creation

    of user profile and uploading resume. Also allows users to update their

    details and change the uploaded resume. Registered users can login and

    view their profile and can edit it. In this module some model resumes are

    available and any of the user can use those resumes and they can

    download the resumes.

    Upload & Downloads module: This module allows users to download

    placement papers, sample resumes and cover letters, FAQs and other

    useful information. Also allows registered users to upload their own content

    to the server. This module keeps the data in a secure manner to avoid un

    authorized file access. In this module the user can upload any of the

    following things. Sample Resumes, Cover Letters, Placement Papers, FAQs,

    Tutors, and all the information. Only the registered users can upload the

    above information. Otherwise it will show the message like you are not the

  • 7/31/2019 JobMiller Doc

    15/115

    authorized person to deal this. Any of the user can download the

    information without taking any registration.

    Employer module: This module mainly deals with functionalities provided

    for the employers which include Employer registration, Posting of Job &

    Walk in details. View profiles of job seekers and view the resumes of

    candidates applied for various jobs posted by them. The employer is having

    some tasks to perform without login and some tasks to perform after login.

    The employer module can display all the job details. Only the employer

    user can post the new job. The employer user can view all the details of

    jobseekers when he was entered into his login. This module contains all the

    walk-in details.

    Required Hardware

    Pentium IV processes architecture

    1. 512 MB RAM.

    2. 40 GB Hard Disk Space

    3. Ethernet card with an Internet or Internet zero.

    Required Software

    Database : MySQL 5.0, MySQL 3.51 JDBC driver

    Server : Apache Tomcat 4.1

    Front end : JSP / Servlets, J2SDK 1.4, HTML, DHTML, Java Script

    Editor : Edit plus

  • 7/31/2019 JobMiller Doc

    16/115

    Feasibility Study:

    Technical feasibility:

    The system is self-explanatory and does not need any extra sophisticated training.

    As the system has been built by concentrating on the Graphical User Interface

    Concepts, the application can also be handled very easily with a novice User. The

    overall time that is required to train the users upon the system is less than half an

    hour.

    The System has been added with features of menu-driven and

    button interaction methods, which makes the user the master as he starts working

    through the environment. The net time the customer should concentrate is on the

    installation time.

    Financial Feasibility

    i) Time Based: Contrast to the manual system management can generate any

    report just by single click. In manual system it is too difficult to maintain historicaldata which become easier in this system. Time consumed to add new records or to

    view the reports is very less compared to manual system. So this project is

    feasible in this point of view

    ii) Cost Based: No special investment need to manage the tool. No specific

    training is required for employees to use the tool. Investment requires only once

    at the time of installation. The software used in this project is freeware so the cost

    of developing the tool is minimal and hence the overall cost.

  • 7/31/2019 JobMiller Doc

    17/115

    Chapter

    4

  • 7/31/2019 JobMiller Doc

    18/115

    Analysis

    Report

  • 7/31/2019 JobMiller Doc

    19/115

    Functional Requirements:

    The main purpose of functional requirements within the requirement

    specification document is to define all the activities or operations that take place in

    the system. These are derived through interactions with the users of the system.

    Admin can add/view the new Employers to the application.

    Admin can upload new documents.

    Admin can view the uploaded documents.

    Admin can add/view the job seekers with this application.

    Employer can post new Job Requirements.

    Employer can view the applications received by the job seekers.

    Employer can view the details of job seekers.

    Job seeker can view all jobs posted by the Employers.

    Job seekers can apply for new jobs.

    Job seekers can view their application for jobs.

    Like above functionalities all the tasks are performed by the user

    of this applications are called as Functional Requirements.

    Nonfunctional requirements:

    Nonfunctional requirements describe user-visible aspects of the system

    that are not directly related to functionality of the system.

    User Interface and Human factors:

  • 7/31/2019 JobMiller Doc

    20/115

    The proposed system should provide a user- friendly interface to

    employers and job seekers as well as Administrator with ease of use. The

    user interface must be suitable for easy and fast data entry. With the help of

    this interface, employers and job seekers even without adequate knowledge

    of systems would complete their tasks. Administrator needs little training

    about the system in-order to utilize the facilities being provided by the

    system efficiently.

    Hardware Consideration:

    Hardware Considerations includes the virtual machine on which the

    system should be built. Virtual machine includes operating system and any

    software components needed. Virtual machine minimum required for web server

    is WINDOWS xp system and web browser is IE 6.0.And the system is

    compatible with Linux, Unix based systems.

    Performance Characteristics:

    The proposed system is server applications and server applications

    are inherently multi-threaded. Every request creates new thread hence the

    system supports any no of concurrent users. Hence this system offers good

    performance and easy solutions to problems. This is the static requirement.

    The Dynamic requirement is system response. As the proposed system

    developed using JavaServerPages which reduces response problems.

    Error handling and Extreme conditions:

    The proposed system should handle exceptions that originate at low

    level components and exceptions at high level components. The high level

    components in proposed system should handle exceptions that occur while

    connecting to database server, IOExceptions etc. The end user should not be

    bother about exceptions at low-level. When low level Exceptions arises user

    should be shown with appropriate message. Errors that arises during data

  • 7/31/2019 JobMiller Doc

    21/115

    entry should be handled by performing client side validations. In the

    proposed system all client side validations will be done using JavaScript.

    Quality Issues:

    Quality issues refers to how reliable and robust should the system

    be? While developing the proposed system the developer must be able to

    guarantee the reliability transactions so that they will be processedcompletely and accurately.

    The ability of system to detect failures and recovery from those

    failures refers to the availability of system. Robustness of system refers to

    the capability of system providing information when concurrent users

    requesting for information.As the proposed systems capability of handling

    various exception it is reliable and it will be developed using JSP which

    supports multithreading. Hence it satisfies the requests from concurrent users. So

    it is robust.

    Security Issues:

    Security and confidentiality are the top most concerns of the client.

    The proposed system should provide the following.Administrator should be

    provided with id and password for secured access of information regarding

    dealers and customers. Each Customer should also be provided with code

    and password for controlled access of information regarding their workorders and projects. Each candidate should be provides with a username and

    password

  • 7/31/2019 JobMiller Doc

    22/115

    SRS Document

    Intended Audience And Reading Suggestions

    The documen t i s p repa red keepi ng i s v iew o f t he a cademi c

    c on st ru cts o f my Bac he lo rs D eg re e / Ma st er s D eg re e f ro m

    un ive rs i ty a s pa rt i al f u lf i l lment o f my academic pu rpose the

    document spec if i es t he general p rocedure t hat t ha t has been

    fol lowed by me, whi le the system was studied and developed. The

    genera l document was prov ided by the indus t ry as a re ference

    guide to understand my responsibi l i t ies in developing the system,

    w i th respec t to the requ i rements tha t have been p in po in ted to

    ge t t he exac t s t ruc tu re o f t he sys t em as s t a t ed by the ac tua l

    c l ient .

    The system as s tated by my project leader the actua l s tandards

    o f t he s peci fi ca ti on were des ir ed by c onduct ing a s er ie s o f i n te rvi ews and ques ti onnai res . The col l e ct ed i n fo rmation was

    o rgan iz ed t o f orm t he s peci fi ca ti on documen t and t hen was

    modeled to suite the standards of the system as intended.

    Document Conventions:

    T he o ve ra ll d oc ume nt s f or t hi s p ro je ct u se t he r ec ogni ze d

    model ing standards at the software industr ies level.

    ER-Mod el ing t o concent rat e on t he rel at iona l

    states exist ing upon the system with respect to

    Cardinal i ty.

  • 7/31/2019 JobMiller Doc

    23/115

    The Phys ica l d i spense , which s tate the overal l

    d at a s ea rc h f or th e r el at ion al k ey wh er ea s a

    transact ion is implemented on the wear ent it ies.

    Uni fi ed mod el ing l anguag e concept s t o g ive a

    general ized blue print for the overal l system .

    T he s ta nd ar ds of f low c ha rt s a t th e r eq ui re d

    states that are the functional i ty of the

    operat ions need more concentrat ion.

    Scope of The Development Project:

    Database design

    Database Tables: The total number of database tables that were identified to

    build the system is 5. The major part of the

    Database is categorized as

    1. Transactional components: The Transactional components are useful in

    recording the transactions made by the system. All the goods bookings, loadings,

    deliveries, demurrages and receivers etc information handled by these

    components

    2. Data Dictionary components: These components are used to store the

    major information like Employee details, branches details, routes details, vehiclesinformation etc.

    3. General components: These components are used to store the general

    information like login information etc.

  • 7/31/2019 JobMiller Doc

    24/115

    Role Of Oracle In Database

    ORACLE 8i is one of the many database serv ices that p lug into a

    c l ient / server model . I t works ef f ic ient ly to manage resources,

    a database informat ion, among the mult ip le c l ients request ing &

    sending.

    Structured Query Language (SQL)

    SQL is an inter-act ive language used to query the database and

    access data in database. SQL has the fol lowing features:

    1. I t i s a uni f ied language.

    2. I t is a common language for re lat ional database

    3. I t i s a non-procedural language.

    Introduction To Oracle

    ORACLE is a comprehensive operat ing environment that packs the

    pow er o f a m ai nf ra me s ys te m i nt o u se r m icr oco mput er . I t

    prov ides a set of funct iona l programs that user can use as too lst o bui l d s tr uc tu re s and per fo rm t as ks . Bec ause app li ca ti on

    developed on orac le are complete ly portable to environment and

    then move i t into a mult i user p lat form. Users do not have to be

    an expert to apprec iate ORACLE, but the bet ter user understands

    the programmer, the more produc tiv i ty and c reat iv ity you w i l l

    use the tools i t provides.

    What is a Relational Database Management System

    A re lat iona l database management system (RDBMS) can perform

    a wide array of tasks. I t acts as a t ransparent inter face between

    t he phy si ca l s to rage and a l ogi ca l p re sent at ion o f dat a. I t

    prov ides a set of more or less f lex ib le and sophis t icates too ls for

    handl ing information. User can use this tool to:

  • 7/31/2019 JobMiller Doc

    25/115

    Define a database

    Query the database

    Add, edit and delete data

    Modify the structure of database

    Secure data from public access

    Communicate within the networks

    Export and Import data

    Because i t g ives so much cont ro l over da ta , a re la t iona l DBMS

    can a ls o s ave a s t he f oundat ion f or p roduct s t ha t generat e

    appl icat ion and extract data.

    A Database Management system may be ca l led fu l ly re lat iona l i f

    i t supports:

    1. Relational Databases and

    2. A language that is at least as powerful as the relational algebra

    Dr. E.F.CODDSS RULES

    E.F.Codd specified a set of rules that an RDBMS has to do following 12

    rules

    1. Information rule: All information in a relational database including table

    names, column names, and domain names is represented explicitly by

    values in tables. With this design speed and productivity will be improved.

    2. Guaranteed access rule: using a combination of table name, a primary

    key value and a column name can access Every piece of data in a relational

    database. With this productivity is improved since there is no need to resort

    to using physical pointers of address and provides data independence.

    3. Systematic treatment of null values: The RDBMS distinguishes

    between blanks nulls in records and handles such values in consistent

    manner that produces correct answers on comparison and calculations.

    With these users can distinguish results of queries/operations that involve

    nulls, zeroes and blanks.

  • 7/31/2019 JobMiller Doc

    26/115

    4. Active on-line catalog based on the relational model: The description

    of a database and its contents are database tables and therefore can be

    queried on-line via the database language. With this the DBAs productivity

    is improved since the changes are common in catalog to all tables for all

    queries and reports.

    5. Comprehensive data sub-language rule: An RDBMS language supports

    definitions of tables/views. Query and update data, integrity constraints,

    authorizations, definitions of transactions. With this user productivity is

    improved since there is a single approach for all database operations.

    6. View updating rule: Any view that is theoretically updateable can be

    updated using RDBMS. With this data consistency is ensured since changes

    in the underlying tables are transmitted to the view their support.

    7. High-level insert, update and delete: The RDBMS supports insertion,

    updating deletion at al table level. With this the performance is improved

    by optimizing the path for execution.

    8. Physical data independence: The execution of adhoc requests and

    application programs are not affected by the changes in the physical data

    access methods. With this DBA can make changes in application programs

    or adhoc requests.

    9. Logical data independence: Logical changes in tables and views do not

    require changes in the application programs or in the format of adhoc

    requests. With this databases can change and grow without changes in

    applications.

    10. Integrity independence: Since constraints are stored in system catalog,

    they can be changed without changing application program. With this

    maintenance costs are reduced since only system catalog need to be

    changed.

    11. Distribution independence: Application programs and adhoc requests

    are not affected by changes in the distribution of physical data. With this

    system reliability will be improved since application programs will work

    even if the programs and dare are shifted.

  • 7/31/2019 JobMiller Doc

    27/115

    12. Non-Subversion rule: If the RDBMS has languages that access a record

    of a time it cannot be used to bypass integrity. With this data integrity is

    achieved since the system catalog is musts

    a. Code defined a relationally complete set of operations taking one or

    more relation as their operands. The operators are two groups: the

    traditional set of operators union, intersection, difference and

    Cartesian product and the special operators selection, projection,

    join and division.

    b. A fully relational DBMS has to support the above operations.

    The Oracle Environment

    ORACLE is modular system that consists of the ORACLE database and

    several functional programs. ORACLE tools had four kinds ofworks:

    Database management

    Data access and manipulations

    Programming

    Connectivity

    Database Management Tools

    This is usually (known as RDBMS by ORACLE) includes the core programs of

    Oracles database management system, the ORACLE database with its associated

    tables and views, which are stored in the Oracles data dictionary and a group of

    helpful activities. The data dictionary sores information related to every facet of

    database system. User names, user access rights, table storage information and

    auditing data for the disaster recovery are all stored in the data dictionary.

    Data Access and Manipulations

    All of Oracles data access and manipulation tools are firmly based on ANSIstandard SQL. In Oracle, the tools that a user will use to access and manipulate

    data, has well as to design or use applications. Each provides separate point of

    entry and unique speech to the Oracle system.

  • 7/31/2019 JobMiller Doc

    28/115

    SQL*PLUS allows direct access to database with SQL FORMS offer a user-friendly

    way to create and use forms. SQL*REPORT writer lets you to creates

    formatted output SQL*MENU provides a way for you to integrate your

    application menus.

    Oracle Supports Applications Development

    SQL*FORMS is an excellent user-friendly tool for quickly creating forms. User can

    start with extremely simple default forms or use the full screen painting

    function to create detailed screens foe accessing and updating multiple

    tables and for controlling and editing the data as is entered. In SQL

    FORMS, ORACLE provides unique control devices called TRIGGERS to

    influence user action on a field before, during and after date input.

    Those triggers can execute SQL commands, native SQL FORMScommands, or external procedural language sub routines from with a

    form.

    These forms are an advanced fourth-generation tool that wills adopt to your

    requirements extremely well. With SQL*MENU you can link all of the

    forms. Programs and queries are easily maintained with the secured

    menu structures. Oracle Uses The SQL Command Set

    With SQL * Menu you can like all forms, programs and queries in easily

    maintained secure structures.

    Oracle provides a SQL command set that is close to the ANSI standard ORACLE

    has added extensive report-formatting commands to extend the direct

    SQL language our capabilities and to delay the needs for alternative

    report formatting techniques. Statistical, Arithmetic string date/time

    functions are also included.

    ORACLE has with limitation. The Single-user does not include all of the tools

    available on the hardware platforms. Also. ORACLE is relatively

    expensive and more complex than more single user, PC-basis database

    managers. ORACLE delivers a comprehensive package that allows for

    unlimited growth.

  • 7/31/2019 JobMiller Doc

    29/115

    Oracle Gives You Security and Control ORACLE has several features that ensure

    the integrity of user database. I f an interruption occurs in processing,

    a rollback can rest the database to a point before the disaster. If a

    restore is necessary, ORACLE has a roll forward command for creating

    a database to its most recent save point. Oracle provides users with

    several functions for serving data. Grant and Revoke commands limited

    access to information down to the row and column levels. Views are

    valuable future for limiting access to the primary tables in the

    database.

    Oracle Performs Completive

    ORACLE has been constantly improved to perform competitively on the largest

    database because RDBMS has been hampered by a repetition for slow access time.ORACLE had to prove itself continuously and so the unique feature of clustering

    techniques for storing data on the disk or another performance gained. Additional

    functions help control complex database installations. The active data dictionary,

    which automatically update and logs modification to the database provide

    documentation data off loading form the modification process. Finally, ORACLE

    stores the DBMS kernel in extended memory, so more main memory is available

    for the application.

    Programming Tools

    One of the most important categories of tools available from oracle is its series of

    programming interface. This precompiled software provides a convenient and easy

    to use method of incorporating ORACLE SQL statement in high level programming

    language. Current oracle can interface with COBOL and C.

    Connective Tools

    Connectivity tools make oracle available to network and to other database

    managers. SQL * Star is group of products including SQL *NET and SQL * connect

    that allows user to use stores on remote machines. A micro based version of

    oracle called network station oracle, user may SQL * NET, instead of oracle

    RDBMS. SQL * Connection does the translating interactively without any

    modification or translations.

  • 7/31/2019 JobMiller Doc

    30/115

    Fourth Generation Languages

    The fourth generation languages were created to overcome the problem of third

    generation languages, and these 4GLs are generally referred to as high

    productivity languages.Objectives Of Fourth Generation Languages

    To speed up the application building process

    To make the application building process

    To minimize the debugging problems

    To generate bug free code from high level of expressions of

    requirements.

    To make languages easy to use and understand

    All these make the end users solve their own problems and pit computers to work.

    Characteristics of Fourth Generation Languages

    Simple Query facilities/ language

    Complex query and updating language

    Report generators

    Graphic languages

    Decision support languages

    Application generations

    Specification language

    Very high level language

    Parameterized application language

    Application language

    Properties of Fourth Generation Languages

    Easy to use

    Employees a database management system directly

  • 7/31/2019 JobMiller Doc

    31/115

    Requires significantly fewer instructions than third generation

    language

    Intelligent default assumptions make abort what the use wants

    possible

    Easy to understand and maintain

    Enforces and encourages structured code

    Subset can learnt not by non-technical users in a short period

  • 7/31/2019 JobMiller Doc

    32/115

    Client

    Server

  • 7/31/2019 JobMiller Doc

    33/115

    Client Server

    Over view:

    With the varied topic in existence in the fields of computers, Client Server is one,

    which has generated more heat than light, and also more hype than reality. This

    technology has acquired a certain critical mass attention with its dedication

    conferences and magazines. Major computer vendors such as IBM and DEC, have

    declared that Client Servers is their main future market. A survey of DBMS

    magazine reveled that 76% of its readers were actively looking at the client server

    solution. The growth in the client server development tools from $200 million in

    1992 to more than $1.2 billion in 1996.

    Client server implementations are complex but the underlying concept is simple

    and powerful. A client is an application running with local resources but able to

    request the database and relate the services from separate remote server. The

    software mediating this client server interaction is often referred to as

    MIDDLEWARE.

    The typical client either a PC or a Work Station connected through a network to a

    more powerful PC, Workstation, Midrange or Main Frames server usually capable

    of handling request from more than one client. However, with some configuration

    server may also act as client. A server may need to access other server in order to

    process the original client request.

    The key client server idea is that client as user is essentially insulated from the

    physical location and formats of the data needs for their application. With the

    proper middleware, a client input from or report can transparently access and

    manipulate both local database on the client machine and remote databases on

    one or more servers. An added bonus is the client server opens the door to multi-

    vendor database access indulging heterogeneous table joins.

  • 7/31/2019 JobMiller Doc

    34/115

    What is a Client Server

    Two prominent systems in existence are client server and file server systems. It is

    essential to distinguish between client servers and file server systems. Both

    provide shared network access to data but the comparison dens there! The file

    server simply provides a remote disk drive that can be accessed by LAN

    applications on a file by file basis. The client server offers full relational database

    services such as SQL-Access, Record modifying, Insert, Delete with full relational

    integrity backup/ restore performance for high volume of transactions, etc. the

    client server middleware provides a flexible interface between client and server,

    who does what, when and to whom.

    Why Client Server

    Client server has evolved to solve a problem that has been around since the

    earliest days of computing: how best to distribute your computing, data

    generation and data storage resources in order to obtain efficient, cost effective

    departmental an enterprise wide data processing. During mainframe era choices

    were quite limited. A central machine housed both the CPU and DATA (cards,

    tapes, drums and later disks). Access to these resources was initially confined to

    batched runs that produced departmental reports at the appropriate intervals. A

    strong central information service department ruled the corporation. The role of

    the rest of the corporation limited to requesting new or more frequent reports and

    to provide hand written forms from which the central data banks were created and

    updated. The earliest client server solutions therefore could best be characterized

    as SLAVE-MASTER.

    Time-sharing changed the picture. Remote terminal could view and even change

    the central data, subject to access permissions. And, as the central data

    banks evolved in to sophisticated relational database with non-

    programmer query languages, online users could formulate adhoc queries

    and produce local reports with out adding to the MIS applications software

    backlog. However remote access was through dumb terminals, and the

    client server remained subordinate to the Slave\Master.

  • 7/31/2019 JobMiller Doc

    35/115

    Front end or User Interface Design

    The entire user interface is planned to be developed in browser specific

    environment with a touch of Intranet-Based Architecture for achieving the

    Distributed Concept.

    The browser specific components are designed by using the HTML standards, and

    the dynamism of the designed by concentrating on the constructs of the Java

    Server Pages.

    Communication or Database Connectivity Tier

    The Communication architecture is designed by concentrating on the Standards of

    Servlets and Enterprise Java Beans. The database connectivity is established by

    using the Java Data Base Connectivity.

    The standards of three-tire architecture are given major concentration to keep the

    standards of higher cohesion and limited coupling for effectiveness of the

    operations.

    Features of The Language Used

    In my project, I have chosenJava language for developing the code.

    About Java

    Initially the language was called as oak but it was renamed as Java in 1995.

    The primary motivation of this language was the need for a platform-independent

    (i.e., architecture neutral) language that could be used to create software to be

    embedded in various consumer electronic devices.

    Java is a programmers language.

    Java is cohesive and consistent.

  • 7/31/2019 JobMiller Doc

    36/115

    Except for those constraints imposed by the Internet

    environment, Java gives the programmer, full control.

    Finally, Java is to Internet programming where C was to system programming.

    Importance of Java to the Internet

    Java has had a profound effect on the Internet. This is because; Java expands the

    Universe of objects that can move about freely in Cyberspace. In a network, two

    categories of objects are transmitted between the Server and the Personal

    computer. They are: Passive information and Dynamic active programs. The

    Dynamic, Self-executing programs cause serious problems in the areas of Security

    and probability. But, Java addresses those concerns and by doing so, has opened

    the door to an exciting new form of program called the Applet.

    Java can be used to create two types of programs

    Applications and Applets: An application is a program that runs on our

    Computer under the operating system of that computer. It is more or less like one

    creating using C or C++. Javas ability to create Applets makes it important. An

    Applet is an application designed to be transmitted over the Internet and executed

    by a Java compatible web browser. An applet is actually a tiny Java program,

    dynamically downloaded across the network, just like an image. But the difference

    is, it is an intelligent program, not just a media file. It can react to the user input

    and dynamically change.

    Features Of Java

    Security

    Every time you that you download a normal program, you are risking a viral

    infection. Prior to Java, most users did not download executable programs

    frequently, and those who did scanned them for viruses prior to execution. Most

    users still worried about the possibility of infecting their systems with a virus. In

    addition, another type of malicious program exists that must be guarded against.

    This type of program can gather private information, such as credit card numbers,

    bank account balances, and passwords. Java answers both these concerns by

    providing a firewall between a network application and your computer.

  • 7/31/2019 JobMiller Doc

    37/115

    When you use a Java-compatible Web browser, you can safely download Java

    applets without fear of virus infection or malicious intent.

    Portability

    For programs to be dynamically downloaded to all the various types of platforms

    connected to the Internet, some means of generating portable executable code is

    needed .As you will see, the same mechanism that helps ensure security also

    helps create portability. Indeed, Javas solution to these two problems is both

    elegant and efficient.

    The Byte code

    The key that allows the Java to solve the security and portability problems is that

    the output of Java compiler is Byte code. Byte code is a highly optimized set of

    instructions designed to be executed by the Java run-time system, which is called

    the Java Virtual Machine (JVM). That is, in its standard form, the JVM is an

    interpreter for byte code.

    Translating a Java program into byte code helps makes it much easier to run a

    program in a wide variety of environments. The reason is, once the run-time

    package exists for a given system, any Java program can run on it.

    Although Java was designed for interpretation, there is technically nothing about

    Java that prevents on-the-fly compilation of byte code into native code. Sun has

    just completed its Just In Time (JIT) compiler for byte code. When the JIT

    compiler is a part of JVM, it compiles byte code into executable code in real time,

    on a piece-by-piece, demand basis. It is not possible to compile an entire Java

    program into executable code all at once, because Java performs various run-time

    checks that can be done only at run time. The JIT compiles code, as it is needed,

    during execution.

    Java, Virtual Machine (JVM)

    Beyond the language, there is the Java virtual machine. The Java virtual machine

    is an important element of the Java technology. The virtual machine can be

    embedded within a web browser or an operating system. Once a piece of Java

  • 7/31/2019 JobMiller Doc

    38/115

    code is loaded onto a machine, it is verified. As part of the loading process, a class

    loader is invoked and does byte code verification makes sure that the code thats

    has been generated by the compiler will not corrupt the machine that its loaded

    on. Byte code verification takes place at the end of the compilation process to

    make sure that is all accurate and correct. So byte code verification is integral to

    the compiling and executing of Java code.

    Overall Description

    Picture showing the development process of JAVA Program

    Java programming uses to produce byte codes and executes them. The first box

    indicates that the Java source code is located in a. Java file that is processed with

    a Java compiler called javac. The Java compiler produces a file called a. class file,

    which contains the byte code. The. Class file is then loaded across the network or

    loaded locally on your machine into the execution environment is the Java virtual

    machine, which interprets and executes the byte code.

    Java Architecture

    Java architecture provides a portable, robust, high performing environment for

    development. Java provides portability by compiling the byte codes for the Java

    Virtual Machine, which is then interpreted on each platform by the run-time

    environment. Java is a dynamic system, able to load code when needed from a

    machine in the same room or across the planet.

    Compilation of code

    When you compile the code, the Java compiler creates machine code (called byte

    code) for a hypothetical machine called Java Virtual Machine (JVM). The JVM is

    supposed to execute the byte code. The JVM is created for overcoming the issue of

    Java Source Java bytecode JavaVM

    Java .Class

  • 7/31/2019 JobMiller Doc

    39/115

    portability. The code is written and compiled for one machine and interpreted on

    all machines. This machine is called Java Virtual Machine.

    Compiling and interpreting Java Source Code

    During run-time the Java interpreter tricks the bytecode file into thinking that it is

    running on a Java Virtual Machine. In reality this could be a Intel Pentium

    Windows 95 or SunSARC station running Solaris or Apple Macintosh running

    system and all could receive code from any computer through Internet and run the

    Applets.

    Simple

    Java was designed to be easy for the Professional programmer to learn and to use

    effectively. If you are an experienced C++ programmer, learning Java will be even

    easier. Because Java inherits the C/C++ syntax and many of the object orientedfeatures of C++. Most of the confusing concepts from C++ are either left out of

    Java or implemented in a cleaner, more approachable manner. In Java there are a

    small number of clearly defined ways to accomplish a given task.

    SourceCode....

    ..

    PC Compiler

    MacintoshCompiler

    SPARC

    Compiler

    Java

    Byte code

    (Platformindependent)

    JavaInterpreter(PC)

    JavaInterpreter(Macintosh)JavaInterpreter(Sparc)

  • 7/31/2019 JobMiller Doc

    40/115

    Object-Oriented

    Java was not designed to be source-code compatible with any other language. This

    allowed the Java team the freedom to design with a blank slate. One outcome of

    this was a clean usable, pragmatic approach to objects. The object model in Javais simple and easy to extend, while simple types, such as integers, are kept as

    high-performance non-objects.

    Robust

    The multi-platform environment of the Web places extraordinary demands on a

    program, because the program must execute reliably in a variety of systems. The

    ability to create robust programs was given a high priority in the design of Java.

    Java is strictly typed language; it checks your code at compile time and run time.

    Java virtually eliminates the problems of memory management and deallocation,

    which is completely automatic. In a well-written Java program, all run time errors

    can and should be managed by your program.

  • 7/31/2019 JobMiller Doc

    41/115

    Servlets, JSP, JDBC &HTML Technologies

  • 7/31/2019 JobMiller Doc

    42/115

    SERVLETS

    Introduction

    The Java web server is JavaSoft's own web Server. The Java web server is just a

    part of a larger framework, intended to provide you not just with a web server,

    but also with tools. To build customized network servers for any Internet or

    Intranet client/server system. Servlets are to a web server, how applets are to the

    browser.

    About Servlets

    Servlets provide a Java-based solution used to address the problems currently

    associated with doing server-side programming, including inextensible scripting

    solutions, platform-specific APIs, and incomplete interfaces.

    Servlets are objects that conform to a specific interface that can be plugged into a

    Java-based server. Servlets are to the server-side what applets are to the client-

    side - object byte codes that can be dynamically loaded off the net. They differ

    from applets in that they are faceless objects (without graphics or a GUI

    component). They serve as platform independent, dynamically loadable, plugable

    helper byte code objects on the server side that can be used to dynamically

    extend server-side functionality.

    For example, an HTTP Servlets can be used to generate dynamic HTML content.

    When you use Servlets to do dynamic content you get the following advantages:

    Theyre faster and cleaner than CGI scripts

    They use a standard API (the Servlets API)

    They provide all the advantages of Java (run on a variety of servers

    without needing to be rewritten).

    Attractiveness of Servlets

    There are many features of Servlets that make them easy and attractive to use.

    These include:

    Easily configured using the GUI-based Admin tool

    Can be loaded and invoked from a local disk or remotely across the

    network.

    http://var/www/apps/conversion/current/tmp/scratch_4/load.htmlhttp://var/www/apps/conversion/current/tmp/scratch_4/load.html
  • 7/31/2019 JobMiller Doc

    43/115

    Can be linked together, or chained, so that one Servlets can call

    another Servlets, or several Servlets in sequence.

    Can be called dynamically from within HTML pages, using server-side

    include tags.

    Are secure - even when downloading across the network, the

    Servlets security model and Servlets sandbox protect your system

    from unfriendly behavior.

    Advantages of the Servlet API

    One of the great advantages of the Servlet API is protocol independence. It

    assumes nothing about:

    The protocol being used to transmit on the net

    How it is loaded

    The server environment it will be running in

    These qualities are important, because it allows the Servlet API to be embedded in

    many different kinds of servers. There are other advantages to the Servlet API as

    well. These include:

    Its extensible - you can inherit all your functionality from the base

    classes made available to you.

    it's simple, small, and easy to use.

    Features of Servlets

    Servlets are persistent. Servlet are loaded only by the web server and can

    maintain services between requests.

    Servlets are fast. Since Servlets only need to be loaded once, they

    offer much better performance over their CGI counterparts.

    Servlets are platform independent.

    Servlets are extensible. Java is a robust, object-oriented

    programming language, which easily can be extended to suit your

    needs

    Servlets are secure.

    Servlets can be used with a variety of clients.

    http://var/www/apps/conversion/current/tmp/scratch_4/filter.htmlhttp://var/www/apps/conversion/current/tmp/scratch_4/ssinclude.htmlhttp://var/www/apps/conversion/current/tmp/scratch_4/ssinclude.htmlhttp://var/www/apps/conversion/current/tmp/scratch_4/api.htmlhttp://var/www/apps/conversion/current/tmp/scratch_4/filter.htmlhttp://var/www/apps/conversion/current/tmp/scratch_4/ssinclude.htmlhttp://var/www/apps/conversion/current/tmp/scratch_4/ssinclude.htmlhttp://var/www/apps/conversion/current/tmp/scratch_4/api.html
  • 7/31/2019 JobMiller Doc

    44/115

    Loading Servlets

    Servlets can be loaded from three places

    From a directory that is on the CLASSPATH. The CLASSPATH of the

    JavaWebServer includes service root/classes/ which is where the system classesreside.

    From the

  • 7/31/2019 JobMiller Doc

    45/115

    The Servlet can be invoked by using it in a filter chain.

    JAVASCRIPT

    JavaScript is a script-based programming language that was developed by

    Netscape Communication Corporation. JavaScript was originally called Live Script

    and renamed as JavaScript to indicate its relationship with Java. JavaScript

    supports the development of both client and server components of Web-based

    applications. On the client side, it can be used to write programs that are executed

    by a Web browser within the context of a Web page. On the server side, it can be

    used to write Web server programs that can process information submitted by a

    Web browser and then updates the browsers display accordingly

    Even though JavaScript supports both client and server Web programming, we

    prefer JavaScript at Client side programming since most of the browsers supports

    it. JavaScript is almost as easy to learn as HTML, and JavaScript statements can

    be included in HTML documents by enclosing the statements between a pair of

    scripting tags

    ...

    JavaScript statements

    Here are a few things we can do with JavaScript :

    Validate the contents of a form and make calculations.

    Add scrolling or changing messages to the Browsers status line.

    Animate images or rotate images that change when we move the

    mouse over them.

    Detect the browser in use and display different content for different

    browsers.

    Detect installed plug-ins and notify the user if a plug-in is required.

  • 7/31/2019 JobMiller Doc

    46/115

    We can do much more with JavaScript, including creating entire application.

    JavaScript Vs Java

    JavaScript and Java are entirely different languages. A few of the most glaring

    differences are:

    Java applets are generally displayed in a box within the web

    document; JavaScript can affect any part of the Web document

    itself.

    While JavaScript is best suited to simple applications and adding

    interactive features to Web pages; Java can be used for incredibly

    complex applications.

    There are many other differences but the important thing to remember is thatJavaScript and Java are separate languages. They are both useful for different

    things; in fact they can be used together to combine their advantages.

    ADVANTAGES

    JavaScript can be used for Sever-side and Client-side scripting.

    It is more flexible than VBScript.

    JavaScript is the default scripting languages at Client-side since all

    the browsers supports it.

    Hyper Text Markup Language

    Hypertext Markup Language (HTML), the languages of the World Wide Web

    (WWW), allows users to produces Web pages that include text, graphics and

    pointer to other Web pages (Hyperlinks).

    HTML is not a programming language but it is an application of ISO Standard

    8879, SGML (Standard Generalized Markup Language), but specialized to

    hypertext and adapted to the Web. The idea behind Hypertext is that instead of

    reading text in rigid linear structure, we can easily jump from one point to another

    point. We can navigate through the information based on our interest and

    preference. A markup language is simply a series of elements, each delimited with

    special characters that define how text or other items enclosed within the

  • 7/31/2019 JobMiller Doc

    47/115

    elements should be displayed. Hyperlinks are underlined or emphasized works that

    load to other documents or some portions of the same document.

    HTML can be used to display any type of document on the host computer, which

    can be geographically at a different location. It is a versatile language and can be

    used on any platform or desktop.

    HTML provides tags (special codes) to make the document look attractive. HTML

    tags are not case-sensitive. Using graphics, fonts, different sizes, color, etc., can

    enhance the presentation of the document. Anything that is not a tag is part of the

    document itself.

    Basic HTML Tags :

    Specifies comments

    . Creates hypertext links

    . Formats text as bold

    . Formats text in large font.

    Contains all tags and text in the HTML

    document

    ... Creates text

    Definition of a term

    ... Creates definition list

    Formats text with a particular font

    ... Encloses a fill-out form

    ... Defines a particular frame in a set of frames

    Creates headings of different levels

    ... Contains tags that specify information about a

    document

    ... Creates a horizontal rule

    Contains all other HTML tags

    ... Provides meta-information about a document

    Contains client-side or server-side script

    Creates a table

    Indicates table data in a table

    Designates a table row

    Creates a heading in a table

  • 7/31/2019 JobMiller Doc

    48/115

    ADVANTAGES

    A HTML document is small and hence easy to send over the net. It is

    small because it does not include formatted information.

    HTML is platform independent.

    HTML tags are not case-sensitive.

    Java Database Connectivity

    What Is JDBC?

    JDBC is a Java API for executing SQL statements. (As a point of interest, JDBC is a

    trademarked name and is not an acronym; nevertheless, JDBC is often thought of

    as standing for Java Database Connectivity. It consists of a set of classes and

    interfaces written in the Java programming language. JDBC provides a standard

    API for tool/database developers and makes it possible to write database

    applications using a pure Java API.

    Using JDBC, it is easy to send SQL statements to virtually any relational database.

    One can write a single program using the JDBC API, and the program will be able

    to send SQL statements to the appropriate database. The combinations of Java

    and JDBC lets a programmer write it once and run it anywhere.

    What Does JDBC Do?

    Simply put, JDBC makes it possible to do three things:

    Establish a connection with a database

    Send SQL statements

    Process the results.

    JDBC versus ODBC and other APIs

    At this point, Microsoft's ODBC (Open Database Connectivity) API is that probably

    the most widely used programming interface for accessing relational databases. It

    offers the ability to connect to almost all databases on almost all platforms.

    So why not just use ODBC from Java? The answer is that you can use ODBC from

    Java, but this is best done with the help of JDBC in the form of the JDBC-ODBC

    Bridge, which we will cover shortly. The question now becomes "Why do you need

    JDBC?" There are several answers to this question:

  • 7/31/2019 JobMiller Doc

    49/115

    1. ODBC is not appropriate for direct use from Java because it uses a C

    interface. Calls from Java to native C code have a number of drawbacks in

    the security, implementation, robustness, and automatic portability of

    applications.

    2. A literal translation of the ODBC C API into a Java API would not be

    desirable. For example, Java has no pointers, and ODBC makes copious use

    of them, including the notoriously error-prone generic pointer "void *". You

    can think of JDBC as ODBC translated into an object-oriented interface that

    is natural for Java programmers.

    3. ODBC is hard to learn. It mixes simple and advanced features together, and

    it has complex options even for simple queries. JDBC, on the other hand,

    was designed to keep simple things simple while allowing more advanced

    capabilities where required.

    4. A Java API like JDBC is needed in order to enable a "pure Java" solution.

    When ODBC is used, the ODBC driver manager and drivers must be

    manually installed on every client machine. When the JDBC driver is written

    completely in Java, however, JDBC code is automatically installable,

    portable, and secure on all Java platforms from network computers to

    mainframes.

    Two-tier and Three-tier Models

    The JDBC API supports both two-tier and three-tier models for database

    access.

    In the two-tier model, a Java applet or application talks directly to the database.

    This requires a JDBC driver that can communicate with the particular database

    management system being accessed. A user's SQL statements are delivered to the

    database, and the results of those statements are sent back to the user. The

    database may be located on another machine to which the user is connected via a

    network. This is referred to as a client/server configuration, with the user's

    machine as the client, and the machine housing the database as the server. The

    network can be an Intranet, which, for example, connects employees within a

    corporation, or it can be the Internet.

    JAVAApplication

    JDBC

    DBMS

    Client machine

    DBMS-proprietary protocol

    Databaseserver

  • 7/31/2019 JobMiller Doc

    50/115

    In the three-tier model, commands are sent to a "middle tier" of services, which

    then send SQL statements to the database. The database processes the SQL

    statements and sends the results back to the middle tier, which then sends them

    to the user. MIS directors find the three-tier model very attractive because the

    middle tier makes it possible to maintain control over access and the kinds of

    updates that can be made to corporate data. Another advantage is that when

    there is a middle tier, the user can employ an easy-to-use higher-level API which

    is translated by the middle tier into the appropriate low-level calls. Finally, in

    many cases the three-tier architecture can provide performance advantages.

    Until now the middle tier has typically been written in languages such as C or

    C++, which offer fast performance. However, with the introduction of

    optimizing compilers that translate Java byte code into efficient machine-

    specific code, it is becoming practical to implement the middle tier in Java. This

    is a big plus, making it possible to take advantage of Java's robustness,

    multithreading, and security features. JDBC is important to allow database

    access from a Java middle tier.

    JDBC Driver Types

    The JDBC drivers that we are aware of at this time fit into one of four

    categories:

    JDBC-ODBC bridge plus ODBC driver

    Native-API partly-Java driver

    JDBC-Net pure Java driver

    Java applet orHtml browser

    ApplicationServer (Java)

    JDBC

    DBMS

    Client machine (GUI)

    HTTP, RMI, or CORBA calls

    Server machine (business

    Logic)DBMS-proprietary protocol

    Database server

  • 7/31/2019 JobMiller Doc

    51/115

    Native-protocol pure Java driver

    JDBC-ODBC Bridge

    If possible, use a Pure Java JDBC driver instead of the Bridge and an ODBC

    driver. This completely eliminates the client configuration required by ODBC. It

    also eliminates the potential that the Java VM could be corrupted by an error in

    the native code brought in by the Bridge (that is, the Bridge native library, the

    ODBC driver manager library, the ODBC driver library, and the database client

    library).

    What Is the JDBC- ODBC Bridge?

    The JDBC-ODBC Bridge is a JDBC driver, which implements JDBC operations by

    translating them into ODBC operations. To ODBC it appears as a normal

    application program. The Bridge implements JDBC for any database for which

    an ODBC driver is available. The Bridge is implemented as the

    sun.jdbc.odbc Java package and contains a native library used to access ODBC.

    The Bridge is a joint development of Intersolv and JavaSoft.

    Java Server Pages (JSP)

    Java server Pages is a simple, yet powerful technology for creating and

    maintaining dynamic-content web pages. Based on the Java programming

    language, Java Server Pages offers proven portability, open standards, and a

    mature re-usable component model .The Java Server Pages architecture

    enables the separation of content generation from content presentation. This

    separation not eases maintenance headaches, it also allows web team

    members to focus on their areas of expertise. Now, web page designer can

    concentrate on layout, and web application designers on programming, with

    minimal concern about impacting each others work.

  • 7/31/2019 JobMiller Doc

    52/115

    Features of JSP

    Portability:

    Java Server Pages files can be run on any web server or web-enabled

    application server that provides support for them. Dubbed the JSP engine, this

    support involves recognition, translation, and management of the Java Server

    Page lifecycle and its interaction components.

    Components

    It was mentioned earlier that the Java Server Pages architecture can include

    reusable Java components. The architecture also allows for the embedding of a

    scripting language directly into the Java Server Pages file. The components current

    supported include Java Beans, and Servlets.

    Processing

    A Java Server Pages file is essentially an HTML document with JSP scripting or

    tags. The Java Server Pages file has a JSP extension to the server as a Java

    Server Pages file. Before the page is served, the Java Server Pages syntax is

    parsed and processed into a Servlet on the server side. The Servlet that is

    generated outputs real content in straight HTML for responding to the client.

    Access Models:

    A Java Server Pages file may be accessed in at least two different ways. A clients

    request comes directly into a Java Server Page. In this scenario, suppose the page

    accesses reusable Java Bean components that perform particular well-defined

    computations like accessing a database. The result of the Beans computations,

    called result sets is stored within the Bean as properties. The page uses such

    Beans to generate dynamic content and present it back to the client.

    In both of the above cases, the page could also contain any valid Java code. Java

    Server Pages architecture encourages separation of content from presentation.

  • 7/31/2019 JobMiller Doc

    53/115

    Steps in the execution of a JSP Application:

    1. The client sends a request to the web server for a JSP file by giving the

    name of the JSP file within the form tag of a HTML page.

    2. This request is transferred to the JavaWebServer. At the server side

    JavaWebServer receives the request and if it is a request for a jsp file

    server gives this request to the JSP engine.

    3. JSP engine is program which can understands the tags of the jsp and then

    it converts those tags into a Servlet program and it is stored at the server

    side. This Servlet is loaded in the memory and then it is executed and the

    result is given back to the JavaWebServer and then it is transferred back to

    the result is given back to the JavaWebServer and then it is transferred

    back to the client.

    JDBC connectivity

    The JDBC provides database-independent connectivity between the J2EE platform

    and a wide range of tabular data sources. JDBC technology allows an Application

    Component Provider to:

    Perform connection and authentication to a database server

    Manager transactions

    Move SQL statements to a database engine for preprocessing and

    execution

    Execute stored procedures

    Inspect and modify the results from Select statements.

  • 7/31/2019 JobMiller Doc

    54/115

    Purpose

    The generated application is the first version upon the system. The overall system

    is planned to be in the formal of distributed architecture with homogeneous

    database platform. The major objective of the overall system is to keep the

    following components intact.

    System consistencySystem integrity Overall security of data Data

    reliability and Accuracy User friendly name both at administration and user

    levels Considering the fact of generality and clarity To cross check that the

    system overcomes the hurdles of the version specific standards

    Database Tables:

    Application details: This table holds the application details of jobs applied by

    job seekers

    Contact information: Holds the contact information of registered users

    Educational details: Holds the Educational information of registered users

    Interview details: Holds the details of posted jobs by employers

    Login: Holds Login details like user id , password and authentication information

    of registered users.

    Personal information: Holds the personal information like date of birth of

    registered users

    Professional information: Holds the professional information like experience,

    functional area etc of registered users

    Uploads: This table is used to store the details of files uploaded by registered

    users.

    Walk in details: This table holds the details of walk ins posted by the recruiters ,

    other job seekers.

  • 7/31/2019 JobMiller Doc

    55/115

    To create the application the following tables are used

    The project has been identified to contain ten data base tables which a re

    practically as follows:

    Applicationdetails

    Field Name Data Type Size

    APPLICATION ID VARCHAR 20

    USER ID VARCHAR 20

    JOB ID VARCHAR 20

    APPLICATION DATE DATESTATUS VARCHAR 20

    Contactinformation

    Field Name Data Type Size

    CONTACT ID VARCHAR 20

    USER ID VARCHAR 20FIRST NAME VARCHAR 100

    LAST NAME VARCHAR 100

    EMAIL VARCHAR 200

    CONTACT NUMBER VARCHAR 100

    CURRENT LOCATION VARCHAR 100

    ADDRESS VARCHAR 200

    Educationaldetails

    Field Name Data Type Size

  • 7/31/2019 JobMiller Doc

    56/115

    EDUCATIONAL ID VARCHAR 20

    USER ID VARCHAR 20

    BASIC QUALIFICATION VARCHAR 200

    PERCENTAGE BQ VARCHAR 200

    YEAR OF PASS BQ VARCHAR 200

    UNIVERSITY BQ VARCHAR 200

    POSTGRADUATION VARCHAR 200

    PERCENTAGE VARCHAR 200

    YEAR OF PASS VARCHAR 200

    UNIVERSITY VARCHAR 200

    Employregistration

    Field Name Data Type Size

    USER ID VARCHAR 200

    PASSWORD VARCHAR 200

    EMPLOYEE NAME VARCHAR 200

    EMP NO VARCHAR 200

    COMPANY NAME VARCHAR 200

    CONTACT NO VARCHAR 200

    EMAIL ID VARCHAR 200

    DATE OF REGISTRATION DATE

    COST VARCHAR 200

    Interviewdetails

    Field Name Data Type Size

    INTERVIEWID VARCHAR 20

    JOB TITLE VARCHAR 200

    JOB DESCRIPTION TINYTEXT

    ELIGIBILITY VARCHAR 255LOCATION VARCHAR 255

    APPLYBEFORE DATE

    COMPANY NAME VARCHAR 200

    COMPANY PROFILE TEXT

    EMAIL TO APPLY VARCHAR 200

    WEBSITE VARCHAR 200

    EXECUTIVE NAME VARCHAR 200

  • 7/31/2019 JobMiller Doc

    57/115

    ADDRESS TINYTEXT

    TELEPHONE INT 100

    FAX VARCHAR 200

    DATE OF POSTING DATE

    FUNCTIONAL AREA VARCHAR 100

    MIN EXPERIENCE INT 10

    MAX EXPERIENCE INT 10

    Login:

    Field Name Data Type Size

    USER ID VARCHAR 20

    PASSWORD VARCHAR 20

    AUTH INT 5

    Personalinformation:

    Field Name Data Type Size

    PERSONAL ID VARCHAR 20

    USER ID VARCHAR 20

    DATE OF BIRTH DATE

    GENDER VARCHAR 100

    Professionalinformation:

    Field Name Data Type Size

    PROFESSIONAL ID VARCHAR 20

    USER ID VARCHAR 20

    TOTAL EXPERIENCE DOUBLE

    ANNUAL SALARY FLOAT

    FUNCTIONAL AREA VARCHAR 200

  • 7/31/2019 JobMiller Doc

    58/115

    COMPANY NAME VARCHAR 200

    KEY SKILLS VARCHAR 200

    RESUME TITLE VARCHAR 200

    RESUME PATH VARCHAR 100

    TEXT RESUME TEXT

    Uploads:

    Field Name Data Type Size

    UPLOAD ID VARCHAR 20

    USER ID VARCHAR 20

    TITLE VARCHAR 200

    DATE DATE

    CATEGORY VARCHAR 255

    DESCRIPTION VARCHAR 255

    CONTRIBUTOR VARCHAR 255

    FILE PATH VARCHAR 100

    Walkindetails:

    Field Name Data Type Size

    WALKIN ID VARCHAR 20

    JOB TITLE VARCHAR 200

    JOB DESCRIPTIION TINYTEXT

    ELIGIBILITY VARCHAR 200

    LOCATION VARCHAR 200

    WALKINDATE DATE

    WALKIN TIME VARCHAR 200COMPANY NAME VARCHAR 200

    COMPANY DESCRIPTION TEXT

    ADDRESS VARCHAR 254

    WEBSITE VARCHAR 254

    EMAIL TO REGISTER VARCHAR 254

    FUNCTIONAL AREA VARCHAR 100

  • 7/31/2019 JobMiller Doc

    59/115

    Chapter5

  • 7/31/2019 JobMiller Doc

    60/115

    Design

    Document

  • 7/31/2019 JobMiller Doc

    61/115

    Design Document

    The entire system is projected with a physical diagram which

    specifics the actual storage parameters that are physically necessary

    for any database to be stored on to the disk. The overall systems

    existential idea is derived from this diagram.

    The relation upon the system is structure through a conceptual ER-

    Diagram, which not only specifics the existential entities but also the

    standard relations through which the system exists and the

    cardinalities that are necessary for the system state to continue.

    The content level DFD is provided to have an idea of the functional

    inputs and outputs that are achieved through the system. The system

    depicts the input and out put standards at the high level of the

    systems existence.

    Data Flow Diagrams

    This Diagram server two purpose.

    Provides an indication of how date is transformed as it

    moves through the system.

    Disputes the functions and sub functions that transforms the

    dataflow.

    The Data flow diagram provides additional information that is used

    during the analysis of the information domain, and server as a basis

    for the modeling of functions.

    The description of each function presented in the DFD is contained is

    a process specifications called as PSPEC

  • 7/31/2019 JobMiller Doc

    62/115

    ER-Diagrams

    The entity Relationship Diagram (ERD) depicts the relationship

    between the data objects. The ERD is the notation that is used to

    conduct the date modeling activity the attributes of each data objectnoted is the ERD can be described resign a data object descriptions.

    The set of primary components that are identified by the ERD are

    Data object Relationships

    Attributes Various types of indicators.

    The primary purpose of the ERD is to represent data objects and

    their relationships.

    Unified Modeling Language Diagrams

    The unified modeling language allows the software engineer to

    express an analysis model using the modeling notation that is

    governed by a set of syntactic semantic and pragmatic rules.

    A UML system is represented using five different views that describe

    the system from distinctly different perspective. Each view is defined

    by a set of diagram, which is as follows.

    User Model View

    i. This view represents the system from the users perspective.

    ii. The analysis representation describes a usage scenario from

    the end-users perspective.

    Structural model view

    In this model the data and functionality are arrived from

    inside the system.

    This model view models the static structures.

    Behavioral Model View

  • 7/31/2019 JobMiller Doc

    63/115

    It represents the dynamic of behavioral as parts of the

    system, depicting the interactions of collection between

    various structural elements described in the user model and

    structural model view.

    Implementation Model View

    In this the structural and behavioral as parts of the

    system are represented as they are to be built.

    Environmental Model View

    In this the structural and behavioral aspects of the environment in which the

    system is to be implemented are represented.

  • 7/31/2019 JobMiller Doc

    64/115

    UML Diagrams

    C h a p t e r 6

  • 7/31/2019 JobMiller Doc

    65/115

  • 7/31/2019 JobMiller Doc

    66/115

    C o d i n g

  • 7/31/2019 JobMiller Doc

    67/115

    Program Design Language

    The program design language is also called as structured

    English or pseudopodia. PDL is a generic reference for a

    design language PDL looks like a modern language. The

    difference between PDL and real programming language

    lies in the narrative text embedded directly within PDL

    statements.

    The characteristics required by a design language are:

    A fixed system of keywords that provide for all

    structured constructs date declaration and modularity

    characteristics.

    A free syntax of natural language that describes

    processing features.

    Date declaration facilities that should include both simple

    and complex data structures.

    Subprogram definition and calling techniques that

    support various nodes of interface description.

    PDL syntax should inc lude constructs for subprogram def in i t ion,

    inter face descr ipt ion date dec larat ion techniques for s t ructur ing,

    condit ions constructs, repet it ion constructs and I/O constructs.

    PDL can be extended to include keywords for multitasking and/or concurrent

    processing interrupt handling, interposes synchronization the application design

    for which PDL is to be used should dictate the final form for the design language.

  • 7/31/2019 JobMiller Doc

    68/115

    Chapter

    7

  • 7/31/2019 JobMiller Doc

    69/115

    T e s t i n g &

    D e b u g g i ng S t r a t e g i e

    s

  • 7/31/2019 JobMiller Doc

    70/115

    Testing

    Testing is the process of detecting errors. Testing performs a very critical role for

    quality assurance and for ensuring the reliability of software. The results of testing

    are used later on during maintenance also.

    Psychology of Testing

    The aim of testing is often to demonstrate that a program works by showing that

    it has no errors. The basic purpose of testing phase is to detect the errors that

    may be present in the program. Hence one should not start testing with the intent

    of showing that a program works, but the intent should be to show that a program

    doesnt work. Testing is the process of executing a program with the intent of

    finding errors.

    Testing Objectives

    The main objective of testing is to uncover a host of errors, systematically and

    with minimum effort and time. Stating formally, we can say,

    Testing is a process of executing a program with the intent of finding an

    error.

    A successful test is one that uncovers an as yet undiscovered error.

    A good test case is one that has a high probability of finding error, if it

    exists.

    The tests are inadequate to detect possibly present errors.

    The software more or less confirms to the quality and reliable

    standards.

    Levels of Testing

    In order to uncover the errors present in different phases we have the concept

    of levels of testing. The basic levels of testing are as shown below

    Client Needs

    AcceptanceTesting

    System Testing

    Integration Testing

    Unit Testing

  • 7/31/2019 JobMiller Doc

    71/115

    Requirements

    Design

    Code

    System Testing

    The philosophy behind testing is to find errors. Test cases are devised with this in

    mind. A strategy employed for system testing is code testing.

    Code Testing:

    This strategy examines the logic of the program. To follow this method we

    developed some test data that resulted in executing every instruction in the

    program and module i.e. every path is tested. Systems are not designed as entire

    nor are they tested as single systems. To ensure that the coding is perfect two

    types of testing is performed or for that matter is performed or that matter is

    performed or for that matter is performed on all systems.

  • 7/31/2019 JobMiller Doc

    72/115

    Types Of Testing

    Unit Testing

    Link Testing

    Unit Testing

    Unit testing focuses verification effort on the smallest unit of software i.e. the

    module. Using the detailed design and the process specifications testing is done to

    uncover errors within the boundary of the module. All modules must be successful

    in the unit test before the start of the integration testing begins.

    In this project each service can be thought of a module. There are so many

    modules like Login, HWAdmin, MasterAdmin, Normal User, and PManager. Giving

    different sets of inputs has tested each module. When developing the module as

    well as finishing the development so that each module works without any error.

    The inputs are validated when accepting from the user.

    In this application developer tests the programs up as system. Software units in a

    system are the modules and routines that are assembled and integrated to form a

    specific function. Unit testing is first done on modules, independent of one another

    to locate errors. This enables to detect errors. Through this errors resulting from

    interaction between modules initially avoided.

    Link Testing

    Link testing does not test software but rather the integration of each module in

    system. The primary concern is the compatibility of each module. The Programmer

    tests where modules are designed with different parameters, length, type etc.

    Integration Testing

    After the unit testing we have to perform integration testing. The goal here is to

    see if modules can be integrated proprerly, the emphasis being on testing

    interfaces between modules. This testing activity can be considered as testing the

    design and hence the emphasis on testing module interactions.

  • 7/31/2019 JobMiller Doc

    73/115

    In this project integrating all the modules forms the main system. When

    integrating all the modules I have checked whether the integration effects working

    of any of the services by giving different combinations of inputs with which the two

    services run perfectly before Integration.

    System Testing

    Here the entire software system is tested. The reference document for this process

    is the requirements document, and the goal os to see if software meets its

    requirements.

    Here entire ATM has been tested against requirements of project and it is

    checked whether all requirements of project have been satisfied or not.

    Acceptance Testing

    Acceptance Test is performed with realistic data of the client to demonstrate that

    the software is working satisfactorily. Testing here is focused on external behavior

    of the system; the internal logic of program is not emphasized.

    In this project Network Management Of Database System I have collected some

    data and tested whether project is working correctly or not.

    Test cases should be selected so that the largest number of attributes of an

    equivalence class is exercised at once. The testing phase is an important part of

    software development. It is the process of finding errors and missing operations

    and also a complete verification to determine whether the objectives are met and

    the user requirements are satisfied.

    White Box Testing

    This is a unit testing method where a unit will be taken at a time and tested

    thoroughly at a statement level to find the maximum possible errors. I tested step

    wise every piece of code, taking care that every statement in the code is executedat least once. The white box testing is also called Glass Box Testing.

    I have generated a list of test cases, sample data. which is used to check all

    possible combinations of execution paths through the code at every module level.

  • 7/31/2019 JobMiller Doc

    74/115

    Black Box Testing

    This testing method considers a module as a single unit and checks the unit at

    interface and communication with other modules rather getting into details at

    statement level. Here the module will be treated as a block box that will take some

    input and generate output. Output for a given set of input combinations are

    forwarded to other modules.

    Criteria Satisfied by Test Cases

    1) Test cases that reduced by a count that is

    greater than one, the number of additional test cases that

    much be designed to achieve reasonable testing.

    2) Test cases that tell us something about the

    presence or absence of classes of errors, rather than an

    error associated only with the specific test at hand.

  • 7/31/2019 JobMiller Doc

    75/115

    Chapter

    8

  • 7/31/2019 JobMiller Doc

    76/115

    U s e r M a n u a l

  • 7/31/2019 JobMiller Doc

    77/115

    SCREENS

  • 7/31/2019 JobMiller Doc

    78/115

  • 7/31/2019 JobMiller Doc

    79/115

  • 7/31/2019 JobMiller Doc

    80/115

  • 7/31/2019 JobMiller Doc

    81/115

  • 7/31/2019 JobMiller Doc

    82/115

  • 7/31/2019 JobMiller Doc

    83/115

  • 7/31/2019 JobMiller Doc

    84/115

  • 7/31/2019 JobMiller Doc

    85/115

  • 7/31/2019 JobMiller Doc

    86/115

  • 7/31/2019 JobMiller Doc

    87/115

  • 7/31/2019 JobMiller Doc

    88/115

  • 7/31/2019 JobMiller Doc

    89/115

  • 7/31/2019 JobMiller Doc

    90/115

  • 7/31/2019 JobMiller Doc

    91/115

  • 7/31/2019 JobMiller Doc

    92/115

  • 7/31/2019 JobMiller Doc

    93/115

  • 7/31/2019 JobMiller Doc

    94/115

  • 7/31/2019 JobMiller Doc

    95/115

  • 7/31/2019 JobMiller Doc

    96/115

  • 7/31/2019 JobMiller Doc

    97/115

  • 7/31/2019 JobMiller Doc

    98/115

  • 7/31/2019 JobMiller Doc

    99/115

  • 7/31/2019 JobMiller Doc

    100/115

  • 7/31/2019 JobMiller